Appearance
docs/superpowers — Design Specs & Implementation Plans
This directory is the repo's design history, produced by the AI-assisted workflow described in CONTRIBUTING.md ("Working with Claude Code"). If you want to know why a feature works the way it does, look here before reading code comments.
Layout
specs/— approved designs, one per feature, namedYYYY-MM-DD-<topic>-design.md. Each records the decisions made during brainstorming (options considered, what was chosen and why, non-goals). These are the closest thing this repo has to ADRs (architecture decision records).plans/— step-by-step implementation plans derived from a spec, executed task-by-task with test-first commits. Checkboxes inside a plan may be stale after execution; the merged PR is the record of what actually happened.
How to read them
- Later specs supersede earlier ones on the same feature. Buylist, for example, evolved across half a dozen specs (intake → portal → sealed → payout tracks → native settlement); the newest dated spec on a topic reflects current intent.
- After merge, code is the authority. A spec captures the design at approval time; if it disagrees with shipped code, something changed during implementation or a later PR —
git log --followon the spec and the files it names will find the divergence. - To find the PR that implemented a spec,
git log --oneline -- <spec path>and look at the commits/PRs adjacent to when the spec landed.
Conventions for new specs/plans
Produced via the superpowers plugin (brainstorm → spec → plan). Keep the YYYY-MM-DD-<topic>-design.md naming, commit the spec before implementation begins, and state superseded specs explicitly in the header when reworking an existing feature.
