What you need
- Bun 1.3.14
- Node 20 or later
- Postgres 17, running locally
- The AWS CLI and Terraform 1.12, only for infrastructure work
First run
1
Install
2
Create the database
3
Set the API's environment
Create Leave
apps/api/.env.local:MAIL_FROM unset. The API then prints each email to its console instead of sending it.4
Migrate and seed
5
Start everything
create-owner prints a password once. You can also click Send me a link instead on the sign-in page. Then copy the link from the API’s console output.
Commands
Add a shadcn component to the design system:
packages/ui/src/components. Import it as @workspace/ui/components/<component>.
Conventions
- Next.js 16. Its APIs differ from older versions. Read
node_modules/next/dist/docs/before you write framework code. - Prettier. No semicolons, double quotes, two spaces, 80 columns, Tailwind classes sorted.
- Brand rules. “Oncology” and “Biotech” always take a capital letter. Every Onco-prefixed name carries ™. The rules are in
CLAUDE.mdat the repository root. - Copy. Plain words. A button says what happens. No sales language in the admin.
The handbook
The handbook is inhandbook/. To preview it:

