Developer guide
Understand it
Section titled “Understand it”ArchitectureFour layers and the rule that keeps the core portable.
Repository structureWhat lives where, and why.
Ports and adaptersThe nine interfaces the core depends on.
Working in the pure coreThe rules for domain code, and why they exist.
Change it
Section titled “Change it”Local setupClone, verify, run.
Add a collectorTeach Watcher a new kind of source.
Add a notifierTeach Watcher a new delivery channel.
ContributingWorkflow, commit style, and the gate.
Verify it
Section titled “Verify it”TestingTest layout, fakes, and what must be covered.
The evaluation harnessMeasuring decision quality offline.
DebuggingTracing a run and reading what it recorded.
The short version
Section titled “The short version”TypeScript, strict, ESM, pnpm. A pure core (domain/, application/) that does
no I/O, surrounded by adapters that do all of it, wired at two entrypoints — a
CLI and a Fastify service. Zod validates every boundary. Vitest runs hermetically:
no network, no keys. pnpm verify is the gate.