specflow-cc 1.0.0 → 1.2.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 -0
- package/README.md +50 -43
- package/agents/codebase-scanner.md +243 -0
- 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 +35 -11
- package/commands/sf/deps.md +9 -9
- package/commands/sf/done.md +8 -8
- package/commands/sf/fix.md +7 -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 +5 -5
- 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 +44 -13
- package/commands/sf/revise.md +6 -6
- package/commands/sf/run.md +5 -5
- package/commands/sf/scan.md +164 -0
- 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 +96 -0
- package/templates/spec.md +1 -1
- package/templates/state.md +1 -1
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
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
@@ -106,7 +106,31 @@ The agent will:
|
|
|
106
106
|
|
|
107
107
|
## Next Step
|
|
108
108
|
|
|
109
|
-
`/sf
|
|
109
|
+
`/sf:run` — implement specification
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### If APPROVED (with optional recommendations):
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
116
|
+
AUDIT PASSED
|
|
117
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
|
+
|
|
119
|
+
**Specification:** SPEC-XXX
|
|
120
|
+
**Status:** APPROVED
|
|
121
|
+
|
|
122
|
+
### Recommendations (Optional)
|
|
123
|
+
|
|
124
|
+
1. [Recommendation 1]
|
|
125
|
+
2. [Recommendation 2]
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Next Steps
|
|
130
|
+
|
|
131
|
+
Choose one:
|
|
132
|
+
• `/sf:run` — implement specification as-is
|
|
133
|
+
• `/sf:revise` — apply optional recommendations first ({N} items)
|
|
110
134
|
```
|
|
111
135
|
|
|
112
136
|
### If NEEDS_REVISION:
|
|
@@ -132,12 +156,12 @@ The agent will:
|
|
|
132
156
|
|
|
133
157
|
## Next Step
|
|
134
158
|
|
|
135
|
-
`/sf
|
|
159
|
+
`/sf:revise` — address critical issues
|
|
136
160
|
|
|
137
161
|
Options:
|
|
138
|
-
- `/sf
|
|
139
|
-
- `/sf
|
|
140
|
-
- `/sf
|
|
162
|
+
- `/sf:revise all` — apply all feedback
|
|
163
|
+
- `/sf:revise 1,2` — fix specific issues
|
|
164
|
+
- `/sf:revise [instructions]` — custom changes
|
|
141
165
|
```
|
|
142
166
|
|
|
143
167
|
</workflow>
|
|
@@ -194,8 +218,8 @@ Append to spec's Audit History:
|
|
|
194
218
|
|
|
195
219
|
### Update STATE.md
|
|
196
220
|
|
|
197
|
-
- If APPROVED: Status → "audited", Next Step → "/sf
|
|
198
|
-
- If NEEDS_REVISION: Status → "revision_requested", Next Step → "/sf
|
|
221
|
+
- If APPROVED: Status → "audited", Next Step → "/sf:run"
|
|
222
|
+
- If NEEDS_REVISION: Status → "revision_requested", Next Step → "/sf:revise"
|
|
199
223
|
|
|
200
224
|
</fallback>
|
|
201
225
|
|
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
|
|
package/commands/sf/fix.md
CHANGED
|
@@ -34,7 +34,7 @@ Fix the implementation based on review feedback. Can apply all fixes, specific n
|
|
|
34
34
|
```
|
|
35
35
|
SpecFlow not initialized.
|
|
36
36
|
|
|
37
|
-
Run `/sf
|
|
37
|
+
Run `/sf:init` first.
|
|
38
38
|
```
|
|
39
39
|
Exit.
|
|
40
40
|
|
|
@@ -46,7 +46,7 @@ Read `.specflow/STATE.md` and extract Active Specification.
|
|
|
46
46
|
```
|
|
47
47
|
No active specification to fix.
|
|
48
48
|
|
|
49
|
-
Run `/sf
|
|
49
|
+
Run `/sf:new "task description"` to create one.
|
|
50
50
|
```
|
|
51
51
|
Exit.
|
|
52
52
|
|
|
@@ -59,7 +59,7 @@ Read the active spec file: `.specflow/specs/SPEC-XXX.md`
|
|
|
59
59
|
Specification SPEC-XXX is not in review status (status: {status}).
|
|
60
60
|
|
|
61
61
|
{If not yet run:}
|
|
62
|
-
Run `/sf
|
|
62
|
+
Run `/sf:run` first to implement the specification.
|
|
63
63
|
|
|
64
64
|
{If already done:}
|
|
65
65
|
Specification already completed.
|
|
@@ -74,7 +74,7 @@ Find the most recent "Review v[N]" section in Review History.
|
|
|
74
74
|
```
|
|
75
75
|
Specification SPEC-XXX has no review history.
|
|
76
76
|
|
|
77
|
-
Run `/sf
|
|
77
|
+
Run `/sf:review` first to get feedback.
|
|
78
78
|
```
|
|
79
79
|
Exit.
|
|
80
80
|
|
|
@@ -165,7 +165,7 @@ Append to Review History:
|
|
|
165
165
|
## Step 8: Update STATE.md
|
|
166
166
|
|
|
167
167
|
- Status → "review" (ready for re-review)
|
|
168
|
-
- Next Step → "/sf
|
|
168
|
+
- Next Step → "/sf:review"
|
|
169
169
|
|
|
170
170
|
## Step 9: Display Result
|
|
171
171
|
|
|
@@ -193,7 +193,7 @@ Append to Review History:
|
|
|
193
193
|
|
|
194
194
|
## Next Step
|
|
195
195
|
|
|
196
|
-
`/sf
|
|
196
|
+
`/sf:review` — re-review to verify fixes
|
|
197
197
|
```
|
|
198
198
|
|
|
199
199
|
</workflow>
|
|
@@ -256,7 +256,7 @@ Append to Review History.
|
|
|
256
256
|
### Update STATE.md
|
|
257
257
|
|
|
258
258
|
- Status → "review"
|
|
259
|
-
- Next Step → "/sf
|
|
259
|
+
- Next Step → "/sf:review"
|
|
260
260
|
|
|
261
261
|
</fallback>
|
|
262
262
|
|
package/commands/sf/help.md
CHANGED
|
@@ -38,7 +38,7 @@ Check if command exists:
|
|
|
38
38
|
```
|
|
39
39
|
Unknown command: {command}
|
|
40
40
|
|
|
41
|
-
Run `/sf
|
|
41
|
+
Run `/sf:help` for available commands.
|
|
42
42
|
```
|
|
43
43
|
Exit.
|
|
44
44
|
|
|
@@ -51,7 +51,7 @@ Read the command file and extract:
|
|
|
51
51
|
|
|
52
52
|
```
|
|
53
53
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
54
|
-
/sf
|
|
54
|
+
/sf:{command}
|
|
55
55
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
56
56
|
|
|
57
57
|
{Description from frontmatter}
|
|
@@ -59,7 +59,7 @@ Read the command file and extract:
|
|
|
59
59
|
## Usage
|
|
60
60
|
|
|
61
61
|
```
|
|
62
|
-
/sf
|
|
62
|
+
/sf:{command} {arguments syntax}
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
## Description
|
|
@@ -85,68 +85,68 @@ Read the command file and extract:
|
|
|
85
85
|
|
|
86
86
|
### Command-Specific Examples
|
|
87
87
|
|
|
88
|
-
**For `/sf
|
|
88
|
+
**For `/sf:new`:**
|
|
89
89
|
```
|
|
90
90
|
## Examples
|
|
91
91
|
|
|
92
92
|
```
|
|
93
|
-
/sf
|
|
94
|
-
/sf
|
|
95
|
-
/sf
|
|
96
|
-
/sf
|
|
93
|
+
/sf:new "Add user authentication with JWT"
|
|
94
|
+
/sf:new "Fix pagination bug in user list"
|
|
95
|
+
/sf:new "Refactor UserService to use repository pattern"
|
|
96
|
+
/sf:new # Interactive mode
|
|
97
97
|
```
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
**For `/sf
|
|
100
|
+
**For `/sf:audit`:**
|
|
101
101
|
```
|
|
102
102
|
## Examples
|
|
103
103
|
|
|
104
104
|
```
|
|
105
|
-
/sf
|
|
106
|
-
/sf
|
|
105
|
+
/sf:audit # Audit active specification
|
|
106
|
+
/sf:audit SPEC-003 # Audit specific specification
|
|
107
107
|
```
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
**For `/sf
|
|
110
|
+
**For `/sf:run`:**
|
|
111
111
|
```
|
|
112
112
|
## Examples
|
|
113
113
|
|
|
114
114
|
```
|
|
115
|
-
/sf
|
|
116
|
-
/sf
|
|
115
|
+
/sf:run # Run active specification
|
|
116
|
+
/sf:run SPEC-003 # Run specific specification
|
|
117
117
|
```
|
|
118
118
|
```
|
|
119
119
|
|
|
120
|
-
**For `/sf
|
|
120
|
+
**For `/sf:revise`:**
|
|
121
121
|
```
|
|
122
122
|
## Examples
|
|
123
123
|
|
|
124
124
|
```
|
|
125
|
-
/sf
|
|
126
|
-
/sf
|
|
127
|
-
/sf
|
|
128
|
-
/sf
|
|
125
|
+
/sf:revise # Interactive — shows audit comments
|
|
126
|
+
/sf:revise all # Apply all audit comments
|
|
127
|
+
/sf:revise 1,2 # Apply only comments 1 and 2
|
|
128
|
+
/sf:revise "add error handling, ignore item 3"
|
|
129
129
|
```
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
**For `/sf
|
|
132
|
+
**For `/sf:split`:**
|
|
133
133
|
```
|
|
134
134
|
## Examples
|
|
135
135
|
|
|
136
136
|
```
|
|
137
|
-
/sf
|
|
138
|
-
/sf
|
|
137
|
+
/sf:split # Split active specification
|
|
138
|
+
/sf:split SPEC-001 # Split specific specification
|
|
139
139
|
```
|
|
140
140
|
```
|
|
141
141
|
|
|
142
|
-
**For `/sf
|
|
142
|
+
**For `/sf:todo`:**
|
|
143
143
|
```
|
|
144
144
|
## Examples
|
|
145
145
|
|
|
146
146
|
```
|
|
147
|
-
/sf
|
|
148
|
-
/sf
|
|
149
|
-
/sf
|
|
147
|
+
/sf:todo "Add caching layer for API"
|
|
148
|
+
/sf:todo "Research WebSocket alternatives"
|
|
149
|
+
/sf:todo "Refactor authentication flow"
|
|
150
150
|
```
|
|
151
151
|
```
|
|
152
152
|
|
|
@@ -171,81 +171,81 @@ Workflow: Spec → Audit → Revise → Run → Review → Fix → Done
|
|
|
171
171
|
|
|
172
172
|
| Command | Description |
|
|
173
173
|
|--------------|-----------------------------------------|
|
|
174
|
-
| /sf
|
|
175
|
-
| /sf
|
|
176
|
-
| /sf
|
|
177
|
-
| /sf
|
|
178
|
-
| /sf
|
|
179
|
-
| /sf
|
|
180
|
-
| /sf
|
|
181
|
-
| /sf
|
|
174
|
+
| /sf:init | Initialize project, analyze codebase |
|
|
175
|
+
| /sf:new | Create specification from task |
|
|
176
|
+
| /sf:audit | Audit specification (fresh context) |
|
|
177
|
+
| /sf:revise | Revise spec based on audit feedback |
|
|
178
|
+
| /sf:run | Execute specification |
|
|
179
|
+
| /sf:review | Review implementation (fresh context) |
|
|
180
|
+
| /sf:fix | Fix implementation based on review |
|
|
181
|
+
| /sf:done | Finalize, commit, and archive |
|
|
182
182
|
|
|
183
183
|
## Navigation
|
|
184
184
|
|
|
185
185
|
| Command | Description |
|
|
186
186
|
|--------------|-----------------------------------------|
|
|
187
|
-
| /sf
|
|
188
|
-
| /sf
|
|
189
|
-
| /sf
|
|
190
|
-
| /sf
|
|
187
|
+
| /sf:status | Show current state and next step |
|
|
188
|
+
| /sf:list | List all specifications |
|
|
189
|
+
| /sf:show | Show specification details |
|
|
190
|
+
| /sf:next | Work on highest priority task |
|
|
191
191
|
|
|
192
192
|
## To-Do
|
|
193
193
|
|
|
194
194
|
| Command | Description |
|
|
195
195
|
|--------------|-----------------------------------------|
|
|
196
|
-
| /sf
|
|
197
|
-
| /sf
|
|
198
|
-
| /sf
|
|
199
|
-
| /sf
|
|
196
|
+
| /sf:todo | Add idea to backlog |
|
|
197
|
+
| /sf:todos | List all to-do items |
|
|
198
|
+
| /sf:plan | Convert to-do to specification |
|
|
199
|
+
| /sf:priority | Change to-do priorities |
|
|
200
200
|
|
|
201
201
|
## Decomposition
|
|
202
202
|
|
|
203
203
|
| Command | Description |
|
|
204
204
|
|--------------|-----------------------------------------|
|
|
205
|
-
| /sf
|
|
206
|
-
| /sf
|
|
205
|
+
| /sf:split | Split large spec into sub-specs |
|
|
206
|
+
| /sf:deps | Show dependency graph |
|
|
207
207
|
|
|
208
208
|
## Sessions
|
|
209
209
|
|
|
210
210
|
| Command | Description |
|
|
211
211
|
|--------------|-----------------------------------------|
|
|
212
|
-
| /sf
|
|
213
|
-
| /sf
|
|
212
|
+
| /sf:pause | Save session context for later |
|
|
213
|
+
| /sf:resume | Restore previous session context |
|
|
214
214
|
|
|
215
215
|
## Utilities
|
|
216
216
|
|
|
217
217
|
| Command | Description |
|
|
218
218
|
|--------------|-----------------------------------------|
|
|
219
|
-
| /sf
|
|
220
|
-
| /sf
|
|
221
|
-
| /sf
|
|
219
|
+
| /sf:help | This help (or detailed: /sf:help new) |
|
|
220
|
+
| /sf:history | View completed specifications |
|
|
221
|
+
| /sf:metrics | Project statistics and insights |
|
|
222
222
|
|
|
223
223
|
---
|
|
224
224
|
|
|
225
225
|
## Quick Start
|
|
226
226
|
|
|
227
|
-
1. `/sf
|
|
228
|
-
2. `/sf
|
|
229
|
-
3. `/sf
|
|
230
|
-
4. `/sf
|
|
231
|
-
5. `/sf
|
|
232
|
-
6. `/sf
|
|
227
|
+
1. `/sf:init` — Initialize project (once)
|
|
228
|
+
2. `/sf:new "task"` — Create specification
|
|
229
|
+
3. `/sf:audit` — Audit the spec
|
|
230
|
+
4. `/sf:run` — Implement
|
|
231
|
+
5. `/sf:review` — Review implementation
|
|
232
|
+
6. `/sf:done` — Complete and archive
|
|
233
233
|
|
|
234
234
|
## Typical Session
|
|
235
235
|
|
|
236
236
|
```
|
|
237
|
-
/sf
|
|
238
|
-
/sf
|
|
239
|
-
/sf
|
|
240
|
-
/sf
|
|
241
|
-
/sf
|
|
242
|
-
/sf
|
|
243
|
-
/sf
|
|
237
|
+
/sf:status # Where am I?
|
|
238
|
+
/sf:next # What should I work on?
|
|
239
|
+
/sf:audit # Audit current spec
|
|
240
|
+
/sf:revise all # Apply audit feedback
|
|
241
|
+
/sf:run # Implement
|
|
242
|
+
/sf:review # Review implementation
|
|
243
|
+
/sf:done # Complete
|
|
244
244
|
```
|
|
245
245
|
|
|
246
246
|
---
|
|
247
247
|
|
|
248
|
-
**Detailed help:** `/sf
|
|
248
|
+
**Detailed help:** `/sf:help <command>`
|
|
249
249
|
|
|
250
250
|
**Documentation:** See DESIGN.md for full specification
|
|
251
251
|
```
|
package/commands/sf/history.md
CHANGED
|
@@ -33,7 +33,7 @@ Display completed specifications from the archive. Shows completion dates, audit
|
|
|
33
33
|
```
|
|
34
34
|
SpecFlow not initialized.
|
|
35
35
|
|
|
36
|
-
Run `/sf
|
|
36
|
+
Run `/sf:init` first.
|
|
37
37
|
```
|
|
38
38
|
Exit.
|
|
39
39
|
|
|
@@ -54,9 +54,9 @@ No completed specifications yet.
|
|
|
54
54
|
Complete your first spec to see it here.
|
|
55
55
|
|
|
56
56
|
**Workflow:**
|
|
57
|
-
1. `/sf
|
|
58
|
-
2. `/sf
|
|
59
|
-
3. `/sf
|
|
57
|
+
1. `/sf:new "task"` — Create specification
|
|
58
|
+
2. `/sf:audit` → `/sf:run` → `/sf:review`
|
|
59
|
+
3. `/sf:done` — Archives the specification
|
|
60
60
|
```
|
|
61
61
|
Exit.
|
|
62
62
|
|
|
@@ -78,10 +78,10 @@ Exit.
|
|
|
78
78
|
Specification {ID} not found in archive.
|
|
79
79
|
|
|
80
80
|
It may be:
|
|
81
|
-
- Still in progress: `/sf
|
|
82
|
-
- Never existed: `/sf
|
|
81
|
+
- Still in progress: `/sf:show {ID}`
|
|
82
|
+
- Never existed: `/sf:list` to see all specs
|
|
83
83
|
|
|
84
|
-
Use `/sf
|
|
84
|
+
Use `/sf:history` to see archived specifications.
|
|
85
85
|
```
|
|
86
86
|
Exit.
|
|
87
87
|
|
|
@@ -241,7 +241,7 @@ Most recent first.
|
|
|
241
241
|
|
|
242
242
|
---
|
|
243
243
|
|
|
244
|
-
**View details:** `/sf
|
|
244
|
+
**View details:** `/sf:history SPEC-001`
|
|
245
245
|
|
|
246
246
|
**Insights:**
|
|
247
247
|
{If first-pass audit rate < 50%:}
|
package/commands/sf/init.md
CHANGED
|
@@ -30,7 +30,7 @@ Initialize SpecFlow in the current project. Analyzes the codebase to understand
|
|
|
30
30
|
```
|
|
31
31
|
SpecFlow already initialized in this project.
|
|
32
32
|
|
|
33
|
-
Use `/sf
|
|
33
|
+
Use `/sf:status` to see current state.
|
|
34
34
|
```
|
|
35
35
|
Exit.
|
|
36
36
|
|
|
@@ -133,7 +133,7 @@ Create `.specflow/STATE.md`:
|
|
|
133
133
|
|
|
134
134
|
- **Active Specification:** none
|
|
135
135
|
- **Status:** idle
|
|
136
|
-
- **Next Step:** /sf
|
|
136
|
+
- **Next Step:** /sf:new
|
|
137
137
|
|
|
138
138
|
## Queue
|
|
139
139
|
|
|
@@ -193,7 +193,7 @@ Create `.specflow/config.json`:
|
|
|
193
193
|
|
|
194
194
|
## Next Step
|
|
195
195
|
|
|
196
|
-
`/sf
|
|
196
|
+
`/sf:new "your task description"` — create first specification
|
|
197
197
|
|
|
198
198
|
---
|
|
199
199
|
|
|
@@ -213,5 +213,5 @@ Create `.specflow/config.json`:
|
|
|
213
213
|
- [ ] PROJECT.md created with detected stack
|
|
214
214
|
- [ ] STATE.md created with initial state
|
|
215
215
|
- [ ] config.json created with defaults
|
|
216
|
-
- [ ] User knows next step is /sf
|
|
216
|
+
- [ ] User knows next step is /sf:new
|
|
217
217
|
</success_criteria>
|
package/commands/sf/list.md
CHANGED
|
@@ -27,7 +27,7 @@ Display all specifications from `.specflow/specs/` with their basic info: ID, ti
|
|
|
27
27
|
```
|
|
28
28
|
SpecFlow not initialized.
|
|
29
29
|
|
|
30
|
-
Run `/sf
|
|
30
|
+
Run `/sf:init` to start.
|
|
31
31
|
```
|
|
32
32
|
Exit.
|
|
33
33
|
|
|
@@ -50,7 +50,7 @@ ls -1 .specflow/specs/SPEC-*.md 2>/dev/null
|
|
|
50
50
|
No specifications found.
|
|
51
51
|
|
|
52
52
|
Create your first specification:
|
|
53
|
-
`/sf
|
|
53
|
+
`/sf:new "task description"`
|
|
54
54
|
```
|
|
55
55
|
Exit.
|
|
56
56
|
|
|
@@ -95,9 +95,9 @@ Total: 3 specs | {archived} complete | {in_progress} in progress
|
|
|
95
95
|
---
|
|
96
96
|
|
|
97
97
|
**Actions:**
|
|
98
|
-
- `/sf
|
|
99
|
-
- `/sf
|
|
100
|
-
- `/sf
|
|
98
|
+
- `/sf:show SPEC-XXX` — view details
|
|
99
|
+
- `/sf:next` — work on highest priority
|
|
100
|
+
- `/sf:new "task"` — create new specification
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
## Step 8: Show Status Legend (if helpful)
|
package/commands/sf/metrics.md
CHANGED
|
@@ -32,7 +32,7 @@ Calculate and display project statistics including completion rates, quality met
|
|
|
32
32
|
```
|
|
33
33
|
SpecFlow not initialized.
|
|
34
34
|
|
|
35
|
-
Run `/sf
|
|
35
|
+
Run `/sf:init` first.
|
|
36
36
|
```
|
|
37
37
|
Exit.
|
|
38
38
|
|
|
@@ -147,7 +147,7 @@ Based on calculated metrics, generate 2-4 actionable insights:
|
|
|
147
147
|
- "Specs may benefit from better scoping upfront"
|
|
148
148
|
|
|
149
149
|
**If large specs > 20% of total:**
|
|
150
|
-
- "Consider splitting large specs earlier (/sf
|
|
150
|
+
- "Consider splitting large specs earlier (/sf:split)"
|
|
151
151
|
|
|
152
152
|
**If first-pass review rate > 70%:**
|
|
153
153
|
- "Good implementation quality — specs are well-defined"
|
|
@@ -156,7 +156,7 @@ Based on calculated metrics, generate 2-4 actionable insights:
|
|
|
156
156
|
- "Many specs in progress — consider completing before starting new"
|
|
157
157
|
|
|
158
158
|
**If TODO_COUNT > 5 and conversion rate < 30%:**
|
|
159
|
-
- "Backlog growing — consider /sf
|
|
159
|
+
- "Backlog growing — consider /sf:priority or /sf:plan"
|
|
160
160
|
|
|
161
161
|
**If all metrics good:**
|
|
162
162
|
- "Project health is excellent — keep up the discipline!"
|
|
@@ -250,7 +250,7 @@ Based on calculated metrics, generate 2-4 actionable insights:
|
|
|
250
250
|
{If no todos:}
|
|
251
251
|
No to-do items.
|
|
252
252
|
|
|
253
|
-
Add ideas: `/sf
|
|
253
|
+
Add ideas: `/sf:todo "idea"`
|
|
254
254
|
|
|
255
255
|
---
|
|
256
256
|
|
|
@@ -287,7 +287,7 @@ No specifications created yet.
|
|
|
287
287
|
|
|
288
288
|
Create your first specification to start tracking metrics:
|
|
289
289
|
|
|
290
|
-
`/sf
|
|
290
|
+
`/sf:new "task description"`
|
|
291
291
|
|
|
292
292
|
---
|
|
293
293
|
|