claude-cook 1.10.1
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 -0
- package/README.md +607 -0
- package/agents/gsd-codebase-mapper.md +738 -0
- package/agents/gsd-debugger.md +1203 -0
- package/agents/gsd-executor.md +784 -0
- package/agents/gsd-integration-checker.md +423 -0
- package/agents/gsd-phase-researcher.md +641 -0
- package/agents/gsd-plan-checker.md +745 -0
- package/agents/gsd-planner.md +1386 -0
- package/agents/gsd-pm.md +331 -0
- package/agents/gsd-project-researcher.md +865 -0
- package/agents/gsd-research-synthesizer.md +256 -0
- package/agents/gsd-roadmapper.md +605 -0
- package/agents/gsd-verifier.md +778 -0
- package/bin/install.js +1477 -0
- package/commands/gsd/add-phase.md +207 -0
- package/commands/gsd/add-todo.md +193 -0
- package/commands/gsd/audit-milestone.md +277 -0
- package/commands/gsd/check-todos.md +228 -0
- package/commands/gsd/complete-milestone.md +136 -0
- package/commands/gsd/debug.md +169 -0
- package/commands/gsd/discuss-phase.md +86 -0
- package/commands/gsd/execute-phase.md +339 -0
- package/commands/gsd/help.md +545 -0
- package/commands/gsd/insert-phase.md +227 -0
- package/commands/gsd/join-discord.md +18 -0
- package/commands/gsd/list-phase-assumptions.md +50 -0
- package/commands/gsd/map-codebase.md +71 -0
- package/commands/gsd/new-milestone.md +721 -0
- package/commands/gsd/new-project.md +1008 -0
- package/commands/gsd/pause-work.md +134 -0
- package/commands/gsd/plan-milestone-gaps.md +295 -0
- package/commands/gsd/plan-phase.md +525 -0
- package/commands/gsd/pm-check.md +115 -0
- package/commands/gsd/pm-replan.md +102 -0
- package/commands/gsd/pm-start.md +218 -0
- package/commands/gsd/pm-status.md +116 -0
- package/commands/gsd/pm-stop.md +72 -0
- package/commands/gsd/progress.md +415 -0
- package/commands/gsd/quick.md +309 -0
- package/commands/gsd/remove-phase.md +349 -0
- package/commands/gsd/research-phase.md +200 -0
- package/commands/gsd/resume-work.md +40 -0
- package/commands/gsd/set-profile.md +106 -0
- package/commands/gsd/settings.md +151 -0
- package/commands/gsd/update.md +172 -0
- package/commands/gsd/verify-work.md +219 -0
- package/get-shit-done/references/checkpoints.md +1078 -0
- package/get-shit-done/references/continuation-format.md +249 -0
- package/get-shit-done/references/git-integration.md +254 -0
- package/get-shit-done/references/model-profiles.md +73 -0
- package/get-shit-done/references/planning-config.md +189 -0
- package/get-shit-done/references/questioning.md +141 -0
- package/get-shit-done/references/tdd.md +263 -0
- package/get-shit-done/references/ui-brand.md +172 -0
- package/get-shit-done/references/verification-patterns.md +612 -0
- package/get-shit-done/references/vibe-kanban.md +142 -0
- package/get-shit-done/templates/DEBUG.md +159 -0
- package/get-shit-done/templates/UAT.md +247 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +35 -0
- package/get-shit-done/templates/context.md +283 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +567 -0
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/pm-config.md +55 -0
- package/get-shit-done/templates/pm-log.md +27 -0
- package/get-shit-done/templates/project.md +184 -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 +529 -0
- package/get-shit-done/templates/roadmap.md +202 -0
- package/get-shit-done/templates/state.md +205 -0
- package/get-shit-done/templates/summary.md +246 -0
- package/get-shit-done/templates/ticket-map.md +28 -0
- package/get-shit-done/templates/user-setup.md +311 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/complete-milestone.md +903 -0
- package/get-shit-done/workflows/diagnose-issues.md +231 -0
- package/get-shit-done/workflows/discovery-phase.md +289 -0
- package/get-shit-done/workflows/discuss-phase.md +433 -0
- package/get-shit-done/workflows/execute-phase.md +671 -0
- package/get-shit-done/workflows/execute-plan.md +1844 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/map-codebase.md +322 -0
- package/get-shit-done/workflows/pm-check.md +210 -0
- package/get-shit-done/workflows/pm-dispatch.md +104 -0
- package/get-shit-done/workflows/pm-replan.md +203 -0
- package/get-shit-done/workflows/pm-sync.md +130 -0
- package/get-shit-done/workflows/resume-project.md +307 -0
- package/get-shit-done/workflows/transition.md +556 -0
- package/get-shit-done/workflows/verify-phase.md +628 -0
- package/get-shit-done/workflows/verify-work.md +596 -0
- package/hooks/dist/gsd-check-update.js +61 -0
- package/hooks/dist/gsd-statusline.js +87 -0
- package/package.json +47 -0
- package/scripts/build-hooks.js +42 -0
- package/scripts/pm-loop.sh +155 -0
|
@@ -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>
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Pitfalls Research Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/research/PITFALLS.md` — common mistakes to avoid in the project domain.
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Pitfalls Research
|
|
9
|
+
|
|
10
|
+
**Domain:** [domain type]
|
|
11
|
+
**Researched:** [date]
|
|
12
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
+
|
|
14
|
+
## Critical Pitfalls
|
|
15
|
+
|
|
16
|
+
### Pitfall 1: [Name]
|
|
17
|
+
|
|
18
|
+
**What goes wrong:**
|
|
19
|
+
[Description of the failure mode]
|
|
20
|
+
|
|
21
|
+
**Why it happens:**
|
|
22
|
+
[Root cause — why developers make this mistake]
|
|
23
|
+
|
|
24
|
+
**How to avoid:**
|
|
25
|
+
[Specific prevention strategy]
|
|
26
|
+
|
|
27
|
+
**Warning signs:**
|
|
28
|
+
[How to detect this early before it becomes a problem]
|
|
29
|
+
|
|
30
|
+
**Phase to address:**
|
|
31
|
+
[Which roadmap phase should prevent this]
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
### Pitfall 2: [Name]
|
|
36
|
+
|
|
37
|
+
**What goes wrong:**
|
|
38
|
+
[Description of the failure mode]
|
|
39
|
+
|
|
40
|
+
**Why it happens:**
|
|
41
|
+
[Root cause — why developers make this mistake]
|
|
42
|
+
|
|
43
|
+
**How to avoid:**
|
|
44
|
+
[Specific prevention strategy]
|
|
45
|
+
|
|
46
|
+
**Warning signs:**
|
|
47
|
+
[How to detect this early before it becomes a problem]
|
|
48
|
+
|
|
49
|
+
**Phase to address:**
|
|
50
|
+
[Which roadmap phase should prevent this]
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### Pitfall 3: [Name]
|
|
55
|
+
|
|
56
|
+
**What goes wrong:**
|
|
57
|
+
[Description of the failure mode]
|
|
58
|
+
|
|
59
|
+
**Why it happens:**
|
|
60
|
+
[Root cause — why developers make this mistake]
|
|
61
|
+
|
|
62
|
+
**How to avoid:**
|
|
63
|
+
[Specific prevention strategy]
|
|
64
|
+
|
|
65
|
+
**Warning signs:**
|
|
66
|
+
[How to detect this early before it becomes a problem]
|
|
67
|
+
|
|
68
|
+
**Phase to address:**
|
|
69
|
+
[Which roadmap phase should prevent this]
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
[Continue for all critical pitfalls...]
|
|
74
|
+
|
|
75
|
+
## Technical Debt Patterns
|
|
76
|
+
|
|
77
|
+
Shortcuts that seem reasonable but create long-term problems.
|
|
78
|
+
|
|
79
|
+
| Shortcut | Immediate Benefit | Long-term Cost | When Acceptable |
|
|
80
|
+
|----------|-------------------|----------------|-----------------|
|
|
81
|
+
| [shortcut] | [benefit] | [cost] | [conditions, or "never"] |
|
|
82
|
+
| [shortcut] | [benefit] | [cost] | [conditions, or "never"] |
|
|
83
|
+
| [shortcut] | [benefit] | [cost] | [conditions, or "never"] |
|
|
84
|
+
|
|
85
|
+
## Integration Gotchas
|
|
86
|
+
|
|
87
|
+
Common mistakes when connecting to external services.
|
|
88
|
+
|
|
89
|
+
| Integration | Common Mistake | Correct Approach |
|
|
90
|
+
|-------------|----------------|------------------|
|
|
91
|
+
| [service] | [what people do wrong] | [what to do instead] |
|
|
92
|
+
| [service] | [what people do wrong] | [what to do instead] |
|
|
93
|
+
| [service] | [what people do wrong] | [what to do instead] |
|
|
94
|
+
|
|
95
|
+
## Performance Traps
|
|
96
|
+
|
|
97
|
+
Patterns that work at small scale but fail as usage grows.
|
|
98
|
+
|
|
99
|
+
| Trap | Symptoms | Prevention | When It Breaks |
|
|
100
|
+
|------|----------|------------|----------------|
|
|
101
|
+
| [trap] | [how you notice] | [how to avoid] | [scale threshold] |
|
|
102
|
+
| [trap] | [how you notice] | [how to avoid] | [scale threshold] |
|
|
103
|
+
| [trap] | [how you notice] | [how to avoid] | [scale threshold] |
|
|
104
|
+
|
|
105
|
+
## Security Mistakes
|
|
106
|
+
|
|
107
|
+
Domain-specific security issues beyond general web security.
|
|
108
|
+
|
|
109
|
+
| Mistake | Risk | Prevention |
|
|
110
|
+
|---------|------|------------|
|
|
111
|
+
| [mistake] | [what could happen] | [how to avoid] |
|
|
112
|
+
| [mistake] | [what could happen] | [how to avoid] |
|
|
113
|
+
| [mistake] | [what could happen] | [how to avoid] |
|
|
114
|
+
|
|
115
|
+
## UX Pitfalls
|
|
116
|
+
|
|
117
|
+
Common user experience mistakes in this domain.
|
|
118
|
+
|
|
119
|
+
| Pitfall | User Impact | Better Approach |
|
|
120
|
+
|---------|-------------|-----------------|
|
|
121
|
+
| [pitfall] | [how users suffer] | [what to do instead] |
|
|
122
|
+
| [pitfall] | [how users suffer] | [what to do instead] |
|
|
123
|
+
| [pitfall] | [how users suffer] | [what to do instead] |
|
|
124
|
+
|
|
125
|
+
## "Looks Done But Isn't" Checklist
|
|
126
|
+
|
|
127
|
+
Things that appear complete but are missing critical pieces.
|
|
128
|
+
|
|
129
|
+
- [ ] **[Feature]:** Often missing [thing] — verify [check]
|
|
130
|
+
- [ ] **[Feature]:** Often missing [thing] — verify [check]
|
|
131
|
+
- [ ] **[Feature]:** Often missing [thing] — verify [check]
|
|
132
|
+
- [ ] **[Feature]:** Often missing [thing] — verify [check]
|
|
133
|
+
|
|
134
|
+
## Recovery Strategies
|
|
135
|
+
|
|
136
|
+
When pitfalls occur despite prevention, how to recover.
|
|
137
|
+
|
|
138
|
+
| Pitfall | Recovery Cost | Recovery Steps |
|
|
139
|
+
|---------|---------------|----------------|
|
|
140
|
+
| [pitfall] | LOW/MEDIUM/HIGH | [what to do] |
|
|
141
|
+
| [pitfall] | LOW/MEDIUM/HIGH | [what to do] |
|
|
142
|
+
| [pitfall] | LOW/MEDIUM/HIGH | [what to do] |
|
|
143
|
+
|
|
144
|
+
## Pitfall-to-Phase Mapping
|
|
145
|
+
|
|
146
|
+
How roadmap phases should address these pitfalls.
|
|
147
|
+
|
|
148
|
+
| Pitfall | Prevention Phase | Verification |
|
|
149
|
+
|---------|------------------|--------------|
|
|
150
|
+
| [pitfall] | Phase [X] | [how to verify prevention worked] |
|
|
151
|
+
| [pitfall] | Phase [X] | [how to verify prevention worked] |
|
|
152
|
+
| [pitfall] | Phase [X] | [how to verify prevention worked] |
|
|
153
|
+
|
|
154
|
+
## Sources
|
|
155
|
+
|
|
156
|
+
- [Post-mortems referenced]
|
|
157
|
+
- [Community discussions]
|
|
158
|
+
- [Official "gotchas" documentation]
|
|
159
|
+
- [Personal experience / known issues]
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
*Pitfalls research for: [domain]*
|
|
163
|
+
*Researched: [date]*
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
</template>
|
|
167
|
+
|
|
168
|
+
<guidelines>
|
|
169
|
+
|
|
170
|
+
**Critical Pitfalls:**
|
|
171
|
+
- Focus on domain-specific issues, not generic mistakes
|
|
172
|
+
- Include warning signs — early detection prevents disasters
|
|
173
|
+
- Link to specific phases — makes pitfalls actionable
|
|
174
|
+
|
|
175
|
+
**Technical Debt:**
|
|
176
|
+
- Be realistic — some shortcuts are acceptable
|
|
177
|
+
- Note when shortcuts are "never acceptable" vs. "only in MVP"
|
|
178
|
+
- Include the long-term cost to inform tradeoff decisions
|
|
179
|
+
|
|
180
|
+
**Performance Traps:**
|
|
181
|
+
- Include scale thresholds ("breaks at 10k users")
|
|
182
|
+
- Focus on what's relevant for this project's expected scale
|
|
183
|
+
- Don't over-engineer for hypothetical scale
|
|
184
|
+
|
|
185
|
+
**Security Mistakes:**
|
|
186
|
+
- Beyond OWASP basics — domain-specific issues
|
|
187
|
+
- Example: Community platforms have different security concerns than e-commerce
|
|
188
|
+
- Include risk level to prioritize
|
|
189
|
+
|
|
190
|
+
**"Looks Done But Isn't":**
|
|
191
|
+
- Checklist format for verification during execution
|
|
192
|
+
- Common in demos vs. production
|
|
193
|
+
- Prevents "it works on my machine" issues
|
|
194
|
+
|
|
195
|
+
**Pitfall-to-Phase Mapping:**
|
|
196
|
+
- Critical for roadmap creation
|
|
197
|
+
- Each pitfall should map to a phase that prevents it
|
|
198
|
+
- Informs phase ordering and success criteria
|
|
199
|
+
|
|
200
|
+
</guidelines>
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Stack Research Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/research/STACK.md` — recommended technologies for the project domain.
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Stack Research
|
|
9
|
+
|
|
10
|
+
**Domain:** [domain type]
|
|
11
|
+
**Researched:** [date]
|
|
12
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
+
|
|
14
|
+
## Recommended Stack
|
|
15
|
+
|
|
16
|
+
### Core Technologies
|
|
17
|
+
|
|
18
|
+
| Technology | Version | Purpose | Why Recommended |
|
|
19
|
+
|------------|---------|---------|-----------------|
|
|
20
|
+
| [name] | [version] | [what it does] | [why experts use it for this domain] |
|
|
21
|
+
| [name] | [version] | [what it does] | [why experts use it for this domain] |
|
|
22
|
+
| [name] | [version] | [what it does] | [why experts use it for this domain] |
|
|
23
|
+
|
|
24
|
+
### Supporting Libraries
|
|
25
|
+
|
|
26
|
+
| Library | Version | Purpose | When to Use |
|
|
27
|
+
|---------|---------|---------|-------------|
|
|
28
|
+
| [name] | [version] | [what it does] | [specific use case] |
|
|
29
|
+
| [name] | [version] | [what it does] | [specific use case] |
|
|
30
|
+
| [name] | [version] | [what it does] | [specific use case] |
|
|
31
|
+
|
|
32
|
+
### Development Tools
|
|
33
|
+
|
|
34
|
+
| Tool | Purpose | Notes |
|
|
35
|
+
|------|---------|-------|
|
|
36
|
+
| [name] | [what it does] | [configuration tips] |
|
|
37
|
+
| [name] | [what it does] | [configuration tips] |
|
|
38
|
+
|
|
39
|
+
## Installation
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Core
|
|
43
|
+
npm install [packages]
|
|
44
|
+
|
|
45
|
+
# Supporting
|
|
46
|
+
npm install [packages]
|
|
47
|
+
|
|
48
|
+
# Dev dependencies
|
|
49
|
+
npm install -D [packages]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Alternatives Considered
|
|
53
|
+
|
|
54
|
+
| Recommended | Alternative | When to Use Alternative |
|
|
55
|
+
|-------------|-------------|-------------------------|
|
|
56
|
+
| [our choice] | [other option] | [conditions where alternative is better] |
|
|
57
|
+
| [our choice] | [other option] | [conditions where alternative is better] |
|
|
58
|
+
|
|
59
|
+
## What NOT to Use
|
|
60
|
+
|
|
61
|
+
| Avoid | Why | Use Instead |
|
|
62
|
+
|-------|-----|-------------|
|
|
63
|
+
| [technology] | [specific problem] | [recommended alternative] |
|
|
64
|
+
| [technology] | [specific problem] | [recommended alternative] |
|
|
65
|
+
|
|
66
|
+
## Stack Patterns by Variant
|
|
67
|
+
|
|
68
|
+
**If [condition]:**
|
|
69
|
+
- Use [variation]
|
|
70
|
+
- Because [reason]
|
|
71
|
+
|
|
72
|
+
**If [condition]:**
|
|
73
|
+
- Use [variation]
|
|
74
|
+
- Because [reason]
|
|
75
|
+
|
|
76
|
+
## Version Compatibility
|
|
77
|
+
|
|
78
|
+
| Package A | Compatible With | Notes |
|
|
79
|
+
|-----------|-----------------|-------|
|
|
80
|
+
| [package@version] | [package@version] | [compatibility notes] |
|
|
81
|
+
|
|
82
|
+
## Sources
|
|
83
|
+
|
|
84
|
+
- [Context7 library ID] — [topics fetched]
|
|
85
|
+
- [Official docs URL] — [what was verified]
|
|
86
|
+
- [Other source] — [confidence level]
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
*Stack research for: [domain]*
|
|
90
|
+
*Researched: [date]*
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
</template>
|
|
94
|
+
|
|
95
|
+
<guidelines>
|
|
96
|
+
|
|
97
|
+
**Core Technologies:**
|
|
98
|
+
- Include specific version numbers
|
|
99
|
+
- Explain why this is the standard choice, not just what it does
|
|
100
|
+
- Focus on technologies that affect architecture decisions
|
|
101
|
+
|
|
102
|
+
**Supporting Libraries:**
|
|
103
|
+
- Include libraries commonly needed for this domain
|
|
104
|
+
- Note when each is needed (not all projects need all libraries)
|
|
105
|
+
|
|
106
|
+
**Alternatives:**
|
|
107
|
+
- Don't just dismiss alternatives
|
|
108
|
+
- Explain when alternatives make sense
|
|
109
|
+
- Helps user make informed decisions if they disagree
|
|
110
|
+
|
|
111
|
+
**What NOT to Use:**
|
|
112
|
+
- Actively warn against outdated or problematic choices
|
|
113
|
+
- Explain the specific problem, not just "it's old"
|
|
114
|
+
- Provide the recommended alternative
|
|
115
|
+
|
|
116
|
+
**Version Compatibility:**
|
|
117
|
+
- Note any known compatibility issues
|
|
118
|
+
- Critical for avoiding debugging time later
|
|
119
|
+
|
|
120
|
+
</guidelines>
|