Contributing
Setup
- Run
scripts/install-hooks.shonce. The pre-push hook runslinecheck .. Install it withcargo install linecheck. - Local stack and end-to-end check: quick start.
- Regenerate UI screenshots in
docs/screens/withnode scripts/screens.mjs(needs Playwright and Chromium; see screens index).
Rules
- Every file stays at the line limit in
linecheck.yml. Split a file by its job when it grows. - Facts live in code. Docs link to code for routes, limits, ports and config. See protocol.
- Diagrams are Mermaid blocks in the doc that explains them.
Adding a migration
- Add a new SQL file under
supabase/migrations/. Never edit a migration that already reachedmain. - Add or update the pgTAP test under
supabase/tests/. - Test locally. Run
scripts/dev-up.shin one terminal. It resets the local database to the migrations. In a second terminal, runsupabase test db, thenscripts/e2e-local.sh. - Open a PR and merge it to
main. - The
migrationsworkflow applies the change to dev first, then production. Check that run. Never runsupabase db pushby hand.
Workflow details: infra/README.md.