# Product requirement docs One PRD per feature: what to build, why, and how it's scoped. The PRD is the durable spec — it should stand on its own without a Gitea issue thread (see [`../README.md`](../README.md) for when a PRD is the right document vs. a research note or a decision record). ## Naming and numbering New PRDs may use a `prd-new-.md` placeholder name while the design is being drafted. Before merge, assign the next sequential number after the highest-numbered PRD on `main`, rename the file to `NNNN-.md`, and update the title header. CI blocks merging while any `prd-new-*.md` placeholder remains. If concurrent PRs select the same number, the later PR must take the next available number before it merges. Numbers are never reused; gaps are fine. Once numbered, the filename stays fixed for the life of the doc. ## Status The `Status:` line near the top tracks the PRD's lifecycle: - **Draft** — proposed, not yet shipped. - **Active** — the design has shipped to `main` and is in effect. - **Superseded by [PRD NNNN](…)** — replaced by a later PRD; kept for history. - **Retargeted by [PRD NNNN](…)** — folded into a later PRD's scope. ## Format ```markdown # PRD prd-new: ← replace with the final number before merge - **Status:** Draft - **Author:** - **Created:** YYYY-MM-DD - **Issue:** # # optional — convenience pointer only ## Summary One paragraph: what this builds and the pain it solves. ## Problem The current state and why it's inadequate. ## Goals / Success Criteria Bullets a reviewer can check the finished work against. ## Non-goals What this explicitly does not do — and won't, to head off scope creep. ## Scope In scope / out of scope, when the boundary needs spelling out. ## Design How it works: schema, data flow, diagrams, algorithms as needed. ## Implementation chunks Ordered, mergeable steps (optional; for multi-PR features). ## Open questions Unresolved decisions — resolve or fold into Design before shipping. ``` Sections are a guide, not a straitjacket: drop the ones a given PRD doesn't need (a small change rarely needs Scope or Implementation chunks) and add others where they help (e.g. Testing strategy, Alternatives considered, References). Keep the rationale self-contained — inline the reasoning rather than linking out to an issue thread, so the PRD survives a move off Gitea.