Development Workflow¶
After this guide you can make a change across the stack and run the app. Work in the DB → Backend → Frontend order so the API client regenerates against an up-to-date backend.
Database changes¶
cd backend/db
sqitch add feature_name -n "Description"
# Edit the generated deploy/, revert/, verify/ SQL files
./sqitch.sh dev deploy
See Database for the migration model.
Backend changes¶
cd backend
uv add package_name # add a dependency (--dev for dev-only)
uv run ruff check . # lint
uv run pytest # test
uv run uvicorn app.main:app --reload # run (auto-reloads on change)
Frontend changes¶
After backend API changes, regenerate the typed client (see Type-Safe API Client):