How to Write a Good PRD / Spec
Use template docs/PRODUCT_REQUIREMENTS.md.
What is FR?
FR = Functional Requirement.
Meaning: 1 FR = 1 clear functional requirement/feature.
Examples:
FR-001: User can log inFR-002: User can view profileFR-003: Admin can change user role
Why FR matters:
- requirements become specific
- tests become measurable
- changes become traceable
Minimal PRD structure
- Business goal
- User story
- Acceptance criteria (checklist)
- Edge cases
- Impact area (API/Admin/DB)
- Risks
Example
### FR-010: Approval Workflow
- Goal: add multi-level approval flow
- Acceptance Criteria:
- [ ] user can submit approval
- [ ] level-1 approver can approve/reject
PRD must be updated before coding starts.