Everything runs in Docker
There is exactly one command to start development:src/, prisma/ and
public/; the Node debugger is on 9229.
Prerequisites
- Docker with Compose
- Node.js 22 on the host, for the quality gate (see below)
First run
1
Copy the environment file
2
Start the stack
3
Push the schema and seed
4
Optionally seed demo data
5
Open the app
http://localhost:3000. Mail goes to MailHog at
http://localhost:8025 — magic links included.
Signing in locally
Local development can use a dev-login route, guarded three ways:ENABLE_DEV_LOGIN
must be exactly "true", NODE_ENV must not be production, and the host must not be
a production domain.
Set COOKIE_SECURE=false for plain http://localhost (the dev compose files already
do). Never set it in a deployed environment.
The quality gate runs on the host
The gate is deliberately Docker-free and Postgres-free — unit and component tests mock the database — so it also works in web sessions wheredocker compose exec is not
available:
Git hooks
Installed automatically onnpm install:
Bypass deliberately with
--no-verify when you have a reason.
Useful commands
Which CI path your diff takes
docs_only=true means CI runs only the static leg. prisma_changed=false means the
Postgres migrations job is skipped.