learnship 2.1.2 → 2.2.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/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/README.md +172 -155
- package/SKILL.md +23 -2
- package/bin/install.js +316 -3
- package/commands/learnship/diagnose-issues.md +1 -0
- package/commands/learnship/discuss-phase.md +1 -0
- package/commands/learnship/ideate.md +3 -0
- package/commands/learnship/list-phase-assumptions.md +1 -0
- package/commands/learnship/new-project.md +2 -0
- package/commands/learnship/plan-phase.md +2 -0
- package/commands/learnship/quick.md +1 -0
- package/commands/learnship/research-phase.md +3 -0
- package/commands/learnship/secure-phase.md +1 -0
- package/commands/learnship/validate-phase.md +2 -0
- package/commands/learnship/verify-work.md +1 -0
- package/cursor-rules/learnship.mdc +14 -4
- package/gemini-extension.json +1 -1
- package/hooks/learnship-context-monitor.js +120 -0
- package/hooks/learnship-prompt-guard.js +75 -0
- package/hooks/learnship-session-state.js +136 -0
- package/hooks/learnship-statusline.js +179 -0
- package/learnship/agents/researcher.md +43 -2
- package/learnship/contexts/dev.md +21 -0
- package/learnship/contexts/research.md +22 -0
- package/learnship/contexts/review.md +22 -0
- package/learnship/templates/research-project/ARCHITECTURE.md +140 -0
- package/learnship/templates/research-project/FEATURES.md +130 -0
- package/learnship/templates/research-project/PITFALLS.md +102 -0
- package/learnship/templates/research-project/STACK.md +105 -0
- package/learnship/templates/research-project/SUMMARY.md +111 -0
- package/learnship/workflows/challenge.md +16 -4
- package/learnship/workflows/debug.md +30 -6
- package/learnship/workflows/diagnose-issues.md +14 -1
- package/learnship/workflows/discuss-milestone.md +15 -1
- package/learnship/workflows/discuss-phase.md +83 -10
- package/learnship/workflows/ideate.md +25 -5
- package/learnship/workflows/list-phase-assumptions.md +12 -5
- package/learnship/workflows/new-milestone.md +12 -6
- package/learnship/workflows/new-project.md +232 -75
- package/learnship/workflows/plan-phase.md +17 -3
- package/learnship/workflows/quick.md +18 -4
- package/learnship/workflows/research-phase.md +62 -9
- package/learnship/workflows/secure-phase.md +57 -15
- package/learnship/workflows/settings.md +142 -142
- package/learnship/workflows/validate-phase.md +39 -12
- package/learnship/workflows/verify-work.md +27 -0
- package/package.json +1 -1
- package/templates/config.json +1 -0
|
@@ -0,0 +1,140 @@
|
|
|
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
|
+
## Component Boundaries
|
|
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
|
+
## Data Flow
|
|
49
|
+
|
|
50
|
+
### Primary Data Flow
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
[Source] → [Transform/Process] → [Destination]
|
|
54
|
+
↓
|
|
55
|
+
[Side Effect / Event]
|
|
56
|
+
↓
|
|
57
|
+
[Consumer]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Data Flow Description
|
|
61
|
+
|
|
62
|
+
| Flow | Source | Destination | Format | Notes |
|
|
63
|
+
|------|--------|-------------|--------|-------|
|
|
64
|
+
| [name] | [where data originates] | [where it goes] | [JSON/binary/stream] | [important details] |
|
|
65
|
+
| [name] | [where data originates] | [where it goes] | [JSON/binary/stream] | [important details] |
|
|
66
|
+
|
|
67
|
+
## Build Order
|
|
68
|
+
|
|
69
|
+
Suggested implementation sequence based on dependencies:
|
|
70
|
+
|
|
71
|
+
| Order | Component | Dependencies | Rationale |
|
|
72
|
+
|-------|-----------|--------------|-----------|
|
|
73
|
+
| 1 | [component] | None | [why first — usually data layer or core abstractions] |
|
|
74
|
+
| 2 | [component] | [depends on #1] | [why this order] |
|
|
75
|
+
| 3 | [component] | [depends on #1, #2] | [why this order] |
|
|
76
|
+
| 4 | [component] | [depends on #2, #3] | [why this order] |
|
|
77
|
+
|
|
78
|
+
## Integration Points
|
|
79
|
+
|
|
80
|
+
### External Integrations
|
|
81
|
+
|
|
82
|
+
| Integration | Type | Protocol | Auth | Notes |
|
|
83
|
+
|------------|------|----------|------|-------|
|
|
84
|
+
| [service] | [API/SDK/webhook] | [REST/gRPC/WS] | [key/OAuth/none] | [rate limits, gotchas] |
|
|
85
|
+
|
|
86
|
+
### Internal Boundaries
|
|
87
|
+
|
|
88
|
+
| Boundary | Left Side | Right Side | Contract |
|
|
89
|
+
|----------|-----------|------------|----------|
|
|
90
|
+
| [name] | [module A] | [module B] | [interface/API shape] |
|
|
91
|
+
|
|
92
|
+
## Recommended Project Structure
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
src/
|
|
96
|
+
├── [folder]/ # [purpose]
|
|
97
|
+
│ ├── [subfolder]/ # [purpose]
|
|
98
|
+
│ └── [file].ts # [purpose]
|
|
99
|
+
├── [folder]/ # [purpose]
|
|
100
|
+
│ ├── [subfolder]/ # [purpose]
|
|
101
|
+
│ └── [file].ts # [purpose]
|
|
102
|
+
├── [folder]/ # [purpose]
|
|
103
|
+
└── [folder]/ # [purpose]
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
*Architecture research for: [domain]*
|
|
108
|
+
*Researched: [date]*
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
</template>
|
|
112
|
+
|
|
113
|
+
<guidelines>
|
|
114
|
+
|
|
115
|
+
**Component Boundaries:**
|
|
116
|
+
- Use ASCII diagrams for system overview — they render in any terminal or editor
|
|
117
|
+
- Each component should have a single clear responsibility
|
|
118
|
+
- If a component does two things, it should probably be two components
|
|
119
|
+
|
|
120
|
+
**Data Flow:**
|
|
121
|
+
- Show the primary happy path first, then edge cases
|
|
122
|
+
- Note data format at each boundary (JSON, binary, stream)
|
|
123
|
+
- Identify where data transforms happen — these are common bug sources
|
|
124
|
+
|
|
125
|
+
**Build Order:**
|
|
126
|
+
- This directly feeds into roadmap phase ordering
|
|
127
|
+
- Always start with the data layer or core abstractions
|
|
128
|
+
- UI comes last (it depends on everything below it)
|
|
129
|
+
|
|
130
|
+
**Integration Points:**
|
|
131
|
+
- Note rate limits, auth requirements, and known gotchas
|
|
132
|
+
- External integrations are the most common source of runtime failures
|
|
133
|
+
- Define internal boundaries as interfaces/contracts — this enables parallel work
|
|
134
|
+
|
|
135
|
+
**Project Structure:**
|
|
136
|
+
- Follow domain conventions (e.g., Next.js app/ router, Django apps/)
|
|
137
|
+
- Group by feature, not by type, for most projects
|
|
138
|
+
- Keep the structure flat enough to navigate but deep enough to organize
|
|
139
|
+
|
|
140
|
+
</guidelines>
|
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
## Table Stakes
|
|
15
|
+
|
|
16
|
+
Features users expect by default. Missing these = product feels incomplete.
|
|
17
|
+
|
|
18
|
+
| Feature | Why Expected | Complexity | Notes |
|
|
19
|
+
|---------|--------------|------------|-------|
|
|
20
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
21
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
22
|
+
| [feature] | [user expectation] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
23
|
+
|
|
24
|
+
## Differentiators
|
|
25
|
+
|
|
26
|
+
Features that set the product apart. Not required for launch, but valuable.
|
|
27
|
+
|
|
28
|
+
| Feature | Value Proposition | Complexity | Notes |
|
|
29
|
+
|---------|-------------------|------------|-------|
|
|
30
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
31
|
+
| [feature] | [why it matters] | LOW/MEDIUM/HIGH | [implementation notes] |
|
|
32
|
+
|
|
33
|
+
## Anti-Features
|
|
34
|
+
|
|
35
|
+
Features that seem good but create problems. Prevent scope creep by documenting them.
|
|
36
|
+
|
|
37
|
+
| Feature | Why Requested | Why Problematic | Alternative |
|
|
38
|
+
|---------|---------------|-----------------|-------------|
|
|
39
|
+
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
40
|
+
| [feature] | [surface appeal] | [actual problems] | [better approach] |
|
|
41
|
+
|
|
42
|
+
## Feature Dependencies
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
[Feature A]
|
|
46
|
+
└──requires──> [Feature B]
|
|
47
|
+
└──requires──> [Feature C]
|
|
48
|
+
|
|
49
|
+
[Feature D] ──enhances──> [Feature A]
|
|
50
|
+
|
|
51
|
+
[Feature E] ──conflicts──> [Feature F]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Dependency Notes
|
|
55
|
+
|
|
56
|
+
- **[Feature A] requires [Feature B]:** [why the dependency exists]
|
|
57
|
+
- **[Feature D] enhances [Feature A]:** [how they work together]
|
|
58
|
+
- **[Feature E] conflicts with [Feature F]:** [why they're incompatible]
|
|
59
|
+
|
|
60
|
+
## MVP Definition
|
|
61
|
+
|
|
62
|
+
### Launch With (v1)
|
|
63
|
+
|
|
64
|
+
Minimum viable product — what's needed to validate the concept.
|
|
65
|
+
|
|
66
|
+
- [ ] [Feature] — [why essential]
|
|
67
|
+
- [ ] [Feature] — [why essential]
|
|
68
|
+
- [ ] [Feature] — [why essential]
|
|
69
|
+
|
|
70
|
+
### Add After Validation (v1.x)
|
|
71
|
+
|
|
72
|
+
Features to add once core is working.
|
|
73
|
+
|
|
74
|
+
- [ ] [Feature] — [trigger for adding]
|
|
75
|
+
- [ ] [Feature] — [trigger for adding]
|
|
76
|
+
|
|
77
|
+
### Future Consideration (v2+)
|
|
78
|
+
|
|
79
|
+
Features to defer until product-market fit is established.
|
|
80
|
+
|
|
81
|
+
- [ ] [Feature] — [why defer]
|
|
82
|
+
- [ ] [Feature] — [why defer]
|
|
83
|
+
|
|
84
|
+
## Feature Prioritization Matrix
|
|
85
|
+
|
|
86
|
+
| Feature | User Value | Implementation Cost | Priority |
|
|
87
|
+
|---------|------------|---------------------|----------|
|
|
88
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
89
|
+
| [feature] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | P1/P2/P3 |
|
|
90
|
+
|
|
91
|
+
**Priority key:**
|
|
92
|
+
- P1: Must have for launch
|
|
93
|
+
- P2: Should have, add when possible
|
|
94
|
+
- P3: Nice to have, future consideration
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
*Feature research for: [domain]*
|
|
98
|
+
*Researched: [date]*
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
</template>
|
|
102
|
+
|
|
103
|
+
<guidelines>
|
|
104
|
+
|
|
105
|
+
**Table Stakes:**
|
|
106
|
+
- These are non-negotiable for launch
|
|
107
|
+
- Users don't give credit for having them, but penalize for missing them
|
|
108
|
+
- Example: A community platform without user profiles is broken
|
|
109
|
+
|
|
110
|
+
**Differentiators:**
|
|
111
|
+
- These are where you compete
|
|
112
|
+
- Should align with the Core Value from PROJECT.md
|
|
113
|
+
- Don't try to differentiate on everything — pick 2-3
|
|
114
|
+
|
|
115
|
+
**Anti-Features:**
|
|
116
|
+
- Prevent scope creep by documenting what seems good but isn't
|
|
117
|
+
- Include the alternative approach
|
|
118
|
+
- Example: "Real-time everything" often creates complexity without value
|
|
119
|
+
|
|
120
|
+
**Feature Dependencies:**
|
|
121
|
+
- Critical for roadmap phase ordering
|
|
122
|
+
- If A requires B, B must be in an earlier phase
|
|
123
|
+
- Conflicts inform what NOT to combine in same phase
|
|
124
|
+
|
|
125
|
+
**MVP Definition:**
|
|
126
|
+
- Be ruthless about what's truly minimum
|
|
127
|
+
- "Nice to have" is not MVP
|
|
128
|
+
- Launch with less, validate, then expand
|
|
129
|
+
|
|
130
|
+
</guidelines>
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Pitfalls Research Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/research/PITFALLS.md` — common mistakes and prevention strategies for 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
|
+
## Common Mistakes
|
|
15
|
+
|
|
16
|
+
| # | Mistake | Severity | Frequency | Impact |
|
|
17
|
+
|---|---------|----------|-----------|--------|
|
|
18
|
+
| 1 | [what goes wrong] | CRITICAL/HIGH/MEDIUM/LOW | [how often teams hit this] | [what breaks] |
|
|
19
|
+
| 2 | [what goes wrong] | CRITICAL/HIGH/MEDIUM/LOW | [how often teams hit this] | [what breaks] |
|
|
20
|
+
| 3 | [what goes wrong] | CRITICAL/HIGH/MEDIUM/LOW | [how often teams hit this] | [what breaks] |
|
|
21
|
+
| 4 | [what goes wrong] | CRITICAL/HIGH/MEDIUM/LOW | [how often teams hit this] | [what breaks] |
|
|
22
|
+
| 5 | [what goes wrong] | CRITICAL/HIGH/MEDIUM/LOW | [how often teams hit this] | [what breaks] |
|
|
23
|
+
|
|
24
|
+
### Mistake Details
|
|
25
|
+
|
|
26
|
+
**1. [Mistake name]**
|
|
27
|
+
- **What happens:** [detailed description of the failure mode]
|
|
28
|
+
- **Why it happens:** [root cause — usually a misunderstanding or shortcut]
|
|
29
|
+
- **Example:** [concrete scenario]
|
|
30
|
+
- **Fix cost:** [how expensive is it to fix after the fact]
|
|
31
|
+
|
|
32
|
+
**2. [Mistake name]**
|
|
33
|
+
- **What happens:** [detailed description]
|
|
34
|
+
- **Why it happens:** [root cause]
|
|
35
|
+
- **Example:** [concrete scenario]
|
|
36
|
+
- **Fix cost:** [cost to fix later]
|
|
37
|
+
|
|
38
|
+
## Warning Signs
|
|
39
|
+
|
|
40
|
+
Early indicators that a project is heading toward common pitfalls:
|
|
41
|
+
|
|
42
|
+
| Warning Sign | Indicates | Action |
|
|
43
|
+
|-------------|-----------|--------|
|
|
44
|
+
| [observable symptom] | [which mistake is brewing] | [what to do immediately] |
|
|
45
|
+
| [observable symptom] | [which mistake is brewing] | [what to do immediately] |
|
|
46
|
+
| [observable symptom] | [which mistake is brewing] | [what to do immediately] |
|
|
47
|
+
|
|
48
|
+
## Prevention Strategies
|
|
49
|
+
|
|
50
|
+
Proactive measures to avoid the mistakes above:
|
|
51
|
+
|
|
52
|
+
| Strategy | Prevents | When to Apply | How |
|
|
53
|
+
|----------|----------|---------------|-----|
|
|
54
|
+
| [strategy name] | [mistake #N] | [at what phase/stage] | [concrete implementation steps] |
|
|
55
|
+
| [strategy name] | [mistake #N] | [at what phase/stage] | [concrete implementation steps] |
|
|
56
|
+
| [strategy name] | [mistake #N] | [at what phase/stage] | [concrete implementation steps] |
|
|
57
|
+
|
|
58
|
+
## Domain-Specific Patterns
|
|
59
|
+
|
|
60
|
+
### Patterns That Look Right But Aren't
|
|
61
|
+
|
|
62
|
+
| Pattern | Why It Seems Good | Actual Problem | Better Approach |
|
|
63
|
+
|---------|-------------------|----------------|-----------------|
|
|
64
|
+
| [pattern] | [surface appeal] | [hidden issue] | [what to do instead] |
|
|
65
|
+
| [pattern] | [surface appeal] | [hidden issue] | [what to do instead] |
|
|
66
|
+
|
|
67
|
+
### Patterns That Look Wrong But Work
|
|
68
|
+
|
|
69
|
+
| Pattern | Why It Seems Bad | Why It Actually Works | When to Use |
|
|
70
|
+
|---------|------------------|----------------------|-------------|
|
|
71
|
+
| [pattern] | [surface concern] | [deeper reason] | [specific conditions] |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
*Pitfalls research for: [domain]*
|
|
75
|
+
*Researched: [date]*
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</template>
|
|
79
|
+
|
|
80
|
+
<guidelines>
|
|
81
|
+
|
|
82
|
+
**Common Mistakes:**
|
|
83
|
+
- Rank by severity — CRITICAL mistakes should be listed first
|
|
84
|
+
- Include fix cost — some mistakes are cheap to fix later, others are architectural
|
|
85
|
+
- Be specific: "not handling auth token refresh" not "bad auth"
|
|
86
|
+
|
|
87
|
+
**Warning Signs:**
|
|
88
|
+
- These are observable symptoms, not the mistakes themselves
|
|
89
|
+
- Help the executor recognize when things are going wrong mid-implementation
|
|
90
|
+
- Each warning sign should map to a specific mistake
|
|
91
|
+
|
|
92
|
+
**Prevention Strategies:**
|
|
93
|
+
- Must be actionable — "be careful" is not a strategy
|
|
94
|
+
- Include when to apply (during planning, during implementation, during testing)
|
|
95
|
+
- Reference specific mistakes they prevent
|
|
96
|
+
|
|
97
|
+
**Domain-Specific Patterns:**
|
|
98
|
+
- "Looks right but isn't" catches cargo-cult patterns
|
|
99
|
+
- "Looks wrong but works" prevents premature optimization of working patterns
|
|
100
|
+
- Both require domain expertise to identify
|
|
101
|
+
|
|
102
|
+
</guidelines>
|
|
@@ -0,0 +1,105 @@
|
|
|
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
|
+
|
|
31
|
+
### Development Tools
|
|
32
|
+
|
|
33
|
+
| Tool | Purpose | Notes |
|
|
34
|
+
|------|---------|-------|
|
|
35
|
+
| [name] | [what it does] | [configuration tips] |
|
|
36
|
+
| [name] | [what it does] | [configuration tips] |
|
|
37
|
+
|
|
38
|
+
## Alternatives Considered
|
|
39
|
+
|
|
40
|
+
| Recommended | Alternative | When to Use Alternative |
|
|
41
|
+
|-------------|-------------|-------------------------|
|
|
42
|
+
| [our choice] | [other option] | [conditions where alternative is better] |
|
|
43
|
+
| [our choice] | [other option] | [conditions where alternative is better] |
|
|
44
|
+
|
|
45
|
+
## What NOT to Use
|
|
46
|
+
|
|
47
|
+
| Avoid | Why | Use Instead |
|
|
48
|
+
|-------|-----|-------------|
|
|
49
|
+
| [technology] | [specific problem] | [recommended alternative] |
|
|
50
|
+
| [technology] | [specific problem] | [recommended alternative] |
|
|
51
|
+
|
|
52
|
+
## Versions
|
|
53
|
+
|
|
54
|
+
### Version Compatibility
|
|
55
|
+
|
|
56
|
+
| Package A | Compatible With | Notes |
|
|
57
|
+
|-----------|-----------------|-------|
|
|
58
|
+
| [package@version] | [package@version] | [compatibility notes] |
|
|
59
|
+
|
|
60
|
+
### Installation
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Core
|
|
64
|
+
[package manager] install [packages]
|
|
65
|
+
|
|
66
|
+
# Supporting
|
|
67
|
+
[package manager] install [packages]
|
|
68
|
+
|
|
69
|
+
# Dev dependencies
|
|
70
|
+
[package manager] install -D [packages]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
*Stack research for: [domain]*
|
|
75
|
+
*Researched: [date]*
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
</template>
|
|
79
|
+
|
|
80
|
+
<guidelines>
|
|
81
|
+
|
|
82
|
+
**Core Technologies:**
|
|
83
|
+
- Include specific version numbers — not just "React" but "React 19.x"
|
|
84
|
+
- Explain why this is the standard choice, not just what it does
|
|
85
|
+
- Focus on technologies that affect architecture decisions
|
|
86
|
+
|
|
87
|
+
**Supporting Libraries:**
|
|
88
|
+
- Include libraries commonly needed for this domain
|
|
89
|
+
- Note when each is needed (not all projects need all libraries)
|
|
90
|
+
|
|
91
|
+
**Alternatives:**
|
|
92
|
+
- Don't just dismiss alternatives — explain when they make sense
|
|
93
|
+
- Helps the user make informed decisions if they disagree with recommendations
|
|
94
|
+
|
|
95
|
+
**What NOT to Use:**
|
|
96
|
+
- Actively warn against outdated or problematic choices
|
|
97
|
+
- Explain the specific problem, not just "it's old"
|
|
98
|
+
- Always provide the recommended alternative
|
|
99
|
+
|
|
100
|
+
**Versions:**
|
|
101
|
+
- Note any known compatibility issues between packages
|
|
102
|
+
- Critical for avoiding debugging time later
|
|
103
|
+
- Include installation commands so the planner can reference them
|
|
104
|
+
|
|
105
|
+
</guidelines>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Summary Research Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/research/SUMMARY.md` — synthesis of all research findings into actionable guidance.
|
|
4
|
+
|
|
5
|
+
<template>
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
# Research Summary
|
|
9
|
+
|
|
10
|
+
**Domain:** [domain type]
|
|
11
|
+
**Researched:** [date]
|
|
12
|
+
**Confidence:** [HIGH/MEDIUM/LOW]
|
|
13
|
+
|
|
14
|
+
## Recommended Stack
|
|
15
|
+
|
|
16
|
+
### Primary Technologies
|
|
17
|
+
|
|
18
|
+
| Technology | Version | Role |
|
|
19
|
+
|------------|---------|------|
|
|
20
|
+
| [name] | [version] | [primary purpose in this project] |
|
|
21
|
+
| [name] | [version] | [primary purpose in this project] |
|
|
22
|
+
| [name] | [version] | [primary purpose in this project] |
|
|
23
|
+
|
|
24
|
+
### Key Stack Decisions
|
|
25
|
+
|
|
26
|
+
- **[Decision 1]:** [rationale — why this over alternatives]
|
|
27
|
+
- **[Decision 2]:** [rationale]
|
|
28
|
+
- **[Decision 3]:** [rationale]
|
|
29
|
+
|
|
30
|
+
## Table Stakes Features
|
|
31
|
+
|
|
32
|
+
Features that must be in v1 — users expect these by default:
|
|
33
|
+
|
|
34
|
+
- [ ] [Feature] — [one-line description]
|
|
35
|
+
- [ ] [Feature] — [one-line description]
|
|
36
|
+
- [ ] [Feature] — [one-line description]
|
|
37
|
+
- [ ] [Feature] — [one-line description]
|
|
38
|
+
|
|
39
|
+
## Key Architecture Decisions
|
|
40
|
+
|
|
41
|
+
### System Shape
|
|
42
|
+
|
|
43
|
+
[1-2 sentences describing the overall architecture pattern — e.g., "Monolithic Next.js app with server components, Postgres via Prisma ORM, and Stripe for payments."]
|
|
44
|
+
|
|
45
|
+
### Critical Boundaries
|
|
46
|
+
|
|
47
|
+
| Boundary | What It Separates | Why It Matters |
|
|
48
|
+
|----------|-------------------|----------------|
|
|
49
|
+
| [boundary] | [side A] / [side B] | [architectural significance] |
|
|
50
|
+
| [boundary] | [side A] / [side B] | [architectural significance] |
|
|
51
|
+
|
|
52
|
+
### Recommended Build Order
|
|
53
|
+
|
|
54
|
+
1. [Component] — [why first]
|
|
55
|
+
2. [Component] — [depends on #1]
|
|
56
|
+
3. [Component] — [depends on #1, #2]
|
|
57
|
+
4. [Component] — [depends on previous]
|
|
58
|
+
|
|
59
|
+
## Top Pitfalls
|
|
60
|
+
|
|
61
|
+
The most dangerous mistakes for this domain, ranked by severity:
|
|
62
|
+
|
|
63
|
+
| # | Pitfall | Severity | Prevention |
|
|
64
|
+
|---|---------|----------|------------|
|
|
65
|
+
| 1 | [mistake] | CRITICAL | [one-line prevention strategy] |
|
|
66
|
+
| 2 | [mistake] | HIGH | [one-line prevention strategy] |
|
|
67
|
+
| 3 | [mistake] | HIGH | [one-line prevention strategy] |
|
|
68
|
+
| 4 | [mistake] | MEDIUM | [one-line prevention strategy] |
|
|
69
|
+
| 5 | [mistake] | MEDIUM | [one-line prevention strategy] |
|
|
70
|
+
|
|
71
|
+
## Primary Recommendation
|
|
72
|
+
|
|
73
|
+
[One paragraph — the single most important takeaway from this research. What should the planner prioritize above all else?]
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
*Research summary for: [domain]*
|
|
77
|
+
*Researched: [date]*
|
|
78
|
+
*Sources: STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md*
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
</template>
|
|
82
|
+
|
|
83
|
+
<guidelines>
|
|
84
|
+
|
|
85
|
+
**Purpose:**
|
|
86
|
+
- This file synthesizes the other 4 research files into a single actionable reference
|
|
87
|
+
- The planner reads this file first — it should contain everything needed to start planning
|
|
88
|
+
- Keep it concise: tables and bullet points, not paragraphs
|
|
89
|
+
|
|
90
|
+
**Recommended Stack:**
|
|
91
|
+
- Only include the primary technologies — no supporting libraries
|
|
92
|
+
- Key decisions explain WHY, not just WHAT
|
|
93
|
+
|
|
94
|
+
**Table Stakes Features:**
|
|
95
|
+
- Pull directly from FEATURES.md Table Stakes section
|
|
96
|
+
- These become the v1 must_haves in requirements
|
|
97
|
+
|
|
98
|
+
**Key Architecture Decisions:**
|
|
99
|
+
- System shape in 1-2 sentences — enough for the planner to understand the pattern
|
|
100
|
+
- Build order feeds directly into roadmap phase ordering
|
|
101
|
+
|
|
102
|
+
**Top Pitfalls:**
|
|
103
|
+
- Maximum 5 — the most dangerous ones only
|
|
104
|
+
- Each must have a one-line prevention strategy
|
|
105
|
+
- These become verification checkpoints during execution
|
|
106
|
+
|
|
107
|
+
**Primary Recommendation:**
|
|
108
|
+
- One paragraph, one decision
|
|
109
|
+
- This is what the planner optimizes for
|
|
110
|
+
|
|
111
|
+
</guidelines>
|
|
@@ -138,10 +138,22 @@ Proposal: [description]
|
|
|
138
138
|
[If PROCEED: key risks to monitor]
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
Present the verdict using
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
141
|
+
Present the verdict using a structured question:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
AskUserQuestion([
|
|
145
|
+
{
|
|
146
|
+
header: "Challenge Verdict",
|
|
147
|
+
question: "Based on the product and engineering analysis — how do you want to proceed?",
|
|
148
|
+
multiSelect: false,
|
|
149
|
+
options: [
|
|
150
|
+
{ label: "Proceed as planned", description: "Continue to planning with identified risks monitored" },
|
|
151
|
+
{ label: "Adjust scope", description: "Narrow the scope based on challenge findings, then proceed" },
|
|
152
|
+
{ label: "Rethink", description: "Go back to ideation or discussion — too many concerns" }
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
])
|
|
156
|
+
```
|
|
145
157
|
|
|
146
158
|
## Step 5: Record Decision
|
|
147
159
|
|
|
@@ -35,14 +35,38 @@ description: [description]
|
|
|
35
35
|
|
|
36
36
|
## Step 2: Triage
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
If no description was provided as an argument, ask: **"What is the exact symptom?"** and wait for response.
|
|
39
39
|
|
|
40
|
-
If description was provided
|
|
40
|
+
If description was provided, use it as starting context. Then gather triage details using structured questions:
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
```
|
|
43
|
+
AskUserQuestion([
|
|
44
|
+
{
|
|
45
|
+
header: "Frequency",
|
|
46
|
+
question: "When does this happen?",
|
|
47
|
+
multiSelect: false,
|
|
48
|
+
options: [
|
|
49
|
+
{ label: "Always", description: "Reproduces every time" },
|
|
50
|
+
{ label: "Sometimes", description: "Intermittent, not always reproducible" },
|
|
51
|
+
{ label: "Specific conditions", description: "Only under certain circumstances" }
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
header: "Regression",
|
|
56
|
+
question: "When did it start?",
|
|
57
|
+
multiSelect: false,
|
|
58
|
+
options: [
|
|
59
|
+
{ label: "Always been broken", description: "Never worked correctly" },
|
|
60
|
+
{ label: "Recently broke", description: "Was working before, something changed" },
|
|
61
|
+
{ label: "Not sure", description: "Don't know when it started" }
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
])
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Then ask as follow-ups (one at a time):
|
|
68
|
+
- "What did you expect to happen?"
|
|
69
|
+
- "What have you already tried?"
|
|
46
70
|
|
|
47
71
|
After gathering answers, write a triage summary to the session file:
|
|
48
72
|
```markdown
|
|
@@ -107,7 +107,20 @@ Files: [list]
|
|
|
107
107
|
Effort: small | medium | large
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
```
|
|
111
|
+
AskUserQuestion([
|
|
112
|
+
{
|
|
113
|
+
header: "Diagnosis Review",
|
|
114
|
+
question: "Does this diagnosis look right?",
|
|
115
|
+
multiSelect: false,
|
|
116
|
+
options: [
|
|
117
|
+
{ label: "Proceed", description: "Diagnosis is correct — create fix plans" },
|
|
118
|
+
{ label: "Revise", description: "Something is off — let me provide corrections" },
|
|
119
|
+
{ label: "Cancel", description: "Stop here — I'll investigate manually" }
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
])
|
|
123
|
+
```
|
|
111
124
|
|
|
112
125
|
## Step 6: Create Fix Plans
|
|
113
126
|
|