gsd-opencode 1.5.2 → 1.6.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/agents/gsd-codebase-mapper.md +743 -0
- package/agents/gsd-debugger.md +1191 -0
- package/agents/gsd-executor.md +759 -0
- package/agents/gsd-integration-checker.md +427 -0
- package/agents/gsd-phase-researcher.md +637 -0
- package/agents/gsd-plan-checker.md +749 -0
- package/agents/gsd-planner.md +1373 -0
- package/agents/gsd-project-researcher.md +877 -0
- package/agents/gsd-research-synthesizer.md +250 -0
- package/agents/gsd-roadmapper.md +610 -0
- package/agents/gsd-verifier.md +782 -0
- package/bin/install.js +11 -1
- package/command/gsd/add-phase.md +5 -7
- package/command/gsd/add-todo.md +4 -6
- package/command/gsd/audit-milestone.md +257 -0
- package/command/gsd/check-todos.md +2 -4
- package/command/gsd/complete-milestone.md +53 -23
- package/command/gsd/debug.md +120 -30
- package/command/gsd/discuss-phase.md +51 -30
- package/command/gsd/execute-phase.md +192 -26
- package/command/gsd/help.md +66 -75
- package/command/gsd/insert-phase.md +6 -6
- package/command/gsd/list-phase-assumptions.md +1 -1
- package/command/gsd/map-codebase.md +15 -28
- package/command/gsd/new-milestone.md +693 -36
- package/command/gsd/new-project.md +668 -108
- package/command/gsd/pause-work.md +2 -2
- package/command/gsd/plan-milestone-gaps.md +284 -0
- package/command/gsd/plan-phase.md +449 -42
- package/command/gsd/progress.md +66 -36
- package/command/gsd/remove-phase.md +17 -19
- package/command/gsd/research-phase.md +155 -67
- package/command/gsd/resume-work.md +3 -3
- package/command/gsd/update.md +172 -0
- package/command/gsd/verify-work.md +186 -38
- package/command/gsd/whats-new.md +124 -0
- package/get-shit-done/references/checkpoints.md +599 -98
- package/get-shit-done/references/continuation-format.md +5 -11
- package/get-shit-done/references/questioning.md +87 -108
- package/get-shit-done/references/tdd.md +3 -3
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/verification-patterns.md +595 -0
- package/get-shit-done/templates/DEBUG.md +3 -3
- package/get-shit-done/templates/UAT.md +247 -0
- package/get-shit-done/templates/codebase/architecture.md +5 -5
- package/get-shit-done/templates/codebase/concerns.md +1 -1
- package/get-shit-done/templates/codebase/conventions.md +1 -1
- package/get-shit-done/templates/codebase/structure.md +8 -8
- package/get-shit-done/templates/codebase/testing.md +2 -2
- package/get-shit-done/templates/context.md +221 -70
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/discovery.md +5 -5
- package/get-shit-done/templates/phase-prompt.md +115 -2
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +2 -2
- package/get-shit-done/templates/roadmap.md +26 -20
- package/get-shit-done/templates/state.md +2 -17
- package/get-shit-done/templates/summary.md +13 -17
- package/get-shit-done/templates/user-setup.md +323 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/complete-milestone.md +152 -45
- package/get-shit-done/workflows/diagnose-issues.md +233 -0
- package/get-shit-done/workflows/discovery-phase.md +12 -17
- package/get-shit-done/workflows/discuss-phase.md +309 -124
- package/get-shit-done/workflows/execute-phase.md +177 -18
- package/get-shit-done/workflows/execute-plan.md +163 -145
- package/get-shit-done/workflows/map-codebase.md +86 -231
- package/get-shit-done/workflows/resume-project.md +18 -20
- package/get-shit-done/workflows/transition.md +7 -23
- package/get-shit-done/workflows/verify-phase.md +629 -0
- package/get-shit-done/workflows/verify-work.md +495 -134
- package/package.json +2 -1
- package/command/gsd/consider-issues.md +0 -201
- package/command/gsd/create-roadmap.md +0 -115
- package/command/gsd/discuss-milestone.md +0 -47
- package/command/gsd/execute-plan.md +0 -103
- package/command/gsd/plan-fix.md +0 -205
- package/command/gsd/status.md +0 -127
- package/get-shit-done/references/debugging/debugging-mindset.md +0 -253
- package/get-shit-done/references/debugging/hypothesis-testing.md +0 -373
- package/get-shit-done/references/debugging/investigation-techniques.md +0 -337
- package/get-shit-done/references/debugging/verification-patterns.md +0 -425
- package/get-shit-done/references/debugging/when-to-research.md +0 -361
- package/get-shit-done/references/plan-format.md +0 -475
- package/get-shit-done/references/principles.md +0 -157
- package/get-shit-done/references/research-pitfalls.md +0 -215
- package/get-shit-done/references/scope-estimation.md +0 -256
- package/get-shit-done/templates/agent-history.md +0 -263
- package/get-shit-done/templates/checkpoint-return.md +0 -204
- package/get-shit-done/templates/config.json +0 -26
- package/get-shit-done/templates/continuation-prompt.md +0 -235
- package/get-shit-done/templates/issues.md +0 -32
- package/get-shit-done/templates/milestone-context.md +0 -93
- package/get-shit-done/templates/subagent-task-prompt.md +0 -95
- package/get-shit-done/templates/uat-issues.md +0 -143
- package/get-shit-done/workflows/_archive/execute-phase.md +0 -899
- package/get-shit-done/workflows/create-milestone.md +0 -416
- package/get-shit-done/workflows/create-roadmap.md +0 -481
- package/get-shit-done/workflows/debug.md +0 -426
- package/get-shit-done/workflows/discuss-milestone.md +0 -236
- package/get-shit-done/workflows/plan-phase.md +0 -701
- package/get-shit-done/workflows/research-phase.md +0 -436
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Planner Subagent Prompt Template
|
|
2
|
+
|
|
3
|
+
Template for spawning gsd-planner agent. The agent contains all planning expertise - this template provides planning context only.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Template
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
<planning_context>
|
|
11
|
+
|
|
12
|
+
**Phase:** {phase_number}
|
|
13
|
+
**Mode:** {standard | gap_closure}
|
|
14
|
+
|
|
15
|
+
**Project State:**
|
|
16
|
+
@.planning/STATE.md
|
|
17
|
+
|
|
18
|
+
**Roadmap:**
|
|
19
|
+
@.planning/ROADMAP.md
|
|
20
|
+
|
|
21
|
+
**Requirements (if exists):**
|
|
22
|
+
@.planning/REQUIREMENTS.md
|
|
23
|
+
|
|
24
|
+
**Phase Context (if exists):**
|
|
25
|
+
@.planning/phases/{phase_dir}/{phase}-CONTEXT.md
|
|
26
|
+
|
|
27
|
+
**Research (if exists):**
|
|
28
|
+
@.planning/phases/{phase_dir}/{phase}-RESEARCH.md
|
|
29
|
+
|
|
30
|
+
**Gap Closure (if --gaps mode):**
|
|
31
|
+
@.planning/phases/{phase_dir}/{phase}-VERIFICATION.md
|
|
32
|
+
@.planning/phases/{phase_dir}/{phase}-UAT.md
|
|
33
|
+
|
|
34
|
+
</planning_context>
|
|
35
|
+
|
|
36
|
+
<downstream_consumer>
|
|
37
|
+
Output consumed by /gsd-execute-phase
|
|
38
|
+
Plans must be executable prompts with:
|
|
39
|
+
- Frontmatter (wave, depends_on, files_modified, autonomous)
|
|
40
|
+
- Tasks in XML format
|
|
41
|
+
- Verification criteria
|
|
42
|
+
- must_haves for goal-backward verification
|
|
43
|
+
</downstream_consumer>
|
|
44
|
+
|
|
45
|
+
<quality_gate>
|
|
46
|
+
Before returning PLANNING COMPLETE:
|
|
47
|
+
- [ ] PLAN.md files created in phase directory
|
|
48
|
+
- [ ] Each plan has valid frontmatter
|
|
49
|
+
- [ ] Tasks are specific and actionable
|
|
50
|
+
- [ ] Dependencies correctly identified
|
|
51
|
+
- [ ] Waves assigned for parallel execution
|
|
52
|
+
- [ ] must_haves derived from phase goal
|
|
53
|
+
</quality_gate>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Placeholders
|
|
59
|
+
|
|
60
|
+
| Placeholder | Source | Example |
|
|
61
|
+
|-------------|--------|---------|
|
|
62
|
+
| `{phase_number}` | From roadmap/arguments | `5` or `2.1` |
|
|
63
|
+
| `{phase_dir}` | Phase directory name | `05-user-profiles` |
|
|
64
|
+
| `{phase}` | Phase prefix | `05` |
|
|
65
|
+
| `{standard \| gap_closure}` | Mode flag | `standard` |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Usage
|
|
70
|
+
|
|
71
|
+
**From /gsd-plan-phase (standard mode):**
|
|
72
|
+
```python
|
|
73
|
+
Task(
|
|
74
|
+
prompt=filled_template,
|
|
75
|
+
subagent_type="gsd-planner",
|
|
76
|
+
description="Plan Phase {phase}"
|
|
77
|
+
)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**From /gsd-plan-phase --gaps (gap closure mode):**
|
|
81
|
+
```python
|
|
82
|
+
Task(
|
|
83
|
+
prompt=filled_template, # with mode: gap_closure
|
|
84
|
+
subagent_type="gsd-planner",
|
|
85
|
+
description="Plan gaps for Phase {phase}"
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Continuation
|
|
92
|
+
|
|
93
|
+
For checkpoints, spawn fresh agent with:
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
<objective>
|
|
97
|
+
Continue planning for Phase {phase_number}: {phase_name}
|
|
98
|
+
</objective>
|
|
99
|
+
|
|
100
|
+
<prior_state>
|
|
101
|
+
Phase directory: @.planning/phases/{phase_dir}/
|
|
102
|
+
Existing plans: @.planning/phases/{phase_dir}/*-PLAN.md
|
|
103
|
+
</prior_state>
|
|
104
|
+
|
|
105
|
+
<checkpoint_response>
|
|
106
|
+
**Type:** {checkpoint_type}
|
|
107
|
+
**Response:** {user_response}
|
|
108
|
+
</checkpoint_response>
|
|
109
|
+
|
|
110
|
+
<mode>
|
|
111
|
+
Continue: {standard | gap_closure}
|
|
112
|
+
</mode>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
**Note:** Planning methodology, task breakdown, dependency analysis, wave assignment, TDD detection, and goal-backward derivation are baked into the gsd-planner agent. This template only passes context.
|
|
@@ -0,0 +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>
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# Architecture Research Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/research/ARCHITECTURE.md` — system structure patterns for the project domain.
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Architecture Research
|
|
9
|
+
|
|
10
|
+
**Domain:** [domain type]
|
|
11
|
+
**Researched:** [date]
|
|
12
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
+
|
|
14
|
+
## Standard Architecture
|
|
15
|
+
|
|
16
|
+
### System Overview
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
20
|
+
│ [Layer Name] │
|
|
21
|
+
├─────────────────────────────────────────────────────────────┤
|
|
22
|
+
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
23
|
+
│ │ [Comp] │ │ [Comp] │ │ [Comp] │ │ [Comp] │ │
|
|
24
|
+
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
|
|
25
|
+
│ │ │ │ │ │
|
|
26
|
+
├───────┴────────────┴────────────┴────────────┴──────────────┤
|
|
27
|
+
│ [Layer Name] │
|
|
28
|
+
├─────────────────────────────────────────────────────────────┤
|
|
29
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
30
|
+
│ │ [Component] │ │
|
|
31
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
32
|
+
├─────────────────────────────────────────────────────────────┤
|
|
33
|
+
│ [Layer Name] │
|
|
34
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
35
|
+
│ │ [Store] │ │ [Store] │ │ [Store] │ │
|
|
36
|
+
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
37
|
+
└─────────────────────────────────────────────────────────────┘
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Component Responsibilities
|
|
41
|
+
|
|
42
|
+
| Component | Responsibility | Typical Implementation |
|
|
43
|
+
|-----------|----------------|------------------------|
|
|
44
|
+
| [name] | [what it owns] | [how it's usually built] |
|
|
45
|
+
| [name] | [what it owns] | [how it's usually built] |
|
|
46
|
+
| [name] | [what it owns] | [how it's usually built] |
|
|
47
|
+
|
|
48
|
+
## Recommended Project Structure
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
src/
|
|
52
|
+
├── [folder]/ # [purpose]
|
|
53
|
+
│ ├── [subfolder]/ # [purpose]
|
|
54
|
+
│ └── [file].ts # [purpose]
|
|
55
|
+
├── [folder]/ # [purpose]
|
|
56
|
+
│ ├── [subfolder]/ # [purpose]
|
|
57
|
+
│ └── [file].ts # [purpose]
|
|
58
|
+
├── [folder]/ # [purpose]
|
|
59
|
+
└── [folder]/ # [purpose]
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Structure Rationale
|
|
63
|
+
|
|
64
|
+
- **[folder]/:** [why organized this way]
|
|
65
|
+
- **[folder]/:** [why organized this way]
|
|
66
|
+
|
|
67
|
+
## Architectural Patterns
|
|
68
|
+
|
|
69
|
+
### Pattern 1: [Pattern Name]
|
|
70
|
+
|
|
71
|
+
**What:** [description]
|
|
72
|
+
**When to use:** [conditions]
|
|
73
|
+
**Trade-offs:** [pros and cons]
|
|
74
|
+
|
|
75
|
+
**Example:**
|
|
76
|
+
```typescript
|
|
77
|
+
// [Brief code example showing the pattern]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Pattern 2: [Pattern Name]
|
|
81
|
+
|
|
82
|
+
**What:** [description]
|
|
83
|
+
**When to use:** [conditions]
|
|
84
|
+
**Trade-offs:** [pros and cons]
|
|
85
|
+
|
|
86
|
+
**Example:**
|
|
87
|
+
```typescript
|
|
88
|
+
// [Brief code example showing the pattern]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Pattern 3: [Pattern Name]
|
|
92
|
+
|
|
93
|
+
**What:** [description]
|
|
94
|
+
**When to use:** [conditions]
|
|
95
|
+
**Trade-offs:** [pros and cons]
|
|
96
|
+
|
|
97
|
+
## Data Flow
|
|
98
|
+
|
|
99
|
+
### Request Flow
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
[User Action]
|
|
103
|
+
↓
|
|
104
|
+
[Component] → [Handler] → [Service] → [Data Store]
|
|
105
|
+
↓ ↓ ↓ ↓
|
|
106
|
+
[Response] ← [Transform] ← [Query] ← [Database]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### State Management
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
[State Store]
|
|
113
|
+
↓ (subscribe)
|
|
114
|
+
[Components] ←→ [Actions] → [Reducers/Mutations] → [State Store]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Key Data Flows
|
|
118
|
+
|
|
119
|
+
1. **[Flow name]:** [description of how data moves]
|
|
120
|
+
2. **[Flow name]:** [description of how data moves]
|
|
121
|
+
|
|
122
|
+
## Scaling Considerations
|
|
123
|
+
|
|
124
|
+
| Scale | Architecture Adjustments |
|
|
125
|
+
|-------|--------------------------|
|
|
126
|
+
| 0-1k users | [approach — usually monolith is fine] |
|
|
127
|
+
| 1k-100k users | [approach — what to optimize first] |
|
|
128
|
+
| 100k+ users | [approach — when to consider splitting] |
|
|
129
|
+
|
|
130
|
+
### Scaling Priorities
|
|
131
|
+
|
|
132
|
+
1. **First bottleneck:** [what breaks first, how to fix]
|
|
133
|
+
2. **Second bottleneck:** [what breaks next, how to fix]
|
|
134
|
+
|
|
135
|
+
## Anti-Patterns
|
|
136
|
+
|
|
137
|
+
### Anti-Pattern 1: [Name]
|
|
138
|
+
|
|
139
|
+
**What people do:** [the mistake]
|
|
140
|
+
**Why it's wrong:** [the problem it causes]
|
|
141
|
+
**Do this instead:** [the correct approach]
|
|
142
|
+
|
|
143
|
+
### Anti-Pattern 2: [Name]
|
|
144
|
+
|
|
145
|
+
**What people do:** [the mistake]
|
|
146
|
+
**Why it's wrong:** [the problem it causes]
|
|
147
|
+
**Do this instead:** [the correct approach]
|
|
148
|
+
|
|
149
|
+
## Integration Points
|
|
150
|
+
|
|
151
|
+
### External Services
|
|
152
|
+
|
|
153
|
+
| Service | Integration Pattern | Notes |
|
|
154
|
+
|---------|---------------------|-------|
|
|
155
|
+
| [service] | [how to connect] | [gotchas] |
|
|
156
|
+
| [service] | [how to connect] | [gotchas] |
|
|
157
|
+
|
|
158
|
+
### Internal Boundaries
|
|
159
|
+
|
|
160
|
+
| Boundary | Communication | Notes |
|
|
161
|
+
|----------|---------------|-------|
|
|
162
|
+
| [module A ↔ module B] | [API/events/direct] | [considerations] |
|
|
163
|
+
|
|
164
|
+
## Sources
|
|
165
|
+
|
|
166
|
+
- [Architecture references]
|
|
167
|
+
- [Official documentation]
|
|
168
|
+
- [Case studies]
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
*Architecture research for: [domain]*
|
|
172
|
+
*Researched: [date]*
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
</template>
|
|
176
|
+
|
|
177
|
+
<guidelines>
|
|
178
|
+
|
|
179
|
+
**System Overview:**
|
|
180
|
+
- Use ASCII diagrams for clarity
|
|
181
|
+
- Show major components and their relationships
|
|
182
|
+
- Don't over-detail — this is conceptual, not implementation
|
|
183
|
+
|
|
184
|
+
**Project Structure:**
|
|
185
|
+
- Be specific about folder organization
|
|
186
|
+
- Explain the rationale for grouping
|
|
187
|
+
- Match conventions of the chosen stack
|
|
188
|
+
|
|
189
|
+
**Patterns:**
|
|
190
|
+
- Include code examples where helpful
|
|
191
|
+
- Explain trade-offs honestly
|
|
192
|
+
- Note when patterns are overkill for small projects
|
|
193
|
+
|
|
194
|
+
**Scaling Considerations:**
|
|
195
|
+
- Be realistic — most projects don't need to scale to millions
|
|
196
|
+
- Focus on "what breaks first" not theoretical limits
|
|
197
|
+
- Avoid premature optimization recommendations
|
|
198
|
+
|
|
199
|
+
**Anti-Patterns:**
|
|
200
|
+
- Specific to this domain
|
|
201
|
+
- Include what to do instead
|
|
202
|
+
- Helps prevent common mistakes during implementation
|
|
203
|
+
|
|
204
|
+
</guidelines>
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Features Research Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/research/FEATURES.md` — feature landscape for the project domain.
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Feature Research
|
|
9
|
+
|
|
10
|
+
**Domain:** [domain type]
|
|
11
|
+
**Researched:** [date]
|
|
12
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
+
|
|
14
|
+
## Feature Landscape
|
|
15
|
+
|
|
16
|
+
### Table Stakes (Users Expect These)
|
|
17
|
+
|
|
18
|
+
Features users assume exist. Missing these = product feels incomplete.
|
|
19
|
+
|
|
20
|
+
| Feature | Why Expected | Complexity | Notes |
|
|
21
|
+
|---------|--------------|------------|-------|
|
|
22
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
23
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
24
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
25
|
+
|
|
26
|
+
### Differentiators (Competitive Advantage)
|
|
27
|
+
|
|
28
|
+
Features that set the product apart. Not required, but valuable.
|
|
29
|
+
|
|
30
|
+
| Feature | Value Proposition | Complexity | Notes |
|
|
31
|
+
|---------|-------------------|------------|-------|
|
|
32
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
33
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
34
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
35
|
+
|
|
36
|
+
### Anti-Features (Commonly Requested, Often Problematic)
|
|
37
|
+
|
|
38
|
+
Features that seem good but create problems.
|
|
39
|
+
|
|
40
|
+
| Feature | Why Requested | Why Problematic | Alternative |
|
|
41
|
+
|---------|---------------|-----------------|-------------|
|
|
42
|
+
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
43
|
+
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
44
|
+
|
|
45
|
+
## Feature Dependencies
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
[Feature A]
|
|
49
|
+
└──requires──> [Feature B]
|
|
50
|
+
└──requires──> [Feature C]
|
|
51
|
+
|
|
52
|
+
[Feature D] ──enhances──> [Feature A]
|
|
53
|
+
|
|
54
|
+
[Feature E] ──conflicts──> [Feature F]
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Dependency Notes
|
|
58
|
+
|
|
59
|
+
- **[Feature A] requires [Feature B]:** [why the dependency exists]
|
|
60
|
+
- **[Feature D] enhances [Feature A]:** [how they work together]
|
|
61
|
+
- **[Feature E] conflicts with [Feature F]:** [why they're incompatible]
|
|
62
|
+
|
|
63
|
+
## MVP Definition
|
|
64
|
+
|
|
65
|
+
### Launch With (v1)
|
|
66
|
+
|
|
67
|
+
Minimum viable product — what's needed to validate the concept.
|
|
68
|
+
|
|
69
|
+
- [ ] [Feature] — [why essential]
|
|
70
|
+
- [ ] [Feature] — [why essential]
|
|
71
|
+
- [ ] [Feature] — [why essential]
|
|
72
|
+
|
|
73
|
+
### Add After Validation (v1.x)
|
|
74
|
+
|
|
75
|
+
Features to add once core is working.
|
|
76
|
+
|
|
77
|
+
- [ ] [Feature] — [trigger for adding]
|
|
78
|
+
- [ ] [Feature] — [trigger for adding]
|
|
79
|
+
|
|
80
|
+
### Future Consideration (v2+)
|
|
81
|
+
|
|
82
|
+
Features to defer until product-market fit is established.
|
|
83
|
+
|
|
84
|
+
- [ ] [Feature] — [why defer]
|
|
85
|
+
- [ ] [Feature] — [why defer]
|
|
86
|
+
|
|
87
|
+
## Feature Prioritization Matrix
|
|
88
|
+
|
|
89
|
+
| Feature | User Value | Implementation Cost | Priority |
|
|
90
|
+
|---------|------------|---------------------|----------|
|
|
91
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
92
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
93
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
94
|
+
|
|
95
|
+
**Priority key:**
|
|
96
|
+
- P1: Must have for launch
|
|
97
|
+
- P2: Should have, add when possible
|
|
98
|
+
- P3: Nice to have, future consideration
|
|
99
|
+
|
|
100
|
+
## Competitor Feature Analysis
|
|
101
|
+
|
|
102
|
+
| Feature | Competitor A | Competitor B | Our Approach |
|
|
103
|
+
|---------|--------------|--------------|--------------|
|
|
104
|
+
| [feature] | [how they do it] | [how they do it] | [our plan] |
|
|
105
|
+
| [feature] | [how they do it] | [how they do it] | [our plan] |
|
|
106
|
+
|
|
107
|
+
## Sources
|
|
108
|
+
|
|
109
|
+
- [Competitor products analyzed]
|
|
110
|
+
- [User research or feedback sources]
|
|
111
|
+
- [Industry standards referenced]
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
*Feature research for: [domain]*
|
|
115
|
+
*Researched: [date]*
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
</template>
|
|
119
|
+
|
|
120
|
+
<guidelines>
|
|
121
|
+
|
|
122
|
+
**Table Stakes:**
|
|
123
|
+
- These are non-negotiable for launch
|
|
124
|
+
- Users don't give credit for having them, but penalize for missing them
|
|
125
|
+
- Example: A community platform without user profiles is broken
|
|
126
|
+
|
|
127
|
+
**Differentiators:**
|
|
128
|
+
- These are where you compete
|
|
129
|
+
- Should align with the Core Value from PROJECT.md
|
|
130
|
+
- Don't try to differentiate on everything
|
|
131
|
+
|
|
132
|
+
**Anti-Features:**
|
|
133
|
+
- Prevent scope creep by documenting what seems good but isn't
|
|
134
|
+
- Include the alternative approach
|
|
135
|
+
- Example: "Real-time everything" often creates complexity without value
|
|
136
|
+
|
|
137
|
+
**Feature Dependencies:**
|
|
138
|
+
- Critical for roadmap phase ordering
|
|
139
|
+
- If A requires B, B must be in an earlier phase
|
|
140
|
+
- Conflicts inform what NOT to combine in same phase
|
|
141
|
+
|
|
142
|
+
**MVP Definition:**
|
|
143
|
+
- Be ruthless about what's truly minimum
|
|
144
|
+
- "Nice to have" is not MVP
|
|
145
|
+
- Launch with less, validate, then expand
|
|
146
|
+
|
|
147
|
+
</guidelines>
|