Development
Requirements
Section titled “Requirements”- Node.js ≥ 22.12.0.
- pnpm ≥ 11.15.1. The install script can enable it with corepack.
Run the app
Section titled “Run the app”./scripts/install.sh./scripts/start.shOn Windows:
scripts\install.batscripts\start.batThe frontend runs at http://localhost:4321 and proxies /api to the backend
at http://localhost:3001.
Manual install:
corepack enablecorepack prepare pnpm@11.21.0 --activatepnpm installpnpm devQuality gates
Section titled “Quality gates”pnpm check:arch # architecture rulespnpm check # architecture + typecheck + lintpnpm --filter @workspace/backend testpnpm --filter @workspace/frontend exec vitest runpnpm check:arch verifies the frontend size limit, backend hexagonal
boundaries, frontend lib/ purity, shared package purity, generic hooks, dead
files and feature isolation. Read AGENTS.md for the full rules.
Structure
Section titled “Structure”| Package | Purpose |
|---|---|
packages/backend |
Express + Drizzle + SQLite API. Hexagonal architecture. |
packages/frontend |
Astro + React UI. |
packages/shared |
Types and framework-agnostic helpers. |
packages/ui |
Reusable shadcn/ui components. |
packages/website |
This public site (Astro + Starlight). |
Contributing
Section titled “Contributing”Read CONTRIBUTING.md and open a pull request. master is protected; CI must
pass before merging. Use conventional commits and keep changes small.
