@howlil/ez-agents 2.0.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +157 -110
- package/README.zh-CN.md +84 -84
- package/agents/ez-plan-checker.md +2 -2
- package/agents/ez-research-synthesizer.md +1 -1
- package/agents/ez-ui-auditor.md +0 -2
- package/agents/ez-ui-checker.md +2 -4
- package/agents/ez-ui-researcher.md +0 -2
- package/agents/ez-verifier.md +1 -1
- package/bin/install.js +211 -211
- package/commands/ez/debug.md +1 -1
- package/commands/ez/map-codebase.md +1 -1
- package/commands/ez/reapply-patches.md +3 -3
- package/commands/ez/research-phase.md +1 -1
- package/{get-shit-done → ez-agents}/bin/ez-tools.cjs +1 -1
- package/{get-shit-done → ez-agents}/bin/lib/assistant-adapter.cjs +205 -205
- package/{get-shit-done → ez-agents}/bin/lib/audit-exec.cjs +150 -150
- package/{get-shit-done → ez-agents}/bin/lib/auth.cjs +175 -175
- package/{get-shit-done → ez-agents}/bin/lib/circuit-breaker.cjs +118 -118
- package/{get-shit-done → ez-agents}/bin/lib/commands.cjs +666 -666
- package/{get-shit-done → ez-agents}/bin/lib/config.cjs +183 -183
- package/{get-shit-done → ez-agents}/bin/lib/core.cjs +495 -495
- package/{get-shit-done → ez-agents}/bin/lib/file-lock.cjs +236 -236
- package/{get-shit-done → ez-agents}/bin/lib/frontmatter.cjs +299 -299
- package/{get-shit-done → ez-agents}/bin/lib/fs-utils.cjs +153 -153
- package/{get-shit-done → ez-agents}/bin/lib/git-utils.cjs +203 -203
- package/{get-shit-done → ez-agents}/bin/lib/health-check.cjs +163 -163
- package/{get-shit-done → ez-agents}/bin/lib/index.cjs +113 -113
- package/{get-shit-done → ez-agents}/bin/lib/init.cjs +710 -710
- package/{get-shit-done → ez-agents}/bin/lib/logger.cjs +117 -117
- package/{get-shit-done → ez-agents}/bin/lib/milestone.cjs +241 -241
- package/{get-shit-done → ez-agents}/bin/lib/model-provider.cjs +146 -146
- package/{get-shit-done → ez-agents}/bin/lib/phase.cjs +908 -908
- package/{get-shit-done → ez-agents}/bin/lib/retry.cjs +119 -119
- package/{get-shit-done → ez-agents}/bin/lib/roadmap.cjs +305 -305
- package/{get-shit-done → ez-agents}/bin/lib/safe-exec.cjs +128 -128
- package/{get-shit-done → ez-agents}/bin/lib/safe-path.cjs +130 -130
- package/{get-shit-done → ez-agents}/bin/lib/state.cjs +721 -721
- package/{get-shit-done → ez-agents}/bin/lib/temp-file.cjs +239 -239
- package/{get-shit-done → ez-agents}/bin/lib/template.cjs +222 -222
- package/{get-shit-done → ez-agents}/bin/lib/test-file-lock.cjs +112 -112
- package/{get-shit-done → ez-agents}/bin/lib/test-graceful.cjs +93 -93
- package/{get-shit-done → ez-agents}/bin/lib/test-logger.cjs +60 -60
- package/{get-shit-done → ez-agents}/bin/lib/test-safe-exec.cjs +38 -38
- package/{get-shit-done → ez-agents}/bin/lib/test-safe-path.cjs +33 -33
- package/{get-shit-done → ez-agents}/bin/lib/test-temp-file.cjs +125 -125
- package/{get-shit-done → ez-agents}/bin/lib/timeout-exec.cjs +62 -62
- package/{get-shit-done → ez-agents}/bin/lib/verify.cjs +820 -820
- package/{get-shit-done → ez-agents}/references/checkpoints.md +776 -776
- package/{get-shit-done → ez-agents}/references/questioning.md +162 -162
- package/{get-shit-done → ez-agents}/references/tdd.md +263 -263
- package/{get-shit-done → ez-agents}/templates/codebase/concerns.md +310 -310
- package/{get-shit-done → ez-agents}/templates/codebase/conventions.md +307 -307
- package/{get-shit-done → ez-agents}/templates/codebase/integrations.md +280 -280
- package/{get-shit-done → ez-agents}/templates/codebase/stack.md +186 -186
- package/{get-shit-done → ez-agents}/templates/codebase/testing.md +480 -480
- package/{get-shit-done → ez-agents}/templates/config.json +37 -37
- package/{get-shit-done → ez-agents}/templates/continue-here.md +78 -78
- package/{get-shit-done → ez-agents}/templates/milestone-archive.md +123 -123
- package/{get-shit-done → ez-agents}/templates/milestone.md +115 -115
- package/{get-shit-done → ez-agents}/templates/requirements.md +231 -231
- package/{get-shit-done → ez-agents}/templates/research-project/ARCHITECTURE.md +204 -204
- package/{get-shit-done → ez-agents}/templates/research-project/FEATURES.md +147 -147
- package/{get-shit-done → ez-agents}/templates/research-project/PITFALLS.md +200 -200
- package/{get-shit-done → ez-agents}/templates/research-project/STACK.md +120 -120
- package/{get-shit-done → ez-agents}/templates/research-project/SUMMARY.md +170 -170
- package/{get-shit-done → ez-agents}/templates/retrospective.md +54 -54
- package/{get-shit-done → ez-agents}/templates/roadmap.md +202 -202
- package/{get-shit-done → ez-agents}/templates/summary-minimal.md +41 -41
- package/{get-shit-done → ez-agents}/templates/summary-standard.md +48 -48
- package/{get-shit-done → ez-agents}/templates/summary.md +248 -248
- package/{get-shit-done → ez-agents}/templates/user-setup.md +311 -311
- package/{get-shit-done → ez-agents}/templates/verification-report.md +322 -322
- package/{get-shit-done → ez-agents}/workflows/add-phase.md +112 -112
- package/{get-shit-done → ez-agents}/workflows/add-tests.md +351 -351
- package/{get-shit-done → ez-agents}/workflows/add-todo.md +158 -158
- package/{get-shit-done → ez-agents}/workflows/audit-milestone.md +332 -332
- package/{get-shit-done → ez-agents}/workflows/autonomous.md +743 -743
- package/{get-shit-done → ez-agents}/workflows/check-todos.md +177 -177
- package/{get-shit-done → ez-agents}/workflows/cleanup.md +152 -152
- package/{get-shit-done → ez-agents}/workflows/complete-milestone.md +766 -766
- package/ez-agents/workflows/debug.md +0 -0
- package/{get-shit-done → ez-agents}/workflows/diagnose-issues.md +219 -219
- package/{get-shit-done → ez-agents}/workflows/discovery-phase.md +289 -289
- package/{get-shit-done → ez-agents}/workflows/discuss-phase.md +762 -762
- package/{get-shit-done → ez-agents}/workflows/execute-phase.md +468 -468
- package/{get-shit-done → ez-agents}/workflows/execute-plan.md +483 -483
- package/{get-shit-done → ez-agents}/workflows/health.md +159 -159
- package/{get-shit-done → ez-agents}/workflows/help.md +492 -492
- package/{get-shit-done → ez-agents}/workflows/insert-phase.md +130 -130
- package/{get-shit-done → ez-agents}/workflows/list-phase-assumptions.md +178 -178
- package/{get-shit-done → ez-agents}/workflows/map-codebase.md +316 -316
- package/{get-shit-done → ez-agents}/workflows/new-milestone.md +384 -384
- package/{get-shit-done → ez-agents}/workflows/new-project.md +1111 -1111
- package/{get-shit-done → ez-agents}/workflows/node-repair.md +92 -92
- package/{get-shit-done → ez-agents}/workflows/pause-work.md +122 -122
- package/{get-shit-done → ez-agents}/workflows/plan-milestone-gaps.md +274 -274
- package/{get-shit-done → ez-agents}/workflows/plan-phase.md +651 -651
- package/{get-shit-done → ez-agents}/workflows/progress.md +382 -382
- package/{get-shit-done → ez-agents}/workflows/quick.md +610 -610
- package/{get-shit-done → ez-agents}/workflows/remove-phase.md +155 -155
- package/{get-shit-done → ez-agents}/workflows/research-phase.md +74 -74
- package/{get-shit-done → ez-agents}/workflows/resume-project.md +307 -307
- package/{get-shit-done → ez-agents}/workflows/set-profile.md +81 -81
- package/{get-shit-done → ez-agents}/workflows/settings.md +242 -242
- package/{get-shit-done → ez-agents}/workflows/stats.md +57 -57
- package/{get-shit-done → ez-agents}/workflows/transition.md +544 -544
- package/{get-shit-done → ez-agents}/workflows/ui-phase.md +290 -290
- package/{get-shit-done → ez-agents}/workflows/ui-review.md +157 -157
- package/{get-shit-done → ez-agents}/workflows/update.md +320 -320
- package/{get-shit-done → ez-agents}/workflows/validate-phase.md +167 -167
- package/{get-shit-done → ez-agents}/workflows/verify-phase.md +243 -243
- package/{get-shit-done → ez-agents}/workflows/verify-work.md +5 -5
- package/hooks/dist/ez-check-update.js +81 -0
- package/hooks/dist/ez-context-monitor.js +141 -0
- package/hooks/dist/ez-statusline.js +115 -0
- package/package.json +13 -3
- package/scripts/build-hooks.js +43 -43
- package/scripts/run-tests.cjs +29 -29
- /package/{get-shit-done → ez-agents}/references/continuation-format.md +0 -0
- /package/{get-shit-done → ez-agents}/references/decimal-phase-calculation.md +0 -0
- /package/{get-shit-done → ez-agents}/references/git-integration.md +0 -0
- /package/{get-shit-done → ez-agents}/references/git-planning-commit.md +0 -0
- /package/{get-shit-done → ez-agents}/references/model-profile-resolution.md +0 -0
- /package/{get-shit-done → ez-agents}/references/model-profiles.md +0 -0
- /package/{get-shit-done → ez-agents}/references/phase-argument-parsing.md +0 -0
- /package/{get-shit-done → ez-agents}/references/planning-config.md +0 -0
- /package/{get-shit-done → ez-agents}/references/ui-brand.md +0 -0
- /package/{get-shit-done → ez-agents}/references/verification-patterns.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/DEBUG.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/UAT.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/UI-SPEC.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/VALIDATION.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/codebase/architecture.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/codebase/structure.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/context.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/copilot-instructions.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/debug-subagent-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/discovery.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/phase-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/planner-subagent-prompt.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/project.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/research.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/state.md +0 -0
- /package/{get-shit-done → ez-agents}/templates/summary-complex.md +0 -0
|
@@ -1,231 +1,231 @@
|
|
|
1
|
-
# Requirements Template
|
|
2
|
-
|
|
3
|
-
Template for `.planning/REQUIREMENTS.md` — checkable requirements that define "done."
|
|
4
|
-
|
|
5
|
-
<template>
|
|
6
|
-
|
|
7
|
-
```markdown
|
|
8
|
-
# Requirements: [Project Name]
|
|
9
|
-
|
|
10
|
-
**Defined:** [date]
|
|
11
|
-
**Core Value:** [from PROJECT.md]
|
|
12
|
-
|
|
13
|
-
## v1 Requirements
|
|
14
|
-
|
|
15
|
-
Requirements for initial release. Each maps to roadmap phases.
|
|
16
|
-
|
|
17
|
-
### Authentication
|
|
18
|
-
|
|
19
|
-
- [ ] **AUTH-01**: User can sign up with email and password
|
|
20
|
-
- [ ] **AUTH-02**: User receives email verification after signup
|
|
21
|
-
- [ ] **AUTH-03**: User can reset password via email link
|
|
22
|
-
- [ ] **AUTH-04**: User session persists across browser refresh
|
|
23
|
-
|
|
24
|
-
### [Category 2]
|
|
25
|
-
|
|
26
|
-
- [ ] **[CAT]-01**: [Requirement description]
|
|
27
|
-
- [ ] **[CAT]-02**: [Requirement description]
|
|
28
|
-
- [ ] **[CAT]-03**: [Requirement description]
|
|
29
|
-
|
|
30
|
-
### [Category 3]
|
|
31
|
-
|
|
32
|
-
- [ ] **[CAT]-01**: [Requirement description]
|
|
33
|
-
- [ ] **[CAT]-02**: [Requirement description]
|
|
34
|
-
|
|
35
|
-
## v2 Requirements
|
|
36
|
-
|
|
37
|
-
Deferred to future release. Tracked but not in current roadmap.
|
|
38
|
-
|
|
39
|
-
### [Category]
|
|
40
|
-
|
|
41
|
-
- **[CAT]-01**: [Requirement description]
|
|
42
|
-
- **[CAT]-02**: [Requirement description]
|
|
43
|
-
|
|
44
|
-
## Out of Scope
|
|
45
|
-
|
|
46
|
-
Explicitly excluded. Documented to prevent scope creep.
|
|
47
|
-
|
|
48
|
-
| Feature | Reason |
|
|
49
|
-
|---------|--------|
|
|
50
|
-
| [Feature] | [Why excluded] |
|
|
51
|
-
| [Feature] | [Why excluded] |
|
|
52
|
-
|
|
53
|
-
## Traceability
|
|
54
|
-
|
|
55
|
-
Which phases cover which requirements. Updated during roadmap creation.
|
|
56
|
-
|
|
57
|
-
| Requirement | Phase | Status |
|
|
58
|
-
|-------------|-------|--------|
|
|
59
|
-
| AUTH-01 | Phase 1 | Pending |
|
|
60
|
-
| AUTH-02 | Phase 1 | Pending |
|
|
61
|
-
| AUTH-03 | Phase 1 | Pending |
|
|
62
|
-
| AUTH-04 | Phase 1 | Pending |
|
|
63
|
-
| [REQ-ID] | Phase [N] | Pending |
|
|
64
|
-
|
|
65
|
-
**Coverage:**
|
|
66
|
-
- v1 requirements: [X] total
|
|
67
|
-
- Mapped to phases: [Y]
|
|
68
|
-
- Unmapped: [Z] ⚠️
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
*Requirements defined: [date]*
|
|
72
|
-
*Last updated: [date] after [trigger]*
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
</template>
|
|
76
|
-
|
|
77
|
-
<guidelines>
|
|
78
|
-
|
|
79
|
-
**Requirement Format:**
|
|
80
|
-
- ID: `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02, SOCIAL-03)
|
|
81
|
-
- Description: User-centric, testable, atomic
|
|
82
|
-
- Checkbox: Only for v1 requirements (v2 are not yet actionable)
|
|
83
|
-
|
|
84
|
-
**Categories:**
|
|
85
|
-
- Derive from research FEATURES.md categories
|
|
86
|
-
- Keep consistent with domain conventions
|
|
87
|
-
- Typical: Authentication, Content, Social, Notifications, Moderation, Payments, Admin
|
|
88
|
-
|
|
89
|
-
**v1 vs v2:**
|
|
90
|
-
- v1: Committed scope, will be in roadmap phases
|
|
91
|
-
- v2: Acknowledged but deferred, not in current roadmap
|
|
92
|
-
- Moving v2 → v1 requires roadmap update
|
|
93
|
-
|
|
94
|
-
**Out of Scope:**
|
|
95
|
-
- Explicit exclusions with reasoning
|
|
96
|
-
- Prevents "why didn't you include X?" later
|
|
97
|
-
- Anti-features from research belong here with warnings
|
|
98
|
-
|
|
99
|
-
**Traceability:**
|
|
100
|
-
- Empty initially, populated during roadmap creation
|
|
101
|
-
- Each requirement maps to exactly one phase
|
|
102
|
-
- Unmapped requirements = roadmap gap
|
|
103
|
-
|
|
104
|
-
**Status Values:**
|
|
105
|
-
- Pending: Not started
|
|
106
|
-
- In Progress: Phase is active
|
|
107
|
-
- Complete: Requirement verified
|
|
108
|
-
- Blocked: Waiting on external factor
|
|
109
|
-
|
|
110
|
-
</guidelines>
|
|
111
|
-
|
|
112
|
-
<evolution>
|
|
113
|
-
|
|
114
|
-
**After each phase completes:**
|
|
115
|
-
1. Mark covered requirements as Complete
|
|
116
|
-
2. Update traceability status
|
|
117
|
-
3. Note any requirements that changed scope
|
|
118
|
-
|
|
119
|
-
**After roadmap updates:**
|
|
120
|
-
1. Verify all v1 requirements still mapped
|
|
121
|
-
2. Add new requirements if scope expanded
|
|
122
|
-
3. Move requirements to v2/out of scope if descoped
|
|
123
|
-
|
|
124
|
-
**Requirement completion criteria:**
|
|
125
|
-
- Requirement is "Complete" when:
|
|
126
|
-
- Feature is implemented
|
|
127
|
-
- Feature is verified (tests pass, manual check done)
|
|
128
|
-
- Feature is committed
|
|
129
|
-
|
|
130
|
-
</evolution>
|
|
131
|
-
|
|
132
|
-
<example>
|
|
133
|
-
|
|
134
|
-
```markdown
|
|
135
|
-
# Requirements: CommunityApp
|
|
136
|
-
|
|
137
|
-
**Defined:** 2025-01-14
|
|
138
|
-
**Core Value:** Users can share and discuss content with people who share their interests
|
|
139
|
-
|
|
140
|
-
## v1 Requirements
|
|
141
|
-
|
|
142
|
-
### Authentication
|
|
143
|
-
|
|
144
|
-
- [ ] **AUTH-01**: User can sign up with email and password
|
|
145
|
-
- [ ] **AUTH-02**: User receives email verification after signup
|
|
146
|
-
- [ ] **AUTH-03**: User can reset password via email link
|
|
147
|
-
- [ ] **AUTH-04**: User session persists across browser refresh
|
|
148
|
-
|
|
149
|
-
### Profiles
|
|
150
|
-
|
|
151
|
-
- [ ] **PROF-01**: User can create profile with display name
|
|
152
|
-
- [ ] **PROF-02**: User can upload avatar image
|
|
153
|
-
- [ ] **PROF-03**: User can write bio (max 500 chars)
|
|
154
|
-
- [ ] **PROF-04**: User can view other users' profiles
|
|
155
|
-
|
|
156
|
-
### Content
|
|
157
|
-
|
|
158
|
-
- [ ] **CONT-01**: User can create text post
|
|
159
|
-
- [ ] **CONT-02**: User can upload image with post
|
|
160
|
-
- [ ] **CONT-03**: User can edit own posts
|
|
161
|
-
- [ ] **CONT-04**: User can delete own posts
|
|
162
|
-
- [ ] **CONT-05**: User can view feed of posts
|
|
163
|
-
|
|
164
|
-
### Social
|
|
165
|
-
|
|
166
|
-
- [ ] **SOCL-01**: User can follow other users
|
|
167
|
-
- [ ] **SOCL-02**: User can unfollow users
|
|
168
|
-
- [ ] **SOCL-03**: User can like posts
|
|
169
|
-
- [ ] **SOCL-04**: User can comment on posts
|
|
170
|
-
- [ ] **SOCL-05**: User can view activity feed (followed users' posts)
|
|
171
|
-
|
|
172
|
-
## v2 Requirements
|
|
173
|
-
|
|
174
|
-
### Notifications
|
|
175
|
-
|
|
176
|
-
- **NOTF-01**: User receives in-app notifications
|
|
177
|
-
- **NOTF-02**: User receives email for new followers
|
|
178
|
-
- **NOTF-03**: User receives email for comments on own posts
|
|
179
|
-
- **NOTF-04**: User can configure notification preferences
|
|
180
|
-
|
|
181
|
-
### Moderation
|
|
182
|
-
|
|
183
|
-
- **MODR-01**: User can report content
|
|
184
|
-
- **MODR-02**: User can block other users
|
|
185
|
-
- **MODR-03**: Admin can view reported content
|
|
186
|
-
- **MODR-04**: Admin can remove content
|
|
187
|
-
- **MODR-05**: Admin can ban users
|
|
188
|
-
|
|
189
|
-
## Out of Scope
|
|
190
|
-
|
|
191
|
-
| Feature | Reason |
|
|
192
|
-
|---------|--------|
|
|
193
|
-
| Real-time chat | High complexity, not core to community value |
|
|
194
|
-
| Video posts | Storage/bandwidth costs, defer to v2+ |
|
|
195
|
-
| OAuth login | Email/password sufficient for v1 |
|
|
196
|
-
| Mobile app | Web-first, mobile later |
|
|
197
|
-
|
|
198
|
-
## Traceability
|
|
199
|
-
|
|
200
|
-
| Requirement | Phase | Status |
|
|
201
|
-
|-------------|-------|--------|
|
|
202
|
-
| AUTH-01 | Phase 1 | Pending |
|
|
203
|
-
| AUTH-02 | Phase 1 | Pending |
|
|
204
|
-
| AUTH-03 | Phase 1 | Pending |
|
|
205
|
-
| AUTH-04 | Phase 1 | Pending |
|
|
206
|
-
| PROF-01 | Phase 2 | Pending |
|
|
207
|
-
| PROF-02 | Phase 2 | Pending |
|
|
208
|
-
| PROF-03 | Phase 2 | Pending |
|
|
209
|
-
| PROF-04 | Phase 2 | Pending |
|
|
210
|
-
| CONT-01 | Phase 3 | Pending |
|
|
211
|
-
| CONT-02 | Phase 3 | Pending |
|
|
212
|
-
| CONT-03 | Phase 3 | Pending |
|
|
213
|
-
| CONT-04 | Phase 3 | Pending |
|
|
214
|
-
| CONT-05 | Phase 3 | Pending |
|
|
215
|
-
| SOCL-01 | Phase 4 | Pending |
|
|
216
|
-
| SOCL-02 | Phase 4 | Pending |
|
|
217
|
-
| SOCL-03 | Phase 4 | Pending |
|
|
218
|
-
| SOCL-04 | Phase 4 | Pending |
|
|
219
|
-
| SOCL-05 | Phase 4 | Pending |
|
|
220
|
-
|
|
221
|
-
**Coverage:**
|
|
222
|
-
- v1 requirements: 18 total
|
|
223
|
-
- Mapped to phases: 18
|
|
224
|
-
- Unmapped: 0 ✓
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
*Requirements defined: 2025-01-14*
|
|
228
|
-
*Last updated: 2025-01-14 after initial definition*
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
</example>
|
|
1
|
+
# Requirements Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/REQUIREMENTS.md` — checkable requirements that define "done."
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Requirements: [Project Name]
|
|
9
|
+
|
|
10
|
+
**Defined:** [date]
|
|
11
|
+
**Core Value:** [from PROJECT.md]
|
|
12
|
+
|
|
13
|
+
## v1 Requirements
|
|
14
|
+
|
|
15
|
+
Requirements for initial release. Each maps to roadmap phases.
|
|
16
|
+
|
|
17
|
+
### Authentication
|
|
18
|
+
|
|
19
|
+
- [ ] **AUTH-01**: User can sign up with email and password
|
|
20
|
+
- [ ] **AUTH-02**: User receives email verification after signup
|
|
21
|
+
- [ ] **AUTH-03**: User can reset password via email link
|
|
22
|
+
- [ ] **AUTH-04**: User session persists across browser refresh
|
|
23
|
+
|
|
24
|
+
### [Category 2]
|
|
25
|
+
|
|
26
|
+
- [ ] **[CAT]-01**: [Requirement description]
|
|
27
|
+
- [ ] **[CAT]-02**: [Requirement description]
|
|
28
|
+
- [ ] **[CAT]-03**: [Requirement description]
|
|
29
|
+
|
|
30
|
+
### [Category 3]
|
|
31
|
+
|
|
32
|
+
- [ ] **[CAT]-01**: [Requirement description]
|
|
33
|
+
- [ ] **[CAT]-02**: [Requirement description]
|
|
34
|
+
|
|
35
|
+
## v2 Requirements
|
|
36
|
+
|
|
37
|
+
Deferred to future release. Tracked but not in current roadmap.
|
|
38
|
+
|
|
39
|
+
### [Category]
|
|
40
|
+
|
|
41
|
+
- **[CAT]-01**: [Requirement description]
|
|
42
|
+
- **[CAT]-02**: [Requirement description]
|
|
43
|
+
|
|
44
|
+
## Out of Scope
|
|
45
|
+
|
|
46
|
+
Explicitly excluded. Documented to prevent scope creep.
|
|
47
|
+
|
|
48
|
+
| Feature | Reason |
|
|
49
|
+
|---------|--------|
|
|
50
|
+
| [Feature] | [Why excluded] |
|
|
51
|
+
| [Feature] | [Why excluded] |
|
|
52
|
+
|
|
53
|
+
## Traceability
|
|
54
|
+
|
|
55
|
+
Which phases cover which requirements. Updated during roadmap creation.
|
|
56
|
+
|
|
57
|
+
| Requirement | Phase | Status |
|
|
58
|
+
|-------------|-------|--------|
|
|
59
|
+
| AUTH-01 | Phase 1 | Pending |
|
|
60
|
+
| AUTH-02 | Phase 1 | Pending |
|
|
61
|
+
| AUTH-03 | Phase 1 | Pending |
|
|
62
|
+
| AUTH-04 | Phase 1 | Pending |
|
|
63
|
+
| [REQ-ID] | Phase [N] | Pending |
|
|
64
|
+
|
|
65
|
+
**Coverage:**
|
|
66
|
+
- v1 requirements: [X] total
|
|
67
|
+
- Mapped to phases: [Y]
|
|
68
|
+
- Unmapped: [Z] ⚠️
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
*Requirements defined: [date]*
|
|
72
|
+
*Last updated: [date] after [trigger]*
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
</template>
|
|
76
|
+
|
|
77
|
+
<guidelines>
|
|
78
|
+
|
|
79
|
+
**Requirement Format:**
|
|
80
|
+
- ID: `[CATEGORY]-[NUMBER]` (AUTH-01, CONTENT-02, SOCIAL-03)
|
|
81
|
+
- Description: User-centric, testable, atomic
|
|
82
|
+
- Checkbox: Only for v1 requirements (v2 are not yet actionable)
|
|
83
|
+
|
|
84
|
+
**Categories:**
|
|
85
|
+
- Derive from research FEATURES.md categories
|
|
86
|
+
- Keep consistent with domain conventions
|
|
87
|
+
- Typical: Authentication, Content, Social, Notifications, Moderation, Payments, Admin
|
|
88
|
+
|
|
89
|
+
**v1 vs v2:**
|
|
90
|
+
- v1: Committed scope, will be in roadmap phases
|
|
91
|
+
- v2: Acknowledged but deferred, not in current roadmap
|
|
92
|
+
- Moving v2 → v1 requires roadmap update
|
|
93
|
+
|
|
94
|
+
**Out of Scope:**
|
|
95
|
+
- Explicit exclusions with reasoning
|
|
96
|
+
- Prevents "why didn't you include X?" later
|
|
97
|
+
- Anti-features from research belong here with warnings
|
|
98
|
+
|
|
99
|
+
**Traceability:**
|
|
100
|
+
- Empty initially, populated during roadmap creation
|
|
101
|
+
- Each requirement maps to exactly one phase
|
|
102
|
+
- Unmapped requirements = roadmap gap
|
|
103
|
+
|
|
104
|
+
**Status Values:**
|
|
105
|
+
- Pending: Not started
|
|
106
|
+
- In Progress: Phase is active
|
|
107
|
+
- Complete: Requirement verified
|
|
108
|
+
- Blocked: Waiting on external factor
|
|
109
|
+
|
|
110
|
+
</guidelines>
|
|
111
|
+
|
|
112
|
+
<evolution>
|
|
113
|
+
|
|
114
|
+
**After each phase completes:**
|
|
115
|
+
1. Mark covered requirements as Complete
|
|
116
|
+
2. Update traceability status
|
|
117
|
+
3. Note any requirements that changed scope
|
|
118
|
+
|
|
119
|
+
**After roadmap updates:**
|
|
120
|
+
1. Verify all v1 requirements still mapped
|
|
121
|
+
2. Add new requirements if scope expanded
|
|
122
|
+
3. Move requirements to v2/out of scope if descoped
|
|
123
|
+
|
|
124
|
+
**Requirement completion criteria:**
|
|
125
|
+
- Requirement is "Complete" when:
|
|
126
|
+
- Feature is implemented
|
|
127
|
+
- Feature is verified (tests pass, manual check done)
|
|
128
|
+
- Feature is committed
|
|
129
|
+
|
|
130
|
+
</evolution>
|
|
131
|
+
|
|
132
|
+
<example>
|
|
133
|
+
|
|
134
|
+
```markdown
|
|
135
|
+
# Requirements: CommunityApp
|
|
136
|
+
|
|
137
|
+
**Defined:** 2025-01-14
|
|
138
|
+
**Core Value:** Users can share and discuss content with people who share their interests
|
|
139
|
+
|
|
140
|
+
## v1 Requirements
|
|
141
|
+
|
|
142
|
+
### Authentication
|
|
143
|
+
|
|
144
|
+
- [ ] **AUTH-01**: User can sign up with email and password
|
|
145
|
+
- [ ] **AUTH-02**: User receives email verification after signup
|
|
146
|
+
- [ ] **AUTH-03**: User can reset password via email link
|
|
147
|
+
- [ ] **AUTH-04**: User session persists across browser refresh
|
|
148
|
+
|
|
149
|
+
### Profiles
|
|
150
|
+
|
|
151
|
+
- [ ] **PROF-01**: User can create profile with display name
|
|
152
|
+
- [ ] **PROF-02**: User can upload avatar image
|
|
153
|
+
- [ ] **PROF-03**: User can write bio (max 500 chars)
|
|
154
|
+
- [ ] **PROF-04**: User can view other users' profiles
|
|
155
|
+
|
|
156
|
+
### Content
|
|
157
|
+
|
|
158
|
+
- [ ] **CONT-01**: User can create text post
|
|
159
|
+
- [ ] **CONT-02**: User can upload image with post
|
|
160
|
+
- [ ] **CONT-03**: User can edit own posts
|
|
161
|
+
- [ ] **CONT-04**: User can delete own posts
|
|
162
|
+
- [ ] **CONT-05**: User can view feed of posts
|
|
163
|
+
|
|
164
|
+
### Social
|
|
165
|
+
|
|
166
|
+
- [ ] **SOCL-01**: User can follow other users
|
|
167
|
+
- [ ] **SOCL-02**: User can unfollow users
|
|
168
|
+
- [ ] **SOCL-03**: User can like posts
|
|
169
|
+
- [ ] **SOCL-04**: User can comment on posts
|
|
170
|
+
- [ ] **SOCL-05**: User can view activity feed (followed users' posts)
|
|
171
|
+
|
|
172
|
+
## v2 Requirements
|
|
173
|
+
|
|
174
|
+
### Notifications
|
|
175
|
+
|
|
176
|
+
- **NOTF-01**: User receives in-app notifications
|
|
177
|
+
- **NOTF-02**: User receives email for new followers
|
|
178
|
+
- **NOTF-03**: User receives email for comments on own posts
|
|
179
|
+
- **NOTF-04**: User can configure notification preferences
|
|
180
|
+
|
|
181
|
+
### Moderation
|
|
182
|
+
|
|
183
|
+
- **MODR-01**: User can report content
|
|
184
|
+
- **MODR-02**: User can block other users
|
|
185
|
+
- **MODR-03**: Admin can view reported content
|
|
186
|
+
- **MODR-04**: Admin can remove content
|
|
187
|
+
- **MODR-05**: Admin can ban users
|
|
188
|
+
|
|
189
|
+
## Out of Scope
|
|
190
|
+
|
|
191
|
+
| Feature | Reason |
|
|
192
|
+
|---------|--------|
|
|
193
|
+
| Real-time chat | High complexity, not core to community value |
|
|
194
|
+
| Video posts | Storage/bandwidth costs, defer to v2+ |
|
|
195
|
+
| OAuth login | Email/password sufficient for v1 |
|
|
196
|
+
| Mobile app | Web-first, mobile later |
|
|
197
|
+
|
|
198
|
+
## Traceability
|
|
199
|
+
|
|
200
|
+
| Requirement | Phase | Status |
|
|
201
|
+
|-------------|-------|--------|
|
|
202
|
+
| AUTH-01 | Phase 1 | Pending |
|
|
203
|
+
| AUTH-02 | Phase 1 | Pending |
|
|
204
|
+
| AUTH-03 | Phase 1 | Pending |
|
|
205
|
+
| AUTH-04 | Phase 1 | Pending |
|
|
206
|
+
| PROF-01 | Phase 2 | Pending |
|
|
207
|
+
| PROF-02 | Phase 2 | Pending |
|
|
208
|
+
| PROF-03 | Phase 2 | Pending |
|
|
209
|
+
| PROF-04 | Phase 2 | Pending |
|
|
210
|
+
| CONT-01 | Phase 3 | Pending |
|
|
211
|
+
| CONT-02 | Phase 3 | Pending |
|
|
212
|
+
| CONT-03 | Phase 3 | Pending |
|
|
213
|
+
| CONT-04 | Phase 3 | Pending |
|
|
214
|
+
| CONT-05 | Phase 3 | Pending |
|
|
215
|
+
| SOCL-01 | Phase 4 | Pending |
|
|
216
|
+
| SOCL-02 | Phase 4 | Pending |
|
|
217
|
+
| SOCL-03 | Phase 4 | Pending |
|
|
218
|
+
| SOCL-04 | Phase 4 | Pending |
|
|
219
|
+
| SOCL-05 | Phase 4 | Pending |
|
|
220
|
+
|
|
221
|
+
**Coverage:**
|
|
222
|
+
- v1 requirements: 18 total
|
|
223
|
+
- Mapped to phases: 18
|
|
224
|
+
- Unmapped: 0 ✓
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
*Requirements defined: 2025-01-14*
|
|
228
|
+
*Last updated: 2025-01-14 after initial definition*
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
</example>
|