Repository navigation
Local Development Setup
Claude edited this page Sep 14, 2026
·
1 revision
The rules live in CONTRIBUTING.md;
this page is the walkthrough.
The Quick Start docker compose up -d path
works for local dev too.
Backend — run it outside its container, pointed at the db/resolver
containers from the Compose stack:
cd backend
uvicorn app.main:app --reloadSet 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-
docker compose build api workershould succeed —tsc -bruns as part of the frontend build stage, so this also catches type errors. -
cd backend && pip install -r requirements-dev.txt && pytestshould 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.
← Back to the README · Live demo · Report an issue · MIT licensed
- Quick Start: Docker Compose
- Deploying with Portainer
- Deploying on Azure
- Configuration Reference
- Onboarding an Organization
- IMAP Mailbox
- Google Workspace Mailbox
- Sign-in Providers
- Multi-Tenancy & RLS
- DMARC Subdomain Inheritance
- Report Attribution
- SPF Conditional Mode
- Detected Domains
- DNS Check Scheduling
- Domain Rating
🏗️ Architecture
🗺️ Roadmap