Skip to main content
Version: 0.61

Built with AI

Nearly all of swatchbook's code, tests, and documentation are written by Claude, under human direction. Here's how that works: what a human controls, and what every change has to clear before it ships.

The repo doesn't hide it. CLAUDE.md, the orientation file the agent reads at the start of every session, is committed alongside the code.

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, and approves releases. The human also decides what "done" means: when a change is actually correct, when a claim is actually true.

The split is clean because it has to be. 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't hand-write all of it. One person can direct it, review all of it, and answer for it.

The maintainer has a day job; the agent does not.

What a human always gates

  • Every merge. The agent never self-merges. A person reviews the diff and merges it.
  • Every release. The publish workflow pauses behind an approval gate before any package reaches npm, a deliberate second human check between "version bumped" and "shipped."
  • Direction and scope. What gets built, and what doesn't.

How quality is kept

The machinery is what any project ought to have. AI authorship just makes naming it worth doing.

  • A pre-commit gate: formatting, linting, type-checking, and the full test suite run before every commit.
  • Component tests in a real browser. Focus, keyboard, and pointer behavior are exercised in real Chromium rather than a jsdom approximation, so tests check the browser instead of the author's mental model of it.
  • 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.
  • Gated, provenance-attested publishing via Changesets. The fixed-version package group ships together, behind the approval gate above.

Where the effort goes

Most of the effort here is not writing features. It is verifying them, and making sure the docs match the code. Examples on this site are run against the real project, not hand-written to look right. Behavior changes have to 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."

So the bottom line is plain. An AI wrote nearly all of it. A human is accountable for all of it, and the evidence is public: the tests, the CI runs, the gated releases, the commit history. Hold swatchbook to the same standard as any dependency you take on. This page exists so you know exactly what you're looking at when you do.