specdacular 0.2.1 → 0.2.2
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/commands/specd/discuss-feature.md +64 -0
- package/commands/specd/help.md +61 -6
- package/commands/specd/new-feature.md +32 -40
- package/commands/specd/plan-feature.md +69 -0
- package/commands/specd/research-feature.md +457 -0
- package/package.json +1 -1
- package/specdacular/agents/feature-researcher.md +289 -0
- package/specdacular/templates/features/CONTEXT.md +81 -0
- package/specdacular/templates/features/DECISIONS.md +109 -0
- package/specdacular/templates/features/FEATURE.md +46 -27
- package/specdacular/templates/features/PLAN.md +153 -0
- package/specdacular/templates/features/RESEARCH.md +183 -0
- package/specdacular/templates/features/ROADMAP.md +59 -26
- package/specdacular/templates/features/STATE.md +59 -30
- package/specdacular/workflows/discuss-feature.md +388 -0
- package/specdacular/workflows/new-feature.md +201 -262
- package/specdacular/workflows/plan-feature.md +501 -0
- package/specdacular/workflows/research-feature.md +252 -0
- package/specdacular/templates/features/REQUIREMENTS.md +0 -55
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# Research: {feature-name}
|
|
2
|
+
|
|
3
|
+
**Researched:** {YYYY-MM-DD}
|
|
4
|
+
**Feature type:** {what kind of feature}
|
|
5
|
+
**Confidence:** {HIGH/MEDIUM/LOW}
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
{2-3 paragraphs synthesizing all research findings}
|
|
10
|
+
|
|
11
|
+
- What's the recommended approach?
|
|
12
|
+
- What makes this feature fit well with the existing codebase?
|
|
13
|
+
- What are the key risks and how to mitigate them?
|
|
14
|
+
|
|
15
|
+
**Key recommendation:** {One-liner actionable guidance for the planner}
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Codebase Integration
|
|
20
|
+
|
|
21
|
+
How this feature fits with existing code.
|
|
22
|
+
|
|
23
|
+
### Import Dependencies
|
|
24
|
+
|
|
25
|
+
| Module | Provides | Path |
|
|
26
|
+
|--------|----------|------|
|
|
27
|
+
| {module} | {what it provides} | `{path}` |
|
|
28
|
+
|
|
29
|
+
### Patterns to Follow
|
|
30
|
+
|
|
31
|
+
**{Pattern name}**
|
|
32
|
+
Follow pattern in `{existing file path}`:
|
|
33
|
+
- {Key aspect 1}
|
|
34
|
+
- {Key aspect 2}
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
// Example from {path}
|
|
38
|
+
{code snippet showing pattern}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### File Structure
|
|
42
|
+
|
|
43
|
+
Where new files should go:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
src/
|
|
47
|
+
├── {path}/ # {purpose}
|
|
48
|
+
│ ├── {file}.ts # {what it does}
|
|
49
|
+
│ └── {file}.tsx # {what it does}
|
|
50
|
+
└── {existing}/ # Modify: {what change}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Reusable Code
|
|
54
|
+
|
|
55
|
+
**Types:**
|
|
56
|
+
- `@{path}` — {what types}
|
|
57
|
+
|
|
58
|
+
**Utilities:**
|
|
59
|
+
- `@{path}` — {what utilities}
|
|
60
|
+
|
|
61
|
+
**Components:**
|
|
62
|
+
- `@{path}` — {what components}
|
|
63
|
+
|
|
64
|
+
### Integration Points
|
|
65
|
+
|
|
66
|
+
| Connect To | Via | Purpose |
|
|
67
|
+
|------------|-----|---------|
|
|
68
|
+
| {system} | {how} | {why} |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Implementation Approach
|
|
73
|
+
|
|
74
|
+
Standard patterns and libraries for this feature type.
|
|
75
|
+
|
|
76
|
+
### Standard Stack
|
|
77
|
+
|
|
78
|
+
| Library | Version | Purpose | Confidence |
|
|
79
|
+
|---------|---------|---------|------------|
|
|
80
|
+
| {lib} | {ver}+ | {purpose} | {HIGH/MEDIUM} |
|
|
81
|
+
|
|
82
|
+
### Architecture Pattern
|
|
83
|
+
|
|
84
|
+
**Pattern:** {name}
|
|
85
|
+
**Why:** {rationale for this codebase}
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
{diagram or structure}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Code Patterns
|
|
92
|
+
|
|
93
|
+
**{Pattern name}**
|
|
94
|
+
```typescript
|
|
95
|
+
// Source: {Context7 library ID / docs URL}
|
|
96
|
+
{verified code example}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
**{Pattern name}**
|
|
100
|
+
```typescript
|
|
101
|
+
// Source: {Context7 library ID / docs URL}
|
|
102
|
+
{verified code example}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Don't Hand-Roll
|
|
106
|
+
|
|
107
|
+
| Problem | Use Instead | Why |
|
|
108
|
+
|---------|-------------|-----|
|
|
109
|
+
| {problem} | {library/utility} | {edge cases it handles} |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Pitfalls
|
|
114
|
+
|
|
115
|
+
What commonly goes wrong and how to prevent it.
|
|
116
|
+
|
|
117
|
+
### Critical
|
|
118
|
+
|
|
119
|
+
**{Pitfall name}**
|
|
120
|
+
- What goes wrong: {description}
|
|
121
|
+
- Why it happens: {root cause}
|
|
122
|
+
- Prevention: {specific steps}
|
|
123
|
+
- Detection: {warning signs during implementation}
|
|
124
|
+
|
|
125
|
+
### Moderate
|
|
126
|
+
|
|
127
|
+
**{Pitfall name}**
|
|
128
|
+
- What goes wrong: {description}
|
|
129
|
+
- Prevention: {specific steps}
|
|
130
|
+
|
|
131
|
+
### Task-Specific Warnings
|
|
132
|
+
|
|
133
|
+
| When Implementing | Watch Out For | Prevention |
|
|
134
|
+
|-------------------|---------------|------------|
|
|
135
|
+
| {task/file} | {pitfall} | {how to avoid} |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Confidence Assessment
|
|
140
|
+
|
|
141
|
+
| Area | Level | Reason |
|
|
142
|
+
|------|-------|--------|
|
|
143
|
+
| Codebase integration | {level} | {why - e.g., "patterns clear from existing code"} |
|
|
144
|
+
| Implementation approach | {level} | {why - e.g., "verified with Context7"} |
|
|
145
|
+
| Pitfalls | {level} | {why - e.g., "multiple sources agree"} |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Open Questions
|
|
150
|
+
|
|
151
|
+
Things that couldn't be fully resolved during research:
|
|
152
|
+
|
|
153
|
+
1. **{Question}**
|
|
154
|
+
- What we know: {partial info}
|
|
155
|
+
- What's unclear: {the gap}
|
|
156
|
+
- Recommendation: {how planner should handle}
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Sources
|
|
161
|
+
|
|
162
|
+
### Codebase (from Explore)
|
|
163
|
+
- `{path}` — {what was learned}
|
|
164
|
+
|
|
165
|
+
### Verified External (HIGH confidence)
|
|
166
|
+
- Context7: {library IDs and queries}
|
|
167
|
+
- Official docs: {URLs}
|
|
168
|
+
|
|
169
|
+
### Community (MEDIUM confidence)
|
|
170
|
+
- {Verified WebSearch findings with URLs}
|
|
171
|
+
|
|
172
|
+
### For Awareness Only (LOW confidence)
|
|
173
|
+
- {Unverified findings - not used in recommendations}
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Decisions Made
|
|
178
|
+
|
|
179
|
+
Decisions recorded in DECISIONS.md during this research:
|
|
180
|
+
|
|
181
|
+
| Decision | Rationale |
|
|
182
|
+
|----------|-----------|
|
|
183
|
+
| DEC-XXX: {title} | {brief rationale} |
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
# Roadmap: {
|
|
1
|
+
# Roadmap: {feature-name}
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
5
|
| Metric | Value |
|
|
6
6
|
|--------|-------|
|
|
7
7
|
| Total Phases | {N} |
|
|
8
|
-
|
|
|
9
|
-
| v2 Requirements | {N} |
|
|
8
|
+
| Total Plans | {N} |
|
|
10
9
|
| Current Phase | 1 |
|
|
10
|
+
| Status | Not Started |
|
|
11
|
+
|
|
12
|
+
---
|
|
11
13
|
|
|
12
14
|
## Phases
|
|
13
15
|
|
|
14
|
-
- [ ] **Phase 1: {Name}**
|
|
15
|
-
- [ ] **Phase 2: {Name}**
|
|
16
|
-
- [ ] **Phase 3: {Name}**
|
|
16
|
+
- [ ] **Phase 1: {Name}** — {One-liner description}
|
|
17
|
+
- [ ] **Phase 2: {Name}** — {One-liner description}
|
|
18
|
+
- [ ] **Phase 3: {Name}** — {One-liner description}
|
|
17
19
|
|
|
18
20
|
---
|
|
19
21
|
|
|
@@ -21,18 +23,25 @@
|
|
|
21
23
|
|
|
22
24
|
### Phase 1: {Name}
|
|
23
25
|
|
|
24
|
-
**Goal:** {What this phase achieves
|
|
26
|
+
**Goal:** {What this phase achieves — the outcome, not the tasks}
|
|
27
|
+
|
|
28
|
+
**Creates:**
|
|
29
|
+
- `{path/to/file}` — {Purpose}
|
|
30
|
+
- `{path/to/file}` — {Purpose}
|
|
31
|
+
|
|
32
|
+
**Modifies:**
|
|
33
|
+
- `{path/to/file}` — {What change}
|
|
25
34
|
|
|
26
|
-
**
|
|
27
|
-
- {
|
|
28
|
-
- {
|
|
35
|
+
**Plans:**
|
|
36
|
+
1. `plans/phase-01/01-PLAN.md` — {Plan summary}
|
|
37
|
+
2. `plans/phase-01/02-PLAN.md` — {Plan summary}
|
|
29
38
|
|
|
30
39
|
**Success Criteria:**
|
|
31
40
|
1. {Observable behavior that proves the phase is complete}
|
|
32
|
-
2. {Observable behavior
|
|
33
|
-
3. {Observable behavior
|
|
41
|
+
2. {Observable behavior}
|
|
42
|
+
3. {Observable behavior}
|
|
34
43
|
|
|
35
|
-
**Dependencies:**
|
|
44
|
+
**Dependencies:** None (first phase)
|
|
36
45
|
|
|
37
46
|
---
|
|
38
47
|
|
|
@@ -40,9 +49,14 @@
|
|
|
40
49
|
|
|
41
50
|
**Goal:** {What this phase achieves}
|
|
42
51
|
|
|
43
|
-
**
|
|
44
|
-
- {
|
|
45
|
-
|
|
52
|
+
**Creates:**
|
|
53
|
+
- `{path/to/file}` — {Purpose}
|
|
54
|
+
|
|
55
|
+
**Modifies:**
|
|
56
|
+
- `{path/to/file}` — {What change}
|
|
57
|
+
|
|
58
|
+
**Plans:**
|
|
59
|
+
1. `plans/phase-02/01-PLAN.md` — {Plan summary}
|
|
46
60
|
|
|
47
61
|
**Success Criteria:**
|
|
48
62
|
1. {Observable behavior}
|
|
@@ -56,8 +70,11 @@
|
|
|
56
70
|
|
|
57
71
|
**Goal:** {What this phase achieves}
|
|
58
72
|
|
|
59
|
-
**
|
|
60
|
-
- {
|
|
73
|
+
**Creates:**
|
|
74
|
+
- `{path/to/file}` — {Purpose}
|
|
75
|
+
|
|
76
|
+
**Plans:**
|
|
77
|
+
1. `plans/phase-03/01-PLAN.md` — {Plan summary}
|
|
61
78
|
|
|
62
79
|
**Success Criteria:**
|
|
63
80
|
1. {Observable behavior}
|
|
@@ -67,16 +84,32 @@
|
|
|
67
84
|
|
|
68
85
|
---
|
|
69
86
|
|
|
70
|
-
##
|
|
87
|
+
## Execution Order
|
|
88
|
+
|
|
89
|
+
The recommended execution order respects dependencies:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Phase 1: {Name}
|
|
93
|
+
├── 01-PLAN.md: {summary}
|
|
94
|
+
└── 02-PLAN.md: {summary}
|
|
95
|
+
↓
|
|
96
|
+
Phase 2: {Name}
|
|
97
|
+
└── 01-PLAN.md: {summary}
|
|
98
|
+
↓
|
|
99
|
+
Phase 3: {Name}
|
|
100
|
+
└── 01-PLAN.md: {summary}
|
|
101
|
+
```
|
|
71
102
|
|
|
72
|
-
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Key Decisions Affecting Roadmap
|
|
73
106
|
|
|
74
|
-
|
|
107
|
+
| Decision | Impact on Phases |
|
|
108
|
+
|----------|------------------|
|
|
109
|
+
| DEC-XXX: {title} | {How it affects phase ordering or content} |
|
|
75
110
|
|
|
76
|
-
|
|
111
|
+
---
|
|
77
112
|
|
|
78
|
-
|
|
79
|
-
- {FEAT}-UI-03
|
|
80
|
-
- {FEAT}-API-02
|
|
113
|
+
## Notes
|
|
81
114
|
|
|
82
|
-
|
|
115
|
+
{Space for notes about the roadmap — why phases are ordered this way, alternatives considered, etc.}
|
|
@@ -1,54 +1,83 @@
|
|
|
1
|
-
# State: {
|
|
1
|
+
# State: {feature-name}
|
|
2
2
|
|
|
3
3
|
## Current Position
|
|
4
4
|
|
|
5
|
-
**
|
|
6
|
-
**
|
|
7
|
-
**Last Updated:** {Date}
|
|
5
|
+
**Stage:** {discussion | research | planning | execution}
|
|
6
|
+
**Last Updated:** {YYYY-MM-DD}
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Stage Progress
|
|
11
|
+
|
|
12
|
+
### Discussion
|
|
13
|
+
- [x] Initial discussion complete
|
|
14
|
+
- [ ] Gray areas identified
|
|
15
|
+
- [ ] All gray areas resolved
|
|
16
|
+
|
|
17
|
+
### Research
|
|
18
|
+
- [ ] Research conducted
|
|
19
|
+
- [ ] Findings documented in RESEARCH.md
|
|
20
|
+
|
|
21
|
+
### Planning
|
|
22
|
+
- [ ] Phases derived
|
|
23
|
+
- [ ] Plans created
|
|
24
|
+
|
|
25
|
+
### Execution
|
|
26
|
+
- [ ] Phase 1 complete
|
|
27
|
+
- [ ] Phase 2 complete
|
|
28
|
+
|
|
29
|
+
---
|
|
10
30
|
|
|
11
|
-
|
|
12
|
-
{Nothing yet}
|
|
31
|
+
## Discussion Sessions
|
|
13
32
|
|
|
14
|
-
|
|
15
|
-
|
|
33
|
+
| Date | Focus | Outcome |
|
|
34
|
+
|------|-------|---------|
|
|
35
|
+
| {YYYY-MM-DD} | Initial discussion | FEATURE.md created |
|
|
16
36
|
|
|
17
|
-
|
|
18
|
-
{Nothing yet}
|
|
37
|
+
---
|
|
19
38
|
|
|
20
|
-
##
|
|
39
|
+
## Documents Status
|
|
21
40
|
|
|
22
|
-
|
|
41
|
+
| Document | Status | Last Updated |
|
|
42
|
+
|----------|--------|--------------|
|
|
43
|
+
| FEATURE.md | Created | {date} |
|
|
44
|
+
| CONTEXT.md | Created | {date} |
|
|
45
|
+
| DECISIONS.md | {N} decisions | {date} |
|
|
46
|
+
| RESEARCH.md | Not started | — |
|
|
47
|
+
| ROADMAP.md | Not started | — |
|
|
48
|
+
| plans/ | Not started | — |
|
|
23
49
|
|
|
24
|
-
|
|
25
|
-
|------|----------|---------|--------|
|
|
26
|
-
| {Date} | {What was decided} | {Why it came up} | {How it affects implementation} |
|
|
50
|
+
---
|
|
27
51
|
|
|
28
|
-
##
|
|
52
|
+
## Decision Count
|
|
29
53
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
54
|
+
- **Active:** {N}
|
|
55
|
+
- **Superseded:** {N}
|
|
56
|
+
- **Total:** {N}
|
|
33
57
|
|
|
34
|
-
|
|
58
|
+
---
|
|
35
59
|
|
|
36
|
-
|
|
60
|
+
## Next Steps
|
|
37
61
|
|
|
38
|
-
|
|
62
|
+
{What the user should do next based on current state.}
|
|
63
|
+
|
|
64
|
+
**Options:**
|
|
65
|
+
- `/specd:discuss-feature {feature-name}` — Continue refining understanding
|
|
66
|
+
- `/specd:research-feature {feature-name}` — Research implementation approach
|
|
67
|
+
- `/specd:plan-feature {feature-name}` — Create executable plans (when ready)
|
|
68
|
+
|
|
69
|
+
---
|
|
39
70
|
|
|
40
|
-
|
|
41
|
-
- [ ] {FEAT}-UI-01: Not started
|
|
42
|
-
- [ ] {FEAT}-API-01: Not started
|
|
71
|
+
## Session Notes
|
|
43
72
|
|
|
44
|
-
|
|
45
|
-
{Implementation notes, blockers, discoveries}
|
|
73
|
+
{Space for notes during sessions. Cleared or archived as appropriate.}
|
|
46
74
|
|
|
47
75
|
---
|
|
48
76
|
|
|
49
77
|
## Quick Reference
|
|
50
78
|
|
|
51
79
|
- **Feature:** `.specd/features/{feature-name}/FEATURE.md`
|
|
52
|
-
- **
|
|
80
|
+
- **Context:** `.specd/features/{feature-name}/CONTEXT.md`
|
|
81
|
+
- **Decisions:** `.specd/features/{feature-name}/DECISIONS.md`
|
|
82
|
+
- **Research:** `.specd/features/{feature-name}/RESEARCH.md`
|
|
53
83
|
- **Roadmap:** `.specd/features/{feature-name}/ROADMAP.md`
|
|
54
|
-
- **Config:** `.specd/features/{feature-name}/config.json`
|