sdlc-framework 2.1.1 → 3.0.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/README.md +25 -22
- package/package.json +1 -1
- package/src/commands/close.md +23 -10
- package/src/commands/debug.md +2 -2
- package/src/commands/discuss.md +20 -11
- package/src/commands/fast.md +7 -11
- package/src/commands/fix.md +2 -2
- package/src/commands/help.md +12 -11
- package/src/commands/impl.md +2 -2
- package/src/commands/init.md +3 -3
- package/src/commands/review.md +4 -4
- package/src/commands/spec.md +2 -2
- package/src/commands/status.md +2 -2
- package/src/commands/verify.md +3 -2
- package/src/references/prompt-detection.md +3 -3
- package/src/templates/STATE.md +10 -0
- package/src/workflows/close-phase.md +98 -24
- package/src/workflows/debug-flow.md +13 -2
- package/src/workflows/discuss-phase.md +212 -12
- package/src/workflows/fast-forward.md +45 -8
- package/src/workflows/fix-findings.md +26 -3
- package/src/workflows/impl-phase.md +13 -2
- package/src/workflows/init-project.md +15 -4
- package/src/workflows/review-phase.md +27 -3
- package/src/workflows/spec-phase.md +13 -2
- package/src/workflows/status-session.md +25 -2
- package/src/workflows/verify-phase.md +13 -2
- package/src/commands/research.md +0 -136
- package/src/commands/transition.md +0 -99
- package/src/workflows/research.md +0 -219
- package/src/workflows/transition-phase.md +0 -203
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ AI-assisted development has a quality problem. Research shows:
|
|
|
40
40
|
|
|
41
41
|
SDLC fixes all of this with five principles:
|
|
42
42
|
|
|
43
|
-
1. **Closed loop** — SPEC → IMPLEMENT → VERIFY → REVIEW → CLOSE.
|
|
43
|
+
1. **Closed loop** — SPEC → IMPLEMENT → VERIFY → REVIEW → CLOSE. Steps auto-advance with a 10-second delay — reply to intervene. No orphan plans. No skipped reviews.
|
|
44
44
|
|
|
45
45
|
2. **Engineering Laws** — SOLID, DRY, YAGNI, Clean Code, Security, and Testing are enforced as blocking gates at review. Not suggestions. Laws.
|
|
46
46
|
|
|
@@ -85,8 +85,8 @@ Choose global (all projects) or local (current project only). Verify with `/sdlc
|
|
|
85
85
|
# 4. Build it (spawns parallel sub-agents)
|
|
86
86
|
/sdlc:impl
|
|
87
87
|
|
|
88
|
-
# 5.
|
|
89
|
-
#
|
|
88
|
+
# 5. Steps auto-advance with 10s delay — reply to intervene
|
|
89
|
+
# The framework chains verify → review → close automatically
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
### Just Tell It What To Do
|
|
@@ -126,9 +126,10 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
126
126
|
### DISCUSS — Explore the idea (optional, pre-loop)
|
|
127
127
|
|
|
128
128
|
- AI-driven brainstorming — you describe an idea, AI asks structured questions
|
|
129
|
-
- 4 rounds max: problem space → scope → approach validation → requirements detail
|
|
129
|
+
- 4 rounds max: problem space → scope → research unknowns → approach validation → requirements detail
|
|
130
|
+
- Spawns research subagents when unknowns are detected (codebase patterns, external APIs, library choices)
|
|
130
131
|
- Every question includes a recommendation with concrete trade-offs
|
|
131
|
-
- Produces a PRD document at `.sdlc/discuss/{topic}-PRD.md`
|
|
132
|
+
- Produces a PRD document at `.sdlc/discuss/{topic}-PRD.md` with research findings included
|
|
132
133
|
- **User approval gate** — PRD must be approved before routing to `/sdlc:spec`
|
|
133
134
|
|
|
134
135
|
### SPEC — Define the work
|
|
@@ -168,21 +169,14 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
168
169
|
- Reconciles spec vs actual implementation
|
|
169
170
|
- Records deviations, decisions, lessons
|
|
170
171
|
- Creates SUMMARY.md for audit trail
|
|
171
|
-
- Advances state to next plan or
|
|
172
|
-
|
|
173
|
-
### TRANSITION — Advance to next phase
|
|
174
|
-
|
|
175
|
-
- Verifies all plans in the current phase are complete
|
|
176
|
-
- Cross-checks STATE.md, PROJECT.md, and ROADMAP.md for consistency
|
|
177
|
-
- Updates PROJECT.md with implemented and newly discovered requirements
|
|
178
|
-
- Creates a git commit at the phase boundary
|
|
179
|
-
- Advances state to the first spec of the next phase
|
|
172
|
+
- Advances state to next plan or handles phase transition inline
|
|
173
|
+
- Phase transitions: verifies completeness, updates PROJECT.md, creates git commit, advances to next phase
|
|
180
174
|
|
|
181
175
|
---
|
|
182
176
|
|
|
183
177
|
## Commands
|
|
184
178
|
|
|
185
|
-
|
|
179
|
+
12 commands, grouped by purpose. Run `/sdlc:help` for the full reference.
|
|
186
180
|
|
|
187
181
|
### Core Loop
|
|
188
182
|
|
|
@@ -192,8 +186,7 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
192
186
|
| `/sdlc:impl` | Build via parallel sub-agents | → `/sdlc:verify` |
|
|
193
187
|
| `/sdlc:verify` | Automated testing (Playwright MCP) | → `/sdlc:review` |
|
|
194
188
|
| `/sdlc:review` | Engineering laws compliance check | → `/sdlc:close` |
|
|
195
|
-
| `/sdlc:close` |
|
|
196
|
-
| `/sdlc:transition` | Advance to next phase when all plans complete | → `/sdlc:spec` |
|
|
189
|
+
| `/sdlc:close` | Close the loop. Handles phase transitions and milestone completion inline | → `/sdlc:spec` |
|
|
197
190
|
|
|
198
191
|
### Quick Entry
|
|
199
192
|
|
|
@@ -216,12 +209,11 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
216
209
|
| `/sdlc:status pause` | Save context for break, create HANDOFF.md |
|
|
217
210
|
| `/sdlc:status resume` | Restore context, ONE next action |
|
|
218
211
|
|
|
219
|
-
### Planning &
|
|
212
|
+
### Planning & Discovery
|
|
220
213
|
|
|
221
214
|
| Command | What it does |
|
|
222
215
|
|---------|-------------|
|
|
223
|
-
| `/sdlc:discuss [idea]` | Brainstorm
|
|
224
|
-
| `/sdlc:research <topic>` | Deploy research sub-agents |
|
|
216
|
+
| `/sdlc:discuss [idea]` | Brainstorm and research — AI asks questions, spawns research subagents for unknowns, produces a PRD |
|
|
225
217
|
|
|
226
218
|
### Setup
|
|
227
219
|
|
|
@@ -268,7 +260,7 @@ Severity is configurable per project in `.sdlc/LAWS.md`:
|
|
|
268
260
|
│ ├── 01-01-REVIEW.md
|
|
269
261
|
│ └── 01-01-SUMMARY.md
|
|
270
262
|
├── discuss/ # PRD documents from /sdlc:discuss
|
|
271
|
-
└── research/ #
|
|
263
|
+
└── research/ # Research findings (generated by /sdlc:discuss when unknowns detected)
|
|
272
264
|
```
|
|
273
265
|
|
|
274
266
|
---
|
|
@@ -279,7 +271,7 @@ Severity is configurable per project in `.sdlc/LAWS.md`:
|
|
|
279
271
|
|
|
280
272
|
| Aspect | PAUL | SDLC |
|
|
281
273
|
|--------|------|------|
|
|
282
|
-
| Commands | 26 (cognitive overload) |
|
|
274
|
+
| Commands | 26 (cognitive overload) | 12 (focused) |
|
|
283
275
|
| Testing | Manual UAT | Automated (Playwright MCP) |
|
|
284
276
|
| Code review | None | Engineering Laws enforcement |
|
|
285
277
|
| Implementation | In-session | Sub-agent parallel waves |
|
|
@@ -333,6 +325,17 @@ npx sdlc-framework@latest
|
|
|
333
325
|
|
|
334
326
|
---
|
|
335
327
|
|
|
328
|
+
## What's New in v3.0.0
|
|
329
|
+
|
|
330
|
+
**Fewer commands, faster flow, zero idle time.**
|
|
331
|
+
|
|
332
|
+
- **Research merged into Discuss** — `/sdlc:discuss` now spawns research subagents inline when unknowns are detected. No separate `/sdlc:research` command needed. One entry point for all pre-spec discovery.
|
|
333
|
+
- **Transition absorbed into Close** — `/sdlc:close` handles phase transitions inline when the last plan completes. Phase completeness verification, PROJECT.md updates, git commits — all automatic. No separate `/sdlc:transition` command.
|
|
334
|
+
- **Auto-advance (10s timeout)** — Steps chain automatically. After each step completes, the next command runs after a 10-second delay. Reply during the delay to intervene. Disable with `auto_advance: false` in `.sdlc/STATE.md`.
|
|
335
|
+
- **12 commands** (down from 14) — Less to learn, same power.
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
336
339
|
## License
|
|
337
340
|
|
|
338
341
|
MIT License. See [LICENSE](LICENSE) for details.
|
package/package.json
CHANGED
package/src/commands/close.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdlc:close
|
|
3
|
-
description: Reconcile spec vs actual
|
|
3
|
+
description: Reconcile spec vs actual, close the loop, handle phase transitions and milestone completion inline
|
|
4
4
|
argument-hint: "[spec-path]"
|
|
5
|
-
allowed-tools: [Read, Write, Bash, Glob, Grep, Edit]
|
|
5
|
+
allowed-tools: [Read, Write, Bash, Glob, Grep, Edit, AskUserQuestion]
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<objective>
|
|
9
|
-
Close the current SDLC loop by reconciling what was planned (SPEC.md) against what was built (IMPL.md, VERIFY.md, REVIEW.md). Record deviations, decisions, and lessons learned. Advance the state to the next plan or phase.
|
|
9
|
+
Close the current SDLC loop by reconciling what was planned (SPEC.md) against what was built (IMPL.md, VERIFY.md, REVIEW.md). Record deviations, decisions, and lessons learned. Advance the state to the next plan or phase. When the last plan in a phase completes, execute the phase transition inline — verify completeness, update PROJECT.md, advance the roadmap, and commit the phase boundary.
|
|
10
10
|
|
|
11
11
|
**When to use:** After /sdlc:review completes with no blockers. This is the CLOSE phase of the SDLC loop.
|
|
12
12
|
|
|
@@ -16,10 +16,11 @@ Close the current SDLC loop by reconciling what was planned (SPEC.md) against wh
|
|
|
16
16
|
3. Record deviations with reasons (scope changes, discovered complexity, design pivots).
|
|
17
17
|
4. Create SUMMARY.md with deliverables, results, deviations, decisions, and lessons.
|
|
18
18
|
5. Update STATE.md to advance to the next plan or phase.
|
|
19
|
+
6. If this was the last plan in a phase: execute the full phase transition inline (completeness check, PROJECT.md update, ROADMAP.md update, git commit).
|
|
19
20
|
|
|
20
21
|
**What happens next:**
|
|
21
22
|
- More plans in the current phase: Framework directs you to /sdlc:spec for the next plan.
|
|
22
|
-
- Phase complete (all plans done): Framework
|
|
23
|
+
- Phase complete (all plans done): Framework executes the phase transition inline, then directs to /sdlc:spec for the first plan of the new phase.
|
|
23
24
|
- Milestone complete (all phases done): Framework generates milestone summary, creates git tag, and advances to next milestone or marks project complete.
|
|
24
25
|
- All milestones complete: Project is done.
|
|
25
26
|
|
|
@@ -30,6 +31,7 @@ Close the current SDLC loop by reconciling what was planned (SPEC.md) against wh
|
|
|
30
31
|
@~/.claude/sdlc-framework/workflows/close-phase.md
|
|
31
32
|
@.sdlc/STATE.md
|
|
32
33
|
@.sdlc/ROADMAP.md
|
|
34
|
+
@.sdlc/PROJECT.md
|
|
33
35
|
</execution_context>
|
|
34
36
|
|
|
35
37
|
<context>
|
|
@@ -38,6 +40,7 @@ $ARGUMENTS — optional path to SPEC.md. If not provided, read from .sdlc/STATE.
|
|
|
38
40
|
Read these files:
|
|
39
41
|
- .sdlc/STATE.md — current plan, all artifact paths.
|
|
40
42
|
- .sdlc/ROADMAP.md — milestones, phases, plans to determine next steps.
|
|
43
|
+
- .sdlc/PROJECT.md — requirements to update during phase transitions.
|
|
41
44
|
- .sdlc/specs/SPEC-<plan-id>.md — what was planned.
|
|
42
45
|
- .sdlc/impl/IMPL-<plan-id>.md — what was built.
|
|
43
46
|
- .sdlc/verify/VERIFY-<plan-id>.md — what was verified.
|
|
@@ -172,10 +175,19 @@ Step-by-step:
|
|
|
172
175
|
9. **Determine and output next action**
|
|
173
176
|
- If more plans in the current phase:
|
|
174
177
|
- Output: "Plan <plan-id> complete. Next plan: <next-plan-id>."
|
|
175
|
-
- End with
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
178
|
+
- End with auto-advance directive to /sdlc:spec
|
|
179
|
+
|
|
180
|
+
- If phase is complete (last plan done) — execute phase transition inline:
|
|
181
|
+
a. **Verify phase completeness:** List all SPEC and SUMMARY files in .sdlc/phases/{current_phase}/. Every SPEC must have a corresponding SUMMARY. Every SUMMARY must show all ACs passed. If not, block: "Phase transition blocked. Plan {N} has no summary or failing ACs."
|
|
182
|
+
b. **Cross-check consistency:** Verify STATE.md current_milestone matches ROADMAP.md in-progress milestone. Verify prior phases in this milestone are all COMPLETE. If inconsistency found: display details, offer auto-fix, ask for confirmation.
|
|
183
|
+
c. **Update PROJECT.md:** Read all SUMMARY.md files from the completing phase. Mark addressed requirements as IMPLEMENTED. Mark contradicted requirements as SUPERSEDED. Add newly discovered requirements as NOT STARTED. Display proposed changes and ask user to confirm before writing.
|
|
184
|
+
d. **Update ROADMAP.md:** Mark completed phase as COMPLETE with date. Add phase summary note (plans executed, hotfixes, key deliverables, duration from first spec to completion).
|
|
185
|
+
e. **Advance state:** Update STATE.md — set current_phase to next phase, clear current_plan, set loop_position to SPEC, set next_required_action to /sdlc:spec. Update ROADMAP.md — set next phase to IN PROGRESS.
|
|
186
|
+
f. **If no next phase (last phase in milestone):** Do not advance to a new phase. Set next_required_action to milestone completion (step 10 handles this).
|
|
187
|
+
g. **Create git commit** (if in a git repo): Stage .sdlc/ files and source files from the phase. Commit: `feat({phase-name}): complete phase {number}`
|
|
188
|
+
h. Output: "Phase <phase-name> complete. Next phase: <next-phase-name>."
|
|
189
|
+
i. End with auto-advance directive to /sdlc:spec
|
|
190
|
+
|
|
179
191
|
- If milestone is complete: run milestone completion (step 10).
|
|
180
192
|
- If all milestones are complete:
|
|
181
193
|
- Output: "All milestones complete. Project roadmap fulfilled."
|
|
@@ -191,7 +203,7 @@ Step-by-step:
|
|
|
191
203
|
d. Mark milestone as COMPLETE in ROADMAP.md with completion date.
|
|
192
204
|
e. Check for next milestone in ROADMAP.md:
|
|
193
205
|
- If exists: set as current in STATE.md.
|
|
194
|
-
|
|
206
|
+
End with auto-advance directive to /sdlc:spec with message: "Milestone complete. Next: {name}."
|
|
195
207
|
- If none: clear current_milestone.
|
|
196
208
|
Output: "Milestone complete. No further milestones. Run /sdlc:init milestone <name> to plan the next."
|
|
197
209
|
</process>
|
|
@@ -209,6 +221,7 @@ Step-by-step:
|
|
|
209
221
|
- [ ] STATE.md updated: loop_position reset to SPEC, current plan advanced
|
|
210
222
|
- [ ] ROADMAP.md updated: completed plan/phase/milestone marked as done
|
|
211
223
|
- [ ] Correct next action determined based on roadmap position
|
|
224
|
+
- [ ] Phase transition (when last plan completes): completeness verified, PROJECT.md updated, ROADMAP.md updated with phase summary, git commit created
|
|
212
225
|
- [ ] Milestone completion: summary generated, git tag created, ROADMAP.md updated (when applicable)
|
|
213
|
-
- [ ] Output ends with
|
|
226
|
+
- [ ] Output ends with auto-advance directive to /sdlc:spec (or project complete message)
|
|
214
227
|
</success_criteria>
|
package/src/commands/debug.md
CHANGED
|
@@ -107,7 +107,7 @@ Step-by-step:
|
|
|
107
107
|
|
|
108
108
|
8. **Update STATE.md and force next action**
|
|
109
109
|
- Update .sdlc/STATE.md: record the debug session, files changed.
|
|
110
|
-
-
|
|
110
|
+
- End with auto-advance directive to /sdlc:review.
|
|
111
111
|
</process>
|
|
112
112
|
|
|
113
113
|
<success_criteria>
|
|
@@ -120,5 +120,5 @@ Step-by-step:
|
|
|
120
120
|
- [ ] Similar bugs in other locations identified and fixed
|
|
121
121
|
- [ ] DEBUG-LOG.md created in .sdlc/debug-logs/
|
|
122
122
|
- [ ] STATE.md updated
|
|
123
|
-
- [ ] Output ends with
|
|
123
|
+
- [ ] Output ends with auto-advance directive to /sdlc:review
|
|
124
124
|
</success_criteria>
|
package/src/commands/discuss.md
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdlc:discuss
|
|
3
|
-
description: Brainstorm
|
|
3
|
+
description: Brainstorm an idea into a PRD. Spawns research subagents when unknowns are detected.
|
|
4
4
|
argument-hint: "[idea or topic]"
|
|
5
|
-
allowed-tools: [Read, Write, Glob, Grep, AskUserQuestion]
|
|
5
|
+
allowed-tools: [Read, Write, Glob, Grep, Agent, WebSearch, WebFetch, AskUserQuestion]
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<objective>
|
|
9
|
-
Drive a structured brainstorming session to help the user explore, clarify, and validate an idea. Produce a complete PRD document through targeted AI-driven questions across problem, scope, approach, and requirements.
|
|
9
|
+
Drive a structured brainstorming session to help the user explore, clarify, and validate an idea. Spawn research subagents inline when unknowns surface. Produce a complete PRD document through targeted AI-driven questions across problem, scope, research, approach, and requirements.
|
|
10
10
|
|
|
11
|
-
**When to use:** Before /sdlc:spec when the idea is raw, vague, or needs exploration. This is the DISCOVERY phase — upstream of the SDLC loop.
|
|
11
|
+
**When to use:** Before /sdlc:spec when the idea is raw, vague, or needs exploration. Also use when research is needed — external APIs, library choices, codebase patterns. This is the DISCOVERY phase — upstream of the SDLC loop.
|
|
12
12
|
|
|
13
13
|
**What it does:**
|
|
14
14
|
1. Accept a raw idea or topic from the user.
|
|
15
15
|
2. Ask structured questions in rounds: problem, scope, approach, requirements.
|
|
16
|
-
3.
|
|
17
|
-
4.
|
|
18
|
-
5.
|
|
16
|
+
3. Between scope and approach, detect unknowns and spawn research subagents inline (codebase exploration, web research, or both).
|
|
17
|
+
4. Feed research findings directly into approach validation.
|
|
18
|
+
5. Validate ideas and offer recommendations with concrete trade-offs.
|
|
19
|
+
6. Compile all decisions and research findings into a PRD document.
|
|
20
|
+
7. Boot up the SDLC loop by routing to /sdlc:spec with the PRD as input.
|
|
19
21
|
|
|
20
22
|
**What happens next:** After user approves the PRD, framework directs to /sdlc:spec to formalize it into a specification.
|
|
21
23
|
|
|
22
|
-
**Critical rule:** AI drives the conversation. Ask questions — do not assume answers. Every question includes a recommendation. Maximum 4 rounds of 2-4 questions each.
|
|
24
|
+
**Critical rule:** AI drives the conversation. Ask questions — do not assume answers. Every question includes a recommendation. Maximum 4 rounds of 2-4 questions each. Research spawns inline when unknowns exist — skip research when the idea is clear enough.
|
|
23
25
|
</objective>
|
|
24
26
|
|
|
25
27
|
<execution_context>
|
|
@@ -37,6 +39,7 @@ Read these files if they exist:
|
|
|
37
39
|
- .sdlc/STATE.md — current loop position (discuss can run at any point).
|
|
38
40
|
- .sdlc/PROJECT.md — project context, tech stack, existing architecture.
|
|
39
41
|
- .sdlc/ROADMAP.md — milestones and phases for context.
|
|
42
|
+
- .sdlc/research/*.md — prior research findings for reuse.
|
|
40
43
|
|
|
41
44
|
Scan the codebase to understand existing patterns and constraints.
|
|
42
45
|
</context>
|
|
@@ -53,13 +56,15 @@ Step-by-step:
|
|
|
53
56
|
2. **Run question rounds** (max 4 rounds, 2-4 questions per round)
|
|
54
57
|
- Round 1: Problem space — who, what, why, current workarounds.
|
|
55
58
|
- Round 2: Scope and constraints — in/out, MVP, timeline, tech.
|
|
56
|
-
- Round
|
|
59
|
+
- Round 2.5: Research unknowns — if unknowns exist (external APIs, library choices, codebase patterns, best practices), spawn research subagents inline. Classify research type (codebase, web, hybrid). Save findings to .sdlc/research/{topic-slug}.md. Skip if no unknowns identified.
|
|
60
|
+
- Round 3: Approach validation — present options with trade-offs informed by research findings, ask user to choose.
|
|
57
61
|
- Round 4: Requirements detail — user flows, edge cases, integrations.
|
|
58
62
|
- Each question includes a recommendation. Stop early if clarity is sufficient.
|
|
59
63
|
|
|
60
64
|
3. **Compile PRD**
|
|
61
65
|
- Assemble all answers into .sdlc/discuss/{topic}-PRD.md using @templates/PRD.md.
|
|
62
66
|
- Include decisions log with every question asked and answer received.
|
|
67
|
+
- Include "Research Findings" section if research was conducted.
|
|
63
68
|
|
|
64
69
|
4. **Present and approve**
|
|
65
70
|
- Display PRD summary. User options: APPROVE, REVISE, REJECT.
|
|
@@ -67,15 +72,19 @@ Step-by-step:
|
|
|
67
72
|
|
|
68
73
|
5. **Update STATE.md and output**
|
|
69
74
|
- Record discussion reference. Set next_required_action: /sdlc:spec.
|
|
70
|
-
- End with
|
|
75
|
+
- End with auto-advance directive to /sdlc:spec
|
|
71
76
|
</process>
|
|
72
77
|
|
|
73
78
|
<success_criteria>
|
|
74
79
|
- [ ] Idea explored through at least 2 rounds of structured questions
|
|
75
80
|
- [ ] Every question included a recommendation with trade-offs
|
|
81
|
+
- [ ] Research subagents spawned when unknowns detected (external APIs, library choices, codebase patterns)
|
|
82
|
+
- [ ] Research skipped cleanly when idea is clear and no unknowns exist
|
|
83
|
+
- [ ] Research findings saved to .sdlc/research/{topic-slug}.md when applicable
|
|
76
84
|
- [ ] PRD created at .sdlc/discuss/{topic}-PRD.md with all required sections
|
|
85
|
+
- [ ] PRD includes Research Findings section when research was conducted
|
|
77
86
|
- [ ] PRD includes decisions log mapping questions to answers
|
|
78
87
|
- [ ] User explicitly approved the PRD (APPROVE response received)
|
|
79
88
|
- [ ] STATE.md updated with discussion reference
|
|
80
|
-
- [ ] Output ends with
|
|
89
|
+
- [ ] Output ends with auto-advance directive to /sdlc:spec
|
|
81
90
|
</success_criteria>
|
package/src/commands/fast.md
CHANGED
|
@@ -11,14 +11,13 @@ The primary entry point for getting work done. Describe what you need in plain l
|
|
|
11
11
|
**When to use:** Anytime. This is the default command for starting work. Use it instead of figuring out which specific command to run.
|
|
12
12
|
|
|
13
13
|
**What it does:**
|
|
14
|
-
1. Classify the work type (feature, bug, refactor, test, docs,
|
|
14
|
+
1. Classify the work type (feature, bug, refactor, test, docs, critical).
|
|
15
15
|
2. Estimate complexity (files, lines, dependencies).
|
|
16
16
|
3. Route based on classification and complexity:
|
|
17
17
|
- Simple work (≤3 files, ≤100 lines): execute full loop inline (spec→impl→verify→review→close).
|
|
18
18
|
- Complex feature: route to /sdlc:spec with pre-filled context.
|
|
19
19
|
- Bug: route to /sdlc:debug with reproduction context.
|
|
20
|
-
-
|
|
21
|
-
- Brainstorming: route to /sdlc:discuss with topic.
|
|
20
|
+
- Brainstorming or research: route to /sdlc:discuss with topic.
|
|
22
21
|
- Critical production issue: execute hotfix inline (minimal spec→fix→full verify→full review).
|
|
23
22
|
4. For inline execution: run compressed loop with full engineering law enforcement.
|
|
24
23
|
|
|
@@ -61,8 +60,7 @@ Step-by-step:
|
|
|
61
60
|
|------|-----------|-------|
|
|
62
61
|
| CRITICAL | "urgent", "production", "down", "outage", "critical", "P0", "hotfix" | inline hotfix |
|
|
63
62
|
| BUG | "fix", "bug", "error", "broken", "crash", "fails", "wrong", "regression" | /sdlc:debug |
|
|
64
|
-
|
|
|
65
|
-
| DISCUSS | "brainstorm", "discuss", "idea", "what if", "think about", "concept", "should we", "could we" | /sdlc:discuss |
|
|
63
|
+
| DISCUSS | "brainstorm", "discuss", "idea", "what if", "think about", "concept", "should we", "could we", "explore", "investigate", "research", "compare", "evaluate", "options" | /sdlc:discuss |
|
|
66
64
|
| FEATURE | "add", "create", "build", "implement", "new", "introduce" | complexity-dependent |
|
|
67
65
|
| REFACTOR | "refactor", "clean", "rename", "extract", "move", "simplify" | complexity-dependent |
|
|
68
66
|
| TEST | "test", "coverage", "spec", "assertion" | complexity-dependent |
|
|
@@ -71,9 +69,8 @@ Step-by-step:
|
|
|
71
69
|
Display: "Classified as: {type}"
|
|
72
70
|
|
|
73
71
|
3. **Immediate routing** (for specialized types)
|
|
74
|
-
- BUG → Display: "Bug detected.
|
|
75
|
-
-
|
|
76
|
-
- DISCUSS → Display: "Brainstorming topic. NEXT ACTION REQUIRED: /sdlc:discuss {original description}" — STOP.
|
|
72
|
+
- BUG → Display: "Bug detected." End with auto-advance directive to /sdlc:debug — STOP.
|
|
73
|
+
- DISCUSS → Display: "Brainstorming or research topic." End with auto-advance directive to /sdlc:discuss — STOP.
|
|
77
74
|
- CRITICAL → proceed to inline hotfix (step 10).
|
|
78
75
|
|
|
79
76
|
4. **Complexity estimation** (for feature/refactor/test/docs)
|
|
@@ -93,10 +90,10 @@ Step-by-step:
|
|
|
93
90
|
Task exceeds inline threshold ({N} files, ~{N} lines).
|
|
94
91
|
Routing to full spec for proper task decomposition and parallel sub-agent execution.
|
|
95
92
|
|
|
96
|
-
NEXT ACTION REQUIRED: /sdlc:spec
|
|
97
93
|
Context pre-loaded: {task description, identified files, estimated scope}
|
|
98
94
|
```
|
|
99
95
|
Write pre-filled context to .sdlc/STATE.md fast_context field so /sdlc:spec picks it up.
|
|
96
|
+
End with auto-advance directive to /sdlc:spec.
|
|
100
97
|
STOP.
|
|
101
98
|
|
|
102
99
|
5. **Inline execution — Mini-SPEC**
|
|
@@ -181,8 +178,7 @@ Step-by-step:
|
|
|
181
178
|
- [ ] Work classified correctly from natural language description
|
|
182
179
|
- [ ] Bugs routed to /sdlc:debug — never processed inline
|
|
183
180
|
- [ ] Critical issues handled as inline hotfix with full verify + review
|
|
184
|
-
- [ ]
|
|
185
|
-
- [ ] Brainstorming routed to /sdlc:discuss
|
|
181
|
+
- [ ] Brainstorming and research topics routed to /sdlc:discuss
|
|
186
182
|
- [ ] Complex work (>3 files or >100 lines) routed to /sdlc:spec with pre-filled context
|
|
187
183
|
- [ ] Simple work executed inline through full compressed loop
|
|
188
184
|
- [ ] Hotfix: minimal fix, full test suite, engineering laws enforced
|
package/src/commands/fix.md
CHANGED
|
@@ -99,6 +99,6 @@ Step-by-step:
|
|
|
99
99
|
- [ ] User approved the fix plan before execution
|
|
100
100
|
- [ ] Sub-agents spawned for independent file fixes
|
|
101
101
|
- [ ] /sdlc:review automatically re-runs after fixes
|
|
102
|
-
- [ ] If review passes: output ends with
|
|
103
|
-
- [ ] If review fails again: output ends with
|
|
102
|
+
- [ ] If review passes: output ends with auto-advance directive to /sdlc:close
|
|
103
|
+
- [ ] If review fails again: output ends with auto-advance directive to /sdlc:fix
|
|
104
104
|
</success_criteria>
|
package/src/commands/help.md
CHANGED
|
@@ -47,14 +47,9 @@ COMMANDS — Core Loop
|
|
|
47
47
|
/sdlc:impl Implement the plan. Spawns subagents to write code.
|
|
48
48
|
/sdlc:verify Run tests and Playwright checks. Confirm acceptance criteria met.
|
|
49
49
|
/sdlc:review Review code against engineering laws. Flag violations.
|
|
50
|
-
/sdlc:close
|
|
50
|
+
/sdlc:close Close the loop. Handles phase transitions and milestone completion inline.
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
COMMANDS — Phase Management
|
|
54
|
-
───────────────────────────
|
|
55
|
-
|
|
56
|
-
/sdlc:transition Advance to the next phase after all plans complete.
|
|
57
|
-
|
|
58
53
|
COMMANDS — Quick Entry
|
|
59
54
|
──────────────────────
|
|
60
55
|
|
|
@@ -77,11 +72,10 @@ COMMANDS — Session & Status
|
|
|
77
72
|
/sdlc:status resume Restore context. Determines ONE next action.
|
|
78
73
|
|
|
79
74
|
|
|
80
|
-
COMMANDS — Planning &
|
|
81
|
-
|
|
75
|
+
COMMANDS — Planning & Discovery
|
|
76
|
+
───────────────────────────────
|
|
82
77
|
|
|
83
|
-
/sdlc:discuss Brainstorm an idea.
|
|
84
|
-
/sdlc:research Deploy subagents for codebase or web research.
|
|
78
|
+
/sdlc:discuss Brainstorm an idea into a PRD. Spawns research subagents when unknowns are detected.
|
|
85
79
|
/sdlc:init Initialize framework or add milestones. Run once.
|
|
86
80
|
/sdlc:help Show this reference.
|
|
87
81
|
|
|
@@ -115,6 +109,13 @@ FOR BUGS
|
|
|
115
109
|
Example: /sdlc:debug login form submits twice on slow connections
|
|
116
110
|
|
|
117
111
|
|
|
112
|
+
AUTO-ADVANCE
|
|
113
|
+
─────────────
|
|
114
|
+
Steps chain automatically with a 10-second delay.
|
|
115
|
+
Reply during the delay to intervene.
|
|
116
|
+
Disable: set auto_advance: false in .sdlc/STATE.md
|
|
117
|
+
|
|
118
|
+
|
|
118
119
|
ENGINEERING LAWS (summary)
|
|
119
120
|
──────────────────────────
|
|
120
121
|
|
|
@@ -139,7 +140,7 @@ If .sdlc/LAWS.md exists, read it and append any project-specific law customizati
|
|
|
139
140
|
|
|
140
141
|
<success_criteria>
|
|
141
142
|
- [ ] Core loop diagram displayed
|
|
142
|
-
- [ ] All
|
|
143
|
+
- [ ] All 12 commands listed with one-line descriptions
|
|
143
144
|
- [ ] Commands grouped by purpose (core loop, shortcuts, session, planning)
|
|
144
145
|
- [ ] Quick start guide shown (3 steps)
|
|
145
146
|
- [ ] Small tasks shortcut mentioned (/sdlc:fast)
|
package/src/commands/impl.md
CHANGED
|
@@ -125,7 +125,7 @@ Step-by-step:
|
|
|
125
125
|
|
|
126
126
|
10. **Output confirmation**
|
|
127
127
|
- Print implementation summary: tasks completed, files modified, build status.
|
|
128
|
-
- End with
|
|
128
|
+
- End with auto-advance directive to /sdlc:verify.
|
|
129
129
|
</process>
|
|
130
130
|
|
|
131
131
|
<success_criteria>
|
|
@@ -139,5 +139,5 @@ Step-by-step:
|
|
|
139
139
|
- [ ] IMPL-<plan-id>.md created with completion summary
|
|
140
140
|
- [ ] STATE.md updated with loop_position: IMPL_COMPLETE
|
|
141
141
|
- [ ] No files modified outside spec boundaries
|
|
142
|
-
- [ ] Output ends with
|
|
142
|
+
- [ ] Output ends with auto-advance directive to /sdlc:verify
|
|
143
143
|
</success_criteria>
|
package/src/commands/init.md
CHANGED
|
@@ -82,7 +82,7 @@ Step-by-step:
|
|
|
82
82
|
8. **Output confirmation**
|
|
83
83
|
- Print summary of created files.
|
|
84
84
|
- Print the first milestone and phase.
|
|
85
|
-
- End with
|
|
85
|
+
- End with auto-advance directive to /sdlc:spec.
|
|
86
86
|
|
|
87
87
|
### If "milestone <name>" in $ARGUMENTS: ADD MILESTONE
|
|
88
88
|
|
|
@@ -95,7 +95,7 @@ Step-by-step:
|
|
|
95
95
|
4. Create phase directories: mkdir -p .sdlc/phases/{phase-number}-{phase-name}
|
|
96
96
|
5. Update ROADMAP.md with new milestone section, phases, and status.
|
|
97
97
|
6. Update STATE.md: set current_milestone if none active. Add history entry.
|
|
98
|
-
7. Output: "Milestone created.
|
|
98
|
+
7. Output: "Milestone created." End with auto-advance directive to /sdlc:spec.
|
|
99
99
|
</process>
|
|
100
100
|
|
|
101
101
|
<success_criteria>
|
|
@@ -105,5 +105,5 @@ Step-by-step:
|
|
|
105
105
|
- [ ] ROADMAP.md has at least one milestone with at least one phase
|
|
106
106
|
- [ ] LAWS.md contains engineering laws with severity levels configured for the project type
|
|
107
107
|
- [ ] No guessing — all project context gathered via clarification questions
|
|
108
|
-
- [ ] Output ends with
|
|
108
|
+
- [ ] Output ends with auto-advance directive to /sdlc:spec
|
|
109
109
|
</success_criteria>
|
package/src/commands/review.md
CHANGED
|
@@ -171,11 +171,11 @@ Step-by-step:
|
|
|
171
171
|
- If ZERO blockers:
|
|
172
172
|
- Update STATE.md: set `loop_position: REVIEW_COMPLETE`
|
|
173
173
|
- Set `review_path: .sdlc/review/REVIEW-<plan-id>.md`
|
|
174
|
-
-
|
|
174
|
+
- End with auto-advance directive to /sdlc:close
|
|
175
175
|
- If ANY blockers:
|
|
176
176
|
- Update STATE.md: set `loop_position: REVIEW_FAILED`
|
|
177
177
|
- List each blocker with its remediation.
|
|
178
|
-
-
|
|
178
|
+
- End with auto-advance directive to /sdlc:fix
|
|
179
179
|
</process>
|
|
180
180
|
|
|
181
181
|
<success_criteria>
|
|
@@ -190,6 +190,6 @@ Step-by-step:
|
|
|
190
190
|
- [ ] REVIEW-<plan-id>.md created with all findings, severity, and remediation steps
|
|
191
191
|
- [ ] Laws compliance matrix included in review report
|
|
192
192
|
- [ ] Severity assigned honestly — blockers not downgraded to pass faster
|
|
193
|
-
- [ ] If no blockers: output ends with
|
|
194
|
-
- [ ] If blockers exist: output ends with
|
|
193
|
+
- [ ] If no blockers: output ends with auto-advance directive to /sdlc:close
|
|
194
|
+
- [ ] If blockers exist: output ends with auto-advance directive to /sdlc:fix
|
|
195
195
|
</success_criteria>
|
package/src/commands/spec.md
CHANGED
|
@@ -147,7 +147,7 @@ Step-by-step:
|
|
|
147
147
|
|
|
148
148
|
12. **Output confirmation**
|
|
149
149
|
- Print spec summary: objective, number of ACs, number of tasks, execution waves.
|
|
150
|
-
- End with
|
|
150
|
+
- End with auto-advance directive to /sdlc:impl
|
|
151
151
|
</process>
|
|
152
152
|
|
|
153
153
|
<success_criteria>
|
|
@@ -163,5 +163,5 @@ Step-by-step:
|
|
|
163
163
|
- [ ] SPEC.md created at .sdlc/phases/{phase}/{plan}-SPEC.md
|
|
164
164
|
- [ ] STATE.md updated with current_plan, spec_path, loop_position: SPEC ✓
|
|
165
165
|
- [ ] No assumptions made — every ambiguity resolved via clarification
|
|
166
|
-
- [ ] Output ends with
|
|
166
|
+
- [ ] Output ends with auto-advance directive to /sdlc:impl
|
|
167
167
|
</success_criteria>
|
package/src/commands/status.md
CHANGED
|
@@ -65,7 +65,7 @@ Step-by-step:
|
|
|
65
65
|
4. Verify git state matches handoff (warn on mismatch). Pop stash if applicable.
|
|
66
66
|
5. Archive consumed handoff to .sdlc/HANDOFF-{timestamp}.md.archived.
|
|
67
67
|
6. Clean up STATE.md session fields (remove paused_at).
|
|
68
|
-
7. Force ONE next action.
|
|
68
|
+
7. Force ONE next action. End with auto-advance directive to the forced next action.
|
|
69
69
|
</process>
|
|
70
70
|
|
|
71
71
|
<success_criteria>
|
|
@@ -79,6 +79,6 @@ Step-by-step:
|
|
|
79
79
|
- [ ] Resume: handoff located and context restored
|
|
80
80
|
- [ ] Resume: git state verified against handoff
|
|
81
81
|
- [ ] Resume: handoff archived after consumption
|
|
82
|
-
- [ ] Resume: output ends with
|
|
82
|
+
- [ ] Resume: output ends with auto-advance directive to /sdlc:{action}
|
|
83
83
|
- [ ] No menus, no options — one clear path forward
|
|
84
84
|
</success_criteria>
|
package/src/commands/verify.md
CHANGED
|
@@ -132,11 +132,12 @@ Step-by-step:
|
|
|
132
132
|
- If ALL acceptance criteria pass:
|
|
133
133
|
- Update STATE.md: set `loop_position: VERIFY_COMPLETE`
|
|
134
134
|
- Set `verify_path: .sdlc/verify/VERIFY-<plan-id>.md`
|
|
135
|
-
-
|
|
135
|
+
- End with auto-advance directive to /sdlc:review
|
|
136
136
|
- If ANY acceptance criteria fail:
|
|
137
137
|
- Update STATE.md: set `loop_position: VERIFY_FAILED`
|
|
138
138
|
- Output the failure details with suggested fixes.
|
|
139
139
|
- Output ends with: "Fix the failures above, then re-run /sdlc:verify"
|
|
140
|
+
- Do NOT auto-advance on failure — the user must fix issues first.
|
|
140
141
|
</process>
|
|
141
142
|
|
|
142
143
|
<success_criteria>
|
|
@@ -147,7 +148,7 @@ Step-by-step:
|
|
|
147
148
|
- [ ] VERIFY-<plan-id>.md created with per-AC pass/fail results
|
|
148
149
|
- [ ] Failed ACs include: expected vs actual, root cause analysis, suggested fix, files to modify
|
|
149
150
|
- [ ] STATE.md updated with loop_position (VERIFY_COMPLETE or VERIFY_FAILED)
|
|
150
|
-
- [ ] If all pass: output ends with
|
|
151
|
+
- [ ] If all pass: output ends with auto-advance directive to /sdlc:review
|
|
151
152
|
- [ ] If any fail: output ends with "Fix the failures above, then re-run /sdlc:verify"
|
|
152
153
|
- [ ] No criteria skipped without documented reason
|
|
153
154
|
</success_criteria>
|
|
@@ -8,11 +8,11 @@ This document explains how the `/sdlc:fast` command classifies task types from n
|
|
|
8
8
|
|
|
9
9
|
When a developer types `/sdlc:fast "add a login page"`, the framework must determine:
|
|
10
10
|
|
|
11
|
-
1. **What type of work is this?** (feature, bug, critical,
|
|
11
|
+
1. **What type of work is this?** (feature, bug, critical, test, refactor, docs)
|
|
12
12
|
2. **How complex is it?** (simple, medium, complex)
|
|
13
|
-
3. **Where should it route?** (inline execution, /sdlc:spec, /sdlc:debug, /sdlc:
|
|
13
|
+
3. **Where should it route?** (inline execution, /sdlc:spec, /sdlc:debug, /sdlc:discuss, or inline hotfix)
|
|
14
14
|
|
|
15
|
-
`/sdlc:fast` is the **default entry point** for all work — not just small tasks. It is a universal router that classifies intent and complexity, then either handles work inline (simple) or routes to the appropriate specialized command (complex, bugs, research, emergencies).
|
|
15
|
+
`/sdlc:fast` is the **default entry point** for all work — not just small tasks. It is a universal router that classifies intent and complexity, then either handles work inline (simple) or routes to the appropriate specialized command (complex, bugs, brainstorming/research, emergencies).
|
|
16
16
|
|
|
17
17
|
This classification happens automatically. The developer can override it with flags if the automatic classification is wrong.
|
|
18
18
|
|
package/src/templates/STATE.md
CHANGED
|
@@ -14,6 +14,11 @@ This template defines the loop position tracker stored at `.sdlc/STATE.md`. It i
|
|
|
14
14
|
- **Laws file:** .sdlc/LAWS.md
|
|
15
15
|
- **Roadmap file:** .sdlc/ROADMAP.md
|
|
16
16
|
|
|
17
|
+
## Settings
|
|
18
|
+
|
|
19
|
+
- **auto_advance:** true
|
|
20
|
+
- **advance_delay_seconds:** 10
|
|
21
|
+
|
|
17
22
|
## Current Position
|
|
18
23
|
|
|
19
24
|
- **Milestone:** {{MILESTONE_NAME}} ({{MILESTONE_NUMBER}}/{{TOTAL_MILESTONES}})
|
|
@@ -102,5 +107,10 @@ This is the most important field in the entire SDLC. It tells the developer (or
|
|
|
102
107
|
### Accumulated Context
|
|
103
108
|
Decisions, deferred issues, and blockers survive across loop iterations. They are the project's institutional memory. Without them, the same questions get asked repeatedly and the same mistakes get made.
|
|
104
109
|
|
|
110
|
+
### Settings
|
|
111
|
+
Configuration for framework behavior:
|
|
112
|
+
- **auto_advance** — When true, the framework automatically runs the next required action after a brief delay. Set to false for manual step-by-step control where the user must explicitly run each command.
|
|
113
|
+
- **advance_delay_seconds** — Seconds to wait before auto-advancing to the next command. Gives the user time to review output and intervene by sending a message. Default: 10.
|
|
114
|
+
|
|
105
115
|
### Session Continuity
|
|
106
116
|
When a developer stops working (end of day, context switch), this section captures exactly where to resume. The handoff file (HANDOFF.md) contains detailed notes; this section contains the summary.
|