Contributing
Read AGENTS.md at the repo root first — it codifies the layout and
convention rules (a condensed version is on the
Conventions page).
Before you start
Section titled “Before you start”- Follow the structural rules: routes in
routes/<feature>.routes.ts, all SQL indb.ts, env only inconfig.ts, TypeBox for validation. - Match the repo style: 2-space indent, double quotes, semicolons.
Verification
Section titled “Verification”bun run typecheckbun run test # = bun test --isolate — NEVER plain bun test- The suite is 62 tests and must stay green.
--isolateis required: each test file sets its env inbeforeAlland closes the DB inafterAllas if process-isolated.tsconly coverssrc/andscripts/— template branches usesvelte-check/vue-tscinstead.
Committing
Section titled “Committing”This repository also hosts the site (site/, Astro + Starlight) and the
scaffolder (create-dulak/). Update docs alongside code changes — the docs
drift is the number-one contribution smell.
The repository uses branch namespaces for templates (template/*). Tag
archived eras with legacy/* tags rather than deleting history.