# Intent Track the why behind features, across implementations. See [docs/concept.md](docs/concept.md) and [docs/plan.md](docs/plan.md). ## Local development With uv: ```sh uv sync uv run python manage.py migrate uv run python manage.py runserver ``` Or with Docker: ```sh docker compose up --build ``` Then open http://localhost:8000. Data lives in `data/` (uv) or the `data` volume (Docker). Checks: ```sh uv run playwright install chromium # once, for the real-browser tests uv run ruff check . && uv run ruff format --check . && uv run pytest ``` `uv run pytest -m "not browser"` skips the browser tests for a quicker run. ## Production Fly.io, one machine with a volume at `/data`; Litestream backs the database up to B2 and uploads go to Tigris. Deploying, secrets, administrators, email, moderation and the restore drill are in [docs/operations.md](docs/operations.md).