specflow-cc 1.1.0 → 1.3.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/CHANGELOG.md +29 -1
- package/README.md +43 -43
- package/agents/codebase-scanner.md +1 -1
- package/agents/impl-reviewer.md +6 -6
- package/agents/spec-auditor.md +5 -5
- package/agents/spec-creator.md +5 -5
- package/agents/spec-executor.md +2 -2
- package/agents/spec-reviser.md +2 -2
- package/agents/spec-splitter.md +1 -1
- package/commands/sf/audit.md +47 -11
- package/commands/sf/deps.md +9 -9
- package/commands/sf/done.md +8 -8
- package/commands/sf/fix.md +13 -7
- package/commands/sf/help.md +63 -63
- package/commands/sf/history.md +8 -8
- package/commands/sf/init.md +4 -4
- package/commands/sf/list.md +5 -5
- package/commands/sf/metrics.md +5 -5
- package/commands/sf/new.md +9 -7
- package/commands/sf/next.md +13 -13
- package/commands/sf/pause.md +2 -2
- package/commands/sf/plan.md +8 -8
- package/commands/sf/priority.md +2 -2
- package/commands/sf/resume.md +5 -5
- package/commands/sf/review.md +56 -13
- package/commands/sf/revise.md +12 -6
- package/commands/sf/run.md +11 -5
- package/commands/sf/scan.md +3 -3
- package/commands/sf/show.md +13 -13
- package/commands/sf/split.md +7 -7
- package/commands/sf/status.md +10 -10
- package/commands/sf/todo.md +5 -5
- package/commands/sf/todos.md +6 -6
- package/package.json +1 -1
- package/templates/audit.md +1 -1
- package/templates/scan.md +1 -1
- package/templates/spec.md +1 -1
- package/templates/state.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,12 +5,40 @@ All notable changes to SpecFlow will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.3.0] - 2026-01-21
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- File path links in command output (`📄 File: .specflow/specs/SPEC-XXX.md`)
|
|
13
|
+
- `/clear` hints before fresh context commands (audit, review)
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- All command outputs now include direct links to spec files
|
|
18
|
+
- Workflow hints remind users to clear context before auditor/reviewer steps
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## [1.2.0] - 2026-01-20
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Command format: `/sf run` → `/sf:run` (matches Claude Code syntax)
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- `/sf:audit` now shows alternative next steps when APPROVED with recommendations
|
|
31
|
+
- `/sf:review` now shows alternative next steps when APPROVED with minor suggestions
|
|
32
|
+
- User can choose to proceed or apply optional feedback first
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
8
36
|
## [1.1.0] - 2026-01-20
|
|
9
37
|
|
|
10
38
|
### Added
|
|
11
39
|
|
|
12
40
|
#### Analysis Commands
|
|
13
|
-
- `/sf
|
|
41
|
+
- `/sf:scan [--focus]` - Deep codebase analysis for tech debt, concerns, and improvement opportunities
|
|
14
42
|
|
|
15
43
|
#### Agents
|
|
16
44
|
- `codebase-scanner` - Analyzes codebase and writes structured SCAN.md report
|
package/README.md
CHANGED
|
@@ -41,28 +41,28 @@ npx specflow-cc --local
|
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
43
|
# 1. Initialize project (once per project)
|
|
44
|
-
/sf
|
|
44
|
+
/sf:init
|
|
45
45
|
|
|
46
46
|
# 2. Create a specification
|
|
47
|
-
/sf
|
|
47
|
+
/sf:new "Add user authentication with JWT"
|
|
48
48
|
|
|
49
49
|
# 3. Audit the specification (fresh context)
|
|
50
|
-
/sf
|
|
50
|
+
/sf:audit
|
|
51
51
|
|
|
52
52
|
# 4. Revise if needed
|
|
53
|
-
/sf
|
|
53
|
+
/sf:revise
|
|
54
54
|
|
|
55
55
|
# 5. Execute when approved
|
|
56
|
-
/sf
|
|
56
|
+
/sf:run
|
|
57
57
|
|
|
58
58
|
# 6. Review implementation (fresh context)
|
|
59
|
-
/sf
|
|
59
|
+
/sf:review
|
|
60
60
|
|
|
61
61
|
# 7. Fix if needed
|
|
62
|
-
/sf
|
|
62
|
+
/sf:fix
|
|
63
63
|
|
|
64
64
|
# 8. Complete and archive
|
|
65
|
-
/sf
|
|
65
|
+
/sf:done
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
## Commands
|
|
@@ -71,60 +71,60 @@ npx specflow-cc --local
|
|
|
71
71
|
|
|
72
72
|
| Command | Description |
|
|
73
73
|
|---------|-------------|
|
|
74
|
-
| `/sf
|
|
75
|
-
| `/sf
|
|
76
|
-
| `/sf
|
|
77
|
-
| `/sf
|
|
78
|
-
| `/sf
|
|
79
|
-
| `/sf
|
|
80
|
-
| `/sf
|
|
81
|
-
| `/sf
|
|
82
|
-
| `/sf
|
|
74
|
+
| `/sf:init` | Initialize project, analyze codebase |
|
|
75
|
+
| `/sf:new [description]` | Create new specification |
|
|
76
|
+
| `/sf:audit` | Audit specification (fresh context) |
|
|
77
|
+
| `/sf:revise [instructions]` | Revise spec based on audit |
|
|
78
|
+
| `/sf:run` | Execute specification |
|
|
79
|
+
| `/sf:review` | Review implementation (fresh context) |
|
|
80
|
+
| `/sf:fix [instructions]` | Fix based on review |
|
|
81
|
+
| `/sf:done` | Complete, commit, and archive |
|
|
82
|
+
| `/sf:status` | Show current state and next step |
|
|
83
83
|
|
|
84
84
|
### Navigation
|
|
85
85
|
|
|
86
86
|
| Command | Description |
|
|
87
87
|
|---------|-------------|
|
|
88
|
-
| `/sf
|
|
89
|
-
| `/sf
|
|
90
|
-
| `/sf
|
|
88
|
+
| `/sf:list` | List all specifications |
|
|
89
|
+
| `/sf:show [ID]` | Show specification details |
|
|
90
|
+
| `/sf:next` | Switch to next priority task |
|
|
91
91
|
|
|
92
92
|
### To-Do Management
|
|
93
93
|
|
|
94
94
|
| Command | Description |
|
|
95
95
|
|---------|-------------|
|
|
96
|
-
| `/sf
|
|
97
|
-
| `/sf
|
|
98
|
-
| `/sf
|
|
99
|
-
| `/sf
|
|
96
|
+
| `/sf:todo [text]` | Add idea or future task |
|
|
97
|
+
| `/sf:todos` | List all todos with priorities |
|
|
98
|
+
| `/sf:plan [ID]` | Convert todo into specification |
|
|
99
|
+
| `/sf:priority` | Interactive prioritization |
|
|
100
100
|
|
|
101
101
|
### Decomposition
|
|
102
102
|
|
|
103
103
|
| Command | Description |
|
|
104
104
|
|---------|-------------|
|
|
105
|
-
| `/sf
|
|
106
|
-
| `/sf
|
|
105
|
+
| `/sf:split [ID]` | Split large spec into smaller parts |
|
|
106
|
+
| `/sf:deps` | Show dependency graph |
|
|
107
107
|
|
|
108
108
|
### Session Management
|
|
109
109
|
|
|
110
110
|
| Command | Description |
|
|
111
111
|
|---------|-------------|
|
|
112
|
-
| `/sf
|
|
113
|
-
| `/sf
|
|
112
|
+
| `/sf:pause` | Save context for later |
|
|
113
|
+
| `/sf:resume` | Restore saved context |
|
|
114
114
|
|
|
115
115
|
### Analysis
|
|
116
116
|
|
|
117
117
|
| Command | Description |
|
|
118
118
|
|---------|-------------|
|
|
119
|
-
| `/sf
|
|
119
|
+
| `/sf:scan [--focus]` | Deep codebase analysis for concerns and tech debt |
|
|
120
120
|
|
|
121
121
|
### Utilities
|
|
122
122
|
|
|
123
123
|
| Command | Description |
|
|
124
124
|
|---------|-------------|
|
|
125
|
-
| `/sf
|
|
126
|
-
| `/sf
|
|
127
|
-
| `/sf
|
|
125
|
+
| `/sf:help [command]` | Show help for commands |
|
|
126
|
+
| `/sf:history [ID]` | View completed specifications |
|
|
127
|
+
| `/sf:metrics` | Project statistics |
|
|
128
128
|
|
|
129
129
|
## Workflow Diagram
|
|
130
130
|
|
|
@@ -133,44 +133,44 @@ npx specflow-cc --local
|
|
|
133
133
|
│ SPECFLOW WORKFLOW │
|
|
134
134
|
├─────────────────────────────────────────────────────────────┤
|
|
135
135
|
│ │
|
|
136
|
-
│ /sf
|
|
136
|
+
│ /sf:init ──→ Initialize project (once) │
|
|
137
137
|
│ ↓ │
|
|
138
|
-
│ /sf
|
|
138
|
+
│ /sf:new ──→ Create specification │
|
|
139
139
|
│ ↓ │
|
|
140
140
|
│ ┌─────────────────────────────────────┐ │
|
|
141
141
|
│ │ SPEC AUDIT LOOP │ │
|
|
142
|
-
│ │ /sf
|
|
142
|
+
│ │ /sf:audit ──→ APPROVED? ──yes──→ ──┼──→ │
|
|
143
143
|
│ │ │ │ ↓ │
|
|
144
144
|
│ │ no │ │
|
|
145
145
|
│ │ ↓ │ │
|
|
146
|
-
│ │ /sf
|
|
146
|
+
│ │ /sf:revise ────────→ loop back │ │
|
|
147
147
|
│ └─────────────────────────────────────┘ │
|
|
148
148
|
│ ↓ │
|
|
149
|
-
│ /sf
|
|
149
|
+
│ /sf:run ──→ Execute specification │
|
|
150
150
|
│ ↓ │
|
|
151
151
|
│ ┌─────────────────────────────────────┐ │
|
|
152
152
|
│ │ IMPL REVIEW LOOP │ │
|
|
153
|
-
│ │ /sf
|
|
153
|
+
│ │ /sf:review ──→ APPROVED? ──yes──→ ─┼──→ │
|
|
154
154
|
│ │ │ │ ↓ │
|
|
155
155
|
│ │ no │ │
|
|
156
156
|
│ │ ↓ │ │
|
|
157
|
-
│ │ /sf
|
|
157
|
+
│ │ /sf:fix ───────────→ loop back │ │
|
|
158
158
|
│ └─────────────────────────────────────┘ │
|
|
159
159
|
│ ↓ │
|
|
160
|
-
│ /sf
|
|
160
|
+
│ /sf:done ──→ Complete and archive │
|
|
161
161
|
│ │
|
|
162
162
|
└─────────────────────────────────────────────────────────────┘
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
## Project Structure
|
|
166
166
|
|
|
167
|
-
After `/sf
|
|
167
|
+
After `/sf:init`, SpecFlow creates:
|
|
168
168
|
|
|
169
169
|
```
|
|
170
170
|
.specflow/
|
|
171
171
|
├── PROJECT.md # Project overview and patterns
|
|
172
172
|
├── STATE.md # Current state and queue
|
|
173
|
-
├── SCAN.md # Codebase scan results (from /sf
|
|
173
|
+
├── SCAN.md # Codebase scan results (from /sf:scan)
|
|
174
174
|
├── config.json # Configuration
|
|
175
175
|
├── specs/ # Active specifications
|
|
176
176
|
│ └── SPEC-001.md
|
|
@@ -222,7 +222,7 @@ created: 2026-01-20
|
|
|
222
222
|
|------|--------|--------|
|
|
223
223
|
| Small | ≤50k | Execute directly |
|
|
224
224
|
| Medium | 50-150k | Warning, proceed |
|
|
225
|
-
| Large | >150k | Requires `/sf
|
|
225
|
+
| Large | >150k | Requires `/sf:split` |
|
|
226
226
|
|
|
227
227
|
## Statusline
|
|
228
228
|
|
|
@@ -7,7 +7,7 @@ tools: Read, Bash, Grep, Glob, Write
|
|
|
7
7
|
<role>
|
|
8
8
|
You are a SpecFlow codebase scanner. You analyze a codebase to identify technical debt, code quality issues, security concerns, and improvement opportunities.
|
|
9
9
|
|
|
10
|
-
You are spawned by `/sf
|
|
10
|
+
You are spawned by `/sf:scan` with a focus area:
|
|
11
11
|
- **concerns** — Technical debt, bugs, security issues
|
|
12
12
|
- **quality** — Code quality, conventions, test coverage gaps
|
|
13
13
|
- **arch** — Architecture problems, structure issues
|
package/agents/impl-reviewer.md
CHANGED
|
@@ -196,8 +196,8 @@ Append to specification's Review History:
|
|
|
196
196
|
|
|
197
197
|
## Step 8: Update STATE.md
|
|
198
198
|
|
|
199
|
-
- If APPROVED: Status → "done", Next Step → "/sf
|
|
200
|
-
- If CHANGES_REQUESTED: Status → "review", Next Step → "/sf
|
|
199
|
+
- If APPROVED: Status → "done", Next Step → "/sf:done"
|
|
200
|
+
- If CHANGES_REQUESTED: Status → "review", Next Step → "/sf:fix"
|
|
201
201
|
|
|
202
202
|
</process>
|
|
203
203
|
|
|
@@ -246,13 +246,13 @@ Return review result:
|
|
|
246
246
|
|
|
247
247
|
## Next Step
|
|
248
248
|
|
|
249
|
-
{If APPROVED:} `/sf
|
|
249
|
+
{If APPROVED:} `/sf:done` — finalize and archive
|
|
250
250
|
|
|
251
|
-
{If CHANGES_REQUESTED:} `/sf
|
|
251
|
+
{If CHANGES_REQUESTED:} `/sf:fix` — address issues
|
|
252
252
|
|
|
253
253
|
Options:
|
|
254
|
-
- `/sf
|
|
255
|
-
- `/sf
|
|
254
|
+
- `/sf:fix all` — apply all fixes
|
|
255
|
+
- `/sf:fix 1,2` — fix specific issues
|
|
256
256
|
```
|
|
257
257
|
|
|
258
258
|
</output>
|
package/agents/spec-auditor.md
CHANGED
|
@@ -100,7 +100,7 @@ Separate findings into:
|
|
|
100
100
|
|
|
101
101
|
**Critical (blocks implementation):**
|
|
102
102
|
- Numbered list: 1, 2, 3...
|
|
103
|
-
- Must be fixed before `/sf
|
|
103
|
+
- Must be fixed before `/sf:run`
|
|
104
104
|
|
|
105
105
|
**Recommendations (improvements):**
|
|
106
106
|
- Numbered list continuing from critical
|
|
@@ -138,8 +138,8 @@ N+1. [recommendation]
|
|
|
138
138
|
## Step 7: Update STATE.md
|
|
139
139
|
|
|
140
140
|
Update status:
|
|
141
|
-
- If APPROVED: Status → "audited", Next Step → "/sf
|
|
142
|
-
- If NEEDS_REVISION: Status → "revision_requested", Next Step → "/sf
|
|
141
|
+
- If APPROVED: Status → "audited", Next Step → "/sf:run"
|
|
142
|
+
- If NEEDS_REVISION: Status → "revision_requested", Next Step → "/sf:revise"
|
|
143
143
|
|
|
144
144
|
</process>
|
|
145
145
|
|
|
@@ -168,7 +168,7 @@ Return formatted audit result:
|
|
|
168
168
|
|
|
169
169
|
### Next Step
|
|
170
170
|
|
|
171
|
-
`/sf
|
|
171
|
+
`/sf:revise` — address critical issues
|
|
172
172
|
|
|
173
173
|
---
|
|
174
174
|
|
|
@@ -180,7 +180,7 @@ Return formatted audit result:
|
|
|
180
180
|
|
|
181
181
|
### Next Step
|
|
182
182
|
|
|
183
|
-
`/sf
|
|
183
|
+
`/sf:run` — implement specification
|
|
184
184
|
```
|
|
185
185
|
|
|
186
186
|
</output>
|
package/agents/spec-creator.md
CHANGED
|
@@ -24,7 +24,7 @@ Ask ONLY questions that:
|
|
|
24
24
|
- Cannot be reasonably assumed from PROJECT.md context
|
|
25
25
|
- Have mutually exclusive answers (not "yes/no/maybe")
|
|
26
26
|
|
|
27
|
-
Everything else becomes an assumption that can be corrected during `/sf
|
|
27
|
+
Everything else becomes an assumption that can be corrected during `/sf:revise`.
|
|
28
28
|
|
|
29
29
|
## Spec Quality
|
|
30
30
|
|
|
@@ -40,7 +40,7 @@ Good specifications are:
|
|
|
40
40
|
|------|--------|---------------|
|
|
41
41
|
| small | ≤50k | Single file, simple feature |
|
|
42
42
|
| medium | 50-150k | Multiple files, moderate feature |
|
|
43
|
-
| large | >150k | Many files, complex feature — needs /sf
|
|
43
|
+
| large | >150k | Many files, complex feature — needs /sf:split |
|
|
44
44
|
|
|
45
45
|
</philosophy>
|
|
46
46
|
|
|
@@ -111,7 +111,7 @@ Mark as small/medium/large in frontmatter.
|
|
|
111
111
|
Update `.specflow/STATE.md`:
|
|
112
112
|
- Set Active Specification to new spec
|
|
113
113
|
- Set Status to "drafting"
|
|
114
|
-
- Set Next Step to "/sf
|
|
114
|
+
- Set Next Step to "/sf:audit"
|
|
115
115
|
- Add spec to Queue
|
|
116
116
|
|
|
117
117
|
</process>
|
|
@@ -136,11 +136,11 @@ Return structured result:
|
|
|
136
136
|
- .specflow/specs/SPEC-XXX.md
|
|
137
137
|
|
|
138
138
|
### Next Step
|
|
139
|
-
`/sf
|
|
139
|
+
`/sf:audit` — audit specification before implementation
|
|
140
140
|
|
|
141
141
|
{If complexity is large:}
|
|
142
142
|
### Warning
|
|
143
|
-
Specification is large (>150k tokens estimated). Consider `/sf
|
|
143
|
+
Specification is large (>150k tokens estimated). Consider `/sf:split SPEC-XXX` to decompose.
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
</output>
|
package/agents/spec-executor.md
CHANGED
|
@@ -182,7 +182,7 @@ Append to specification:
|
|
|
182
182
|
## Step 8: Update STATE.md
|
|
183
183
|
|
|
184
184
|
- Status → "review"
|
|
185
|
-
- Next Step → "/sf
|
|
185
|
+
- Next Step → "/sf:review"
|
|
186
186
|
|
|
187
187
|
</process>
|
|
188
188
|
|
|
@@ -216,7 +216,7 @@ Return execution result:
|
|
|
216
216
|
|
|
217
217
|
### Next Step
|
|
218
218
|
|
|
219
|
-
`/sf
|
|
219
|
+
`/sf:review` — audit implementation
|
|
220
220
|
```
|
|
221
221
|
|
|
222
222
|
</output>
|
package/agents/spec-reviser.md
CHANGED
|
@@ -137,7 +137,7 @@ Set status to "auditing" (ready for re-audit).
|
|
|
137
137
|
## Step 7: Update STATE.md
|
|
138
138
|
|
|
139
139
|
- Status → "auditing"
|
|
140
|
-
- Next Step → "/sf
|
|
140
|
+
- Next Step → "/sf:audit"
|
|
141
141
|
|
|
142
142
|
</process>
|
|
143
143
|
|
|
@@ -167,7 +167,7 @@ Return formatted revision result:
|
|
|
167
167
|
|
|
168
168
|
### Next Step
|
|
169
169
|
|
|
170
|
-
`/sf
|
|
170
|
+
`/sf:audit` — re-audit revised specification
|
|
171
171
|
```
|
|
172
172
|
|
|
173
173
|
</output>
|
package/agents/spec-splitter.md
CHANGED
package/commands/sf/audit.md
CHANGED
|
@@ -32,7 +32,7 @@ Audit the active specification using a fresh context subagent. The auditor evalu
|
|
|
32
32
|
```
|
|
33
33
|
SpecFlow not initialized.
|
|
34
34
|
|
|
35
|
-
Run `/sf
|
|
35
|
+
Run `/sf:init` first.
|
|
36
36
|
```
|
|
37
37
|
Exit.
|
|
38
38
|
|
|
@@ -44,7 +44,7 @@ Read `.specflow/STATE.md` and extract Active Specification.
|
|
|
44
44
|
```
|
|
45
45
|
No active specification to audit.
|
|
46
46
|
|
|
47
|
-
Run `/sf
|
|
47
|
+
Run `/sf:new "task description"` to create one.
|
|
48
48
|
```
|
|
49
49
|
Exit.
|
|
50
50
|
|
|
@@ -56,7 +56,7 @@ Read the active spec file: `.specflow/specs/SPEC-XXX.md`
|
|
|
56
56
|
```
|
|
57
57
|
Specification SPEC-XXX is already audited (status: {status}).
|
|
58
58
|
|
|
59
|
-
Use `/sf
|
|
59
|
+
Use `/sf:run` to implement or `/sf:status` to see current state.
|
|
60
60
|
```
|
|
61
61
|
Exit.
|
|
62
62
|
|
|
@@ -90,7 +90,7 @@ The agent will:
|
|
|
90
90
|
|
|
91
91
|
## Step 6: Display Result
|
|
92
92
|
|
|
93
|
-
### If APPROVED:
|
|
93
|
+
### If APPROVED (no recommendations):
|
|
94
94
|
|
|
95
95
|
```
|
|
96
96
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
@@ -104,9 +104,41 @@ The agent will:
|
|
|
104
104
|
|
|
105
105
|
---
|
|
106
106
|
|
|
107
|
+
📄 File: .specflow/specs/SPEC-XXX.md
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
107
111
|
## Next Step
|
|
108
112
|
|
|
109
|
-
`/sf
|
|
113
|
+
`/sf:run` — implement specification
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### If APPROVED (with optional recommendations):
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
120
|
+
AUDIT PASSED
|
|
121
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
122
|
+
|
|
123
|
+
**Specification:** SPEC-XXX
|
|
124
|
+
**Status:** APPROVED
|
|
125
|
+
|
|
126
|
+
### Recommendations (Optional)
|
|
127
|
+
|
|
128
|
+
1. [Recommendation 1]
|
|
129
|
+
2. [Recommendation 2]
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
📄 File: .specflow/specs/SPEC-XXX.md
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Next Steps
|
|
138
|
+
|
|
139
|
+
Choose one:
|
|
140
|
+
• `/sf:run` — implement specification as-is
|
|
141
|
+
• `/sf:revise` — apply optional recommendations first ({N} items)
|
|
110
142
|
```
|
|
111
143
|
|
|
112
144
|
### If NEEDS_REVISION:
|
|
@@ -130,14 +162,18 @@ The agent will:
|
|
|
130
162
|
|
|
131
163
|
---
|
|
132
164
|
|
|
165
|
+
📄 File: .specflow/specs/SPEC-XXX.md
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
133
169
|
## Next Step
|
|
134
170
|
|
|
135
|
-
`/sf
|
|
171
|
+
`/sf:revise` — address critical issues
|
|
136
172
|
|
|
137
173
|
Options:
|
|
138
|
-
- `/sf
|
|
139
|
-
- `/sf
|
|
140
|
-
- `/sf
|
|
174
|
+
- `/sf:revise all` — apply all feedback
|
|
175
|
+
- `/sf:revise 1,2` — fix specific issues
|
|
176
|
+
- `/sf:revise [instructions]` — custom changes
|
|
141
177
|
```
|
|
142
178
|
|
|
143
179
|
</workflow>
|
|
@@ -194,8 +230,8 @@ Append to spec's Audit History:
|
|
|
194
230
|
|
|
195
231
|
### Update STATE.md
|
|
196
232
|
|
|
197
|
-
- If APPROVED: Status → "audited", Next Step → "/sf
|
|
198
|
-
- If NEEDS_REVISION: Status → "revision_requested", Next Step → "/sf
|
|
233
|
+
- If APPROVED: Status → "audited", Next Step → "/sf:run"
|
|
234
|
+
- If NEEDS_REVISION: Status → "revision_requested", Next Step → "/sf:revise"
|
|
199
235
|
|
|
200
236
|
</fallback>
|
|
201
237
|
|
package/commands/sf/deps.md
CHANGED
|
@@ -33,7 +33,7 @@ Display the dependency graph between specifications. Shows which specs can be wo
|
|
|
33
33
|
```
|
|
34
34
|
SpecFlow not initialized.
|
|
35
35
|
|
|
36
|
-
Run `/sf
|
|
36
|
+
Run `/sf:init` first.
|
|
37
37
|
```
|
|
38
38
|
Exit.
|
|
39
39
|
|
|
@@ -51,7 +51,7 @@ ls .specflow/specs/SPEC-*.md 2>/dev/null
|
|
|
51
51
|
|
|
52
52
|
No specifications found.
|
|
53
53
|
|
|
54
|
-
Create your first spec: `/sf
|
|
54
|
+
Create your first spec: `/sf:new "task description"`
|
|
55
55
|
```
|
|
56
56
|
Exit.
|
|
57
57
|
|
|
@@ -88,7 +88,7 @@ Build dependency map:
|
|
|
88
88
|
```
|
|
89
89
|
Specification {ID} not found.
|
|
90
90
|
|
|
91
|
-
Use `/sf
|
|
91
|
+
Use `/sf:list` to see available specifications.
|
|
92
92
|
```
|
|
93
93
|
Exit.
|
|
94
94
|
|
|
@@ -128,12 +128,12 @@ None — no other specifications depend on this.
|
|
|
128
128
|
{If blocked:}
|
|
129
129
|
**Blocked by:** {blocking spec ID} must complete first.
|
|
130
130
|
|
|
131
|
-
When {blocking ID} is done, run: `/sf
|
|
131
|
+
When {blocking ID} is done, run: `/sf:run {ID}`
|
|
132
132
|
|
|
133
133
|
{If ready:}
|
|
134
134
|
**Ready:** All dependencies satisfied.
|
|
135
135
|
|
|
136
|
-
Next: `/sf
|
|
136
|
+
Next: `/sf:audit {ID}` or `/sf:run {ID}`
|
|
137
137
|
|
|
138
138
|
{If done:}
|
|
139
139
|
**Complete:** This specification is done.
|
|
@@ -212,11 +212,11 @@ SPEC-003 [audited] → SPEC-004 [draft]
|
|
|
212
212
|
**Next actionable:**
|
|
213
213
|
{List specs that are ready to work on, sorted by priority}
|
|
214
214
|
|
|
215
|
-
- `/sf
|
|
216
|
-
- `/sf
|
|
217
|
-
- `/sf
|
|
215
|
+
- `/sf:run SPEC-001b` (running)
|
|
216
|
+
- `/sf:audit SPEC-005` (audited)
|
|
217
|
+
- `/sf:audit SPEC-002` (draft)
|
|
218
218
|
|
|
219
|
-
**Tip:** `/sf
|
|
219
|
+
**Tip:** `/sf:deps SPEC-XXX` for details on a specific spec.
|
|
220
220
|
```
|
|
221
221
|
|
|
222
222
|
</workflow>
|
package/commands/sf/done.md
CHANGED
|
@@ -31,7 +31,7 @@ Finalize the completed specification. Archives the spec, updates STATE.md, extra
|
|
|
31
31
|
```
|
|
32
32
|
SpecFlow not initialized.
|
|
33
33
|
|
|
34
|
-
Run `/sf
|
|
34
|
+
Run `/sf:init` first.
|
|
35
35
|
```
|
|
36
36
|
Exit.
|
|
37
37
|
|
|
@@ -43,7 +43,7 @@ Read `.specflow/STATE.md` and extract Active Specification.
|
|
|
43
43
|
```
|
|
44
44
|
No active specification to finalize.
|
|
45
45
|
|
|
46
|
-
Run `/sf
|
|
46
|
+
Run `/sf:new "task description"` to create one.
|
|
47
47
|
```
|
|
48
48
|
Exit.
|
|
49
49
|
|
|
@@ -89,7 +89,7 @@ Continue anyway?
|
|
|
89
89
|
|
|
90
90
|
Use AskUserQuestion with options:
|
|
91
91
|
- "Yes, finalize anyway" → continue, log warning
|
|
92
|
-
- "No, run review first" → exit with `/sf
|
|
92
|
+
- "No, run review first" → exit with `/sf:review` suggestion
|
|
93
93
|
|
|
94
94
|
**If user proceeds anyway:**
|
|
95
95
|
Log in STATE.md Warnings table:
|
|
@@ -147,7 +147,7 @@ mv .specflow/specs/SPEC-XXX.md .specflow/archive/
|
|
|
147
147
|
|
|
148
148
|
- Active Specification → "none"
|
|
149
149
|
- Status → "idle"
|
|
150
|
-
- Next Step → "/sf
|
|
150
|
+
- Next Step → "/sf:new or /sf:next"
|
|
151
151
|
|
|
152
152
|
### Remove from Queue
|
|
153
153
|
|
|
@@ -213,13 +213,13 @@ git commit -m "docs(sf): complete SPEC-XXX
|
|
|
213
213
|
{If queue has more specs:}
|
|
214
214
|
**Next in queue:** SPEC-YYY — {title}
|
|
215
215
|
|
|
216
|
-
Run `/sf
|
|
216
|
+
Run `/sf:next` to start the next specification.
|
|
217
217
|
|
|
218
218
|
{If queue is empty:}
|
|
219
219
|
Queue is empty.
|
|
220
220
|
|
|
221
|
-
Run `/sf
|
|
222
|
-
or `/sf
|
|
221
|
+
Run `/sf:new "task"` to create a new specification
|
|
222
|
+
or `/sf:todos` to see pending ideas.
|
|
223
223
|
```
|
|
224
224
|
|
|
225
225
|
</workflow>
|
|
@@ -244,7 +244,7 @@ mv .specflow/specs/SPEC-XXX.md .specflow/archive/
|
|
|
244
244
|
|
|
245
245
|
1. Set Active Specification to "none"
|
|
246
246
|
2. Set Status to "idle"
|
|
247
|
-
3. Set Next Step to "/sf
|
|
247
|
+
3. Set Next Step to "/sf:new or /sf:next"
|
|
248
248
|
4. Remove from Queue table
|
|
249
249
|
5. Add any extracted decisions
|
|
250
250
|
|