Built with AI
Nearly all of swatchbook’s code, tests, and documentation are written by Claude, under human direction. The agent writes; a human sets the scope, reviews every diff, and answers for what ships. CLAUDE.md, the orientation file the agent reads at the start of every session, is committed alongside the code.
Who does what
Section titled “Who does what”The agent writes code, tests, and docs, runs the local checks, and opens pull requests.
The human sets scope and direction, reviews every diff, merges, approves releases, and decides what “done” means: when a change is actually correct, when a claim is actually true.
The division has to be sharp. This is a large surface for one maintainer: six published packages, browser-mode test suites, visual-regression CI, this docs site, an MCP server. One person can direct and review all of it without hand-writing it.
Some gates are a person; the rest are automated and run on every change.
- Every merge is human. The agent never self-merges: a person reviews the diff and merges it.
- Every release is gated. Publishing pauses behind an approval gate before any package reaches npm, a deliberate second check between “version bumped” and “shipped”; the fixed-version package group then ships together, provenance-attested, via Changesets.
- Direction and scope are human: what gets built, and what doesn’t.
- A pre-commit gate runs formatting, linting, type-checking, and the full test suite before every commit.
- Component tests run in real Chromium, so focus, keyboard, and pointer behavior are checked against the browser rather than a jsdom approximation.
- A CI matrix re-runs every check on each push and pull request.
- Visual-regression CI (Chromatic) catches unintended rendering changes block by block.
- Code review on every change.
Where the effort goes
Section titled “Where the effort goes”Most of the effort here is not writing features. It is verifying them, and keeping the docs matched to the code. Examples on this site run against the real project, not hand-written to look right. Behavior changes clear regression tests that check meaning, not just output, before they land.
The real back-and-forth between the human and the agent is about correctness, not scope: less “build this,” more “this is wrong, here is the case that breaks it.”