> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apowerb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Development setup

> Running the core locally with tests and linting.

```bash theme={null}
git clone https://github.com/apowerb/apowerb.git
cd apowerb

pip install uv
uv venv && source .venv/bin/activate
uv sync --group dev
cp .env.example .env
```

Fill in at least the `DB_*` variables and `ENCRYPT_KEY`, then:

```bash theme={null}
uv run uvicorn apowerb.main:app --reload
```

## Tests and linting

```bash theme={null}
pytest

ruff check .
ruff format .
```

Hooks are configured in `.pre-commit-config.yaml`:

```bash theme={null}
pre-commit install
```

## Documentation

The documentation site is a Mintlify project. From the `apowerb-docs` clone:

```bash theme={null}
npm i -g mint
mint dev
```

It serves on `http://localhost:3000` and reloads on save.


## Related topics

- [Configuration](/configuration.md)
- [Introduction](/index.md)
- [Gmail webhooks](/guides/webhooks-gmail.md)
- [Outlook webhooks](/guides/webhooks-outlook.md)
