The Candlefish production loop already produces real artifacts — essays, estimator surfaces, morning briefs, vault-and-brain chapters. Today that loop lives in one person’s head and one person’s ~/Work/. This kit makes the loop transferable.
What gets transferred
- Two-agent setup. Claude lane for synthesis, prose, and strategy; Codex lane for verifiable loops, route checks, tests, and browser evidence. Every claim is labelled
source-backed,inferred, ordemo-only. - Agent-runtime contracts. A
docs/agent-runtime/first-context brief plus the cross-agent baton, machine-checkabledocs/contracts/*.jsonclaims, and a stdlib-only PASS/FLAG/FAIL validator that runs offline and live. - Surface templating. Basic-auth FastAPI server template, launchd plist, cloudflared ingress rule.
ck publishwires them so a project goes from local checkout to a live*.highline.worksurface in under 90 seconds. - Design system. The generated Candlefish tokens (
design/_system/tokens.cssandaliases-cds.css, versioned copies from tokens.candlefish.ai), plus a kit-authored semantic-tokens layer atdesign/_patterns.css, plus fourteen ready-to-use HTML/JSX component templates and a 9-gatedesign/check.sh. - Autonomous web sessions.
agent-browser(in the Candlefish dotfiles tree) gives any agent persistent-profile access to web consoles that do not expose proper APIs. - Multi-agent orchestration.
ck orchestrate <task>spawns parallel git worktrees per agent with disjoint file ownership;merge-back.pyruns a pairwise-disjoint check plus an octopus merge into a review branch. It never auto-merges to main. - Discipline. Conventional commits, dated ledger, strict drift-row format, five-section CLAUDE.md per project, dogfooded validators on every wave.
Where the kit sits today
The table below is rewritten by bin/doc-autosync every 15 minutes against the kit’s live state — the validator’s PASS/FLAG/FAIL count, the main head, and the M3 W12 status flag all reflect what the orchestrator’s most recent cycle saw.
| Milestone | Waves | Status |
|---|---|---|
| M1 — Base | W1 to W4 | shipped — repo skeleton, runtime contracts, essay-series template, ck publish, first-hour runbook. |
| M2 — Examples plus design | W5 to W8 | shipped — estimator-demo, Candlefish Design System vendored, agent-browser drift hardening, morning-brief Wake-derivative. |
| M3 W9 — Orchestration | W9 | shipped — bin/ck-orchestrate, merge-back.py, two JSON schemas, hermetic 21/21 self-test. |
| M3 W10 — Autonomous Codex | W10 | shipped — bin/ck-codex-loop, agents/codex-runner.md, launchd plist, ralph prompt, cassidy-replay dogfood passed. |
| M3 W11 — Public docs | W11 | shipped — this site at creator.candlefish.ai, surface-templating dogfood. |
| M3 W12 — Public launch | W12 | pending — first internal-contributor pilot on a clean account |
End-of-W11 acceptance gates, all green on a clean tree:
./bin/ck doctor # 11/11 PASS
./bin/ck validate --offline # 6/0/0
./bin/ck-codex-loop --diagnose # exits 0
bash design/check.sh # 9/0
bash orchestrate/_test/test_substrate.sh # 21/21
bash tests/integration/ship-test.sh # 60/0
One command to start
git clone git@github.com:candlefish-ai/creator-kit.git ~/Work/creator-kit
cd ~/Work/creator-kit && ./bootstrap.sh --user <name> --email <email>
bootstrap.sh writes ~/.creator-kit/profile (mode 600) holding your name and email; subsequent kit commands read from it. make install runs automatically and symlinks the kit’s agents/, hooks/, and ralph-templates/ into ~/.claude/. From there, the first-hour runbook is the canonical onboarding path.
Design-system upstream
The kit consumes the Candlefish design system as generated files, not as a package:
- Source:
design-system/tokens/tokens.json(Candlefish Ultramarine 2.0.0, ruled 2026-09-11: white ground, black ink, Ultramarine#1A44EAas the one accent, Geist 200/300/400/500 and Berkeley Mono, no serif). The generator there writes every mirror. - Host:
https://tokens.candlefish.ai/v2.0.3/(immutable) and/latest/. The kit carries versioned copies of two files,tokens.css(the--ds-*values, the faces, the light, dark and deep themes) andaliases-cds.css(the design-system v1 names resolved onto--ds-*).design/sync.shrefreshes them. - Semantic layer:
design/_patterns.css, kit-authored, reads the alias names and gives templates intent (--surface-fg,--emphasis-accent,.ck-*).
Every kit surface, this docs site included, loads the four sheets in order: tokens.css, aliases-cds.css, _patterns.css, then a per-project _example.css. New projects scaffolded with ck new get the kit’s current versioned copies.
Where to go next
- Quickstart — the first 60 seconds.
- First-hour runbook — clone to live surface in under one hour, on a fresh macOS account.
- Publishing deep-dive — what
ck publishdoes, where it can fail, and how to fix each failure mode. - Templates — three ready-to-fork starting points: longform writing, synthetic permit-set estimator, multi-connector daily brief.