Skip to content

Local Development Setup

Claude edited this page Sep 14, 2026 · 1 revision

Local Development Setup

The rules live in CONTRIBUTING.md; this page is the walkthrough.

Running the whole stack

The Quick Start docker compose up -d path works for local dev too.

Iterating on just one side

Backend — run it outside its container, pointed at the db/resolver containers from the Compose stack:

cd backend
uvicorn app.main:app --reload

Set DATABASE_URL to reach the Compose stack's db container (its default port mapping works for this) and whatever else .env normally provides.

Frontend — the Vite dev server proxies /api to localhost:8000 (vite.config.ts), so start the backend first:

cd frontend
npm run dev

Before opening a PR

  • docker compose build api worker should succeed — tsc -b runs as part of the frontend build stage, so this also catches type errors.
  • cd backend && pip install -r requirements-dev.txt && pytest should pass. CI runs this (and the frontend build) automatically on every PR.
  • New Alembic migrations go in backend/alembic/versions/, hand-written rather than autogenerate-only — include the row-level-security policy if the migration adds a new tenant-owned table.
  • The test suite covers the pure logic today, not yet anything needing a real database beyond the RLS suite. If you're touching a covered module, add/update a test alongside the change; otherwise, live verification against a real running instance is still the expectation. See Running the Test Suite.

← Contributing & Development · Home

Clone this wiki locally