One PROGRESS.md per project, at the repo root. It is the single answer to "where is this project at?" for any AI agent or human, in any session, with zero context.
The doc files (every project, same four)
- README.md: THE doc. What the project is, site facts, how to add content, how to deploy. Written for any AI or human: a different AI tool, a freelancer, you in six months. One source of truth; every other file points here instead of repeating it.
- An AI manifest (for us:
CLAUDE.md): the thin, tool-specific wiring: which agent does what, which rule files load. First line: "read README.md first". Never repeats README content. - AGENTS.md: one line pointing to README, so any coding agent that auto-reads it lands in the right place.
- PROGRESS.md: the scorecard (below).
All markdown, all in git. A doc written twice is a bug: fix it in one place, point from the other.
How it works
- Generated from the master checklist template when the project starts.
- One checkbox per spec, page, and gate, grouped by pipeline chapter (Brand, Tech, SEO, Pages, Build, Launch).
- A box gets checked ONLY when the thing is verified on the live site or in the repo, not when it is "basically done".
- Every work session updates it before closing. Stale tracking is worse than no tracking.
- The file lives in git, never deploys.
Why
- Nothing reinvented: the checklist IS the memory of what was decided and done.
- Nothing lost: an unchecked box survives compaction, session changes, and months of parking.
- Any AI can pick up the project cold: read README, read PROGRESS.md, continue.
Done when
- ☐ PROGRESS.md exists, generated from the template
- ☐ Every session that touches the project updates it