Skip to content

Local Development

Docker Compose is the primary way to run Corvid (see Installation), but each part can also run directly on the host for faster iteration.

Terminal window
cd backend
uv pip install -r requirements.txt
pytest

A stale or partial local venv can pass tests locally while missing an import error that a full install would catch, so re-sync before trusting a green run.

Migrations run automatically against a fresh database via Base.metadata.create_all() on startup outside Docker; to run Alembic migrations manually:

Terminal window
docker compose run --rm backend alembic upgrade head
Terminal window
cd frontend
yarn start # dev server, uses --openssl-legacy-provider
yarn test # Vitest
yarn lint # ESLint
Terminal window
cd website
yarn dev # Astro dev server
yarn build # static build to website/dist/
  • make up / make rebuild — start (or rebuild + start) the full stack.
  • make up-backend / make rebuild-backend, make up-frontend / make rebuild-frontend — per-service.