carlos / todomvc-bakeoff Public

Clone
git clone https://amadan.net/carlos/todomvc-bakeoff

Plain git — no account needed to clone.

Download

Download this file

đŸ¤– AGENTS.md: TodoMVC bakeoff

The one rule: every app gets the same chance. The same brief, the same contract, the same UI, the same tests, the same measurement, the same review-and-fix round, and the same platform defaults. Any difference in how one app is treated is a defect in the bakeoff, not a detail.

Design: docs/superpowers/specs/2026-10-23-todomvc-bakeoff-design.md. Plan: docs/superpowers/plans/2026-10-23-todomvc-bakeoff.md.

Layout

| Path | What | |---|---| | BRIEF.md, CONTRACT.md | What every builder gets. Binding | | shared/ | TodoMVC CSS (todomvc-common 1.0.5, todomvc-app-css 2.4.3) and the reference page | | vendor/carlos-skills/ | The CARLOS skills builders read, pinned (see SOURCE) | | tests/behaviour/ | Playwright suite, run with JS on and off | | harness/ | Go measurement harness and report generator; harness/refapp is a test fixture builders never see | | builders/ | Prompts, runner scripts, session logs and reviews | | apps/<slug>/ | One directory per contestant, written only by its builder | | results/ | One JSON file per app, written only by the harness | | report/site/ | The generated report page |

Rules

  • Never fix an app by hand. Apps change only through their builder's session (the build, the one fix round, and the security-only round). A pipeline problem is fixed in the scripts or the brief, and then every affected app is rebuilt.
  • Never work around Carloku. A missing capability becomes a Feature Request on amadan (amadan discuss new carlos/platform), and the report names it.
  • The report doesn't crown a winner. Numbers, context and caveats.
  • Servers bind 127.0.0.1 only. Scratch goes in $TMPDIR. Don't change GOCACHE. No sudo. Stop what you start.
  • Commits end with a Co-Authored-By: trailer naming the model.