sdlc-framework 1.0.2 → 2.1.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 +41 -16
- package/bin/install.js +6 -5
- package/package.json +2 -2
- package/src/commands/close.md +21 -7
- package/src/commands/debug.md +2 -2
- package/src/commands/discuss.md +81 -0
- package/src/commands/fast.md +50 -5
- package/src/commands/help.md +15 -10
- package/src/commands/impl.md +2 -2
- package/src/commands/init.md +21 -5
- package/src/commands/review.md +2 -2
- package/src/commands/spec.md +2 -2
- package/src/commands/status.md +57 -91
- package/src/commands/transition.md +99 -0
- package/src/commands/verify.md +2 -2
- package/src/references/prompt-detection.md +1 -1
- package/src/templates/PRD.md +89 -0
- package/src/workflows/close-phase.md +1 -1
- package/src/workflows/discuss-phase.md +195 -0
- package/src/workflows/fast-forward.md +58 -7
- package/src/workflows/init-project.md +1 -1
- package/src/workflows/status-session.md +206 -0
- package/src/workflows/transition-phase.md +3 -3
- package/src/commands/hotfix.md +0 -99
- package/src/commands/milestone.md +0 -136
- package/src/commands/pause.md +0 -115
- package/src/commands/resume.md +0 -103
- package/src/workflows/hotfix-flow.md +0 -190
- package/src/workflows/milestone-management.md +0 -169
- package/src/workflows/pause-work.md +0 -153
- package/src/workflows/resume-project.md +0 -159
package/README.md
CHANGED
|
@@ -76,13 +76,16 @@ Choose global (all projects) or local (current project only). Verify with `/sdlc
|
|
|
76
76
|
# 1. Initialize the framework
|
|
77
77
|
/sdlc:init
|
|
78
78
|
|
|
79
|
-
# 2.
|
|
79
|
+
# 2. (Optional) Brainstorm — AI asks questions, produces a PRD
|
|
80
|
+
/sdlc:discuss add user notifications
|
|
81
|
+
|
|
82
|
+
# 3. Define what to build (asks clarification questions)
|
|
80
83
|
/sdlc:spec
|
|
81
84
|
|
|
82
|
-
#
|
|
85
|
+
# 4. Build it (spawns parallel sub-agents)
|
|
83
86
|
/sdlc:impl
|
|
84
87
|
|
|
85
|
-
#
|
|
88
|
+
# 5. The framework forces verify → review → close automatically
|
|
86
89
|
# Just follow the NEXT ACTION REQUIRED prompts
|
|
87
90
|
```
|
|
88
91
|
|
|
@@ -120,6 +123,14 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
120
123
|
└──────────────────────────────────────────────────────────┘
|
|
121
124
|
```
|
|
122
125
|
|
|
126
|
+
### DISCUSS — Explore the idea (optional, pre-loop)
|
|
127
|
+
|
|
128
|
+
- AI-driven brainstorming — you describe an idea, AI asks structured questions
|
|
129
|
+
- 4 rounds max: problem space → scope → approach validation → requirements detail
|
|
130
|
+
- Every question includes a recommendation with concrete trade-offs
|
|
131
|
+
- Produces a PRD document at `.sdlc/discuss/{topic}-PRD.md`
|
|
132
|
+
- **User approval gate** — PRD must be approved before routing to `/sdlc:spec`
|
|
133
|
+
|
|
123
134
|
### SPEC — Define the work
|
|
124
135
|
|
|
125
136
|
- Asks clarification questions (no guessing)
|
|
@@ -157,13 +168,21 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
157
168
|
- Reconciles spec vs actual implementation
|
|
158
169
|
- Records deviations, decisions, lessons
|
|
159
170
|
- Creates SUMMARY.md for audit trail
|
|
160
|
-
- Advances state to next
|
|
171
|
+
- Advances state to next plan or triggers phase transition
|
|
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
|
|
161
180
|
|
|
162
181
|
---
|
|
163
182
|
|
|
164
183
|
## Commands
|
|
165
184
|
|
|
166
|
-
|
|
185
|
+
14 commands, grouped by purpose. Run `/sdlc:help` for the full reference.
|
|
167
186
|
|
|
168
187
|
### Core Loop
|
|
169
188
|
|
|
@@ -173,7 +192,8 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
173
192
|
| `/sdlc:impl` | Build via parallel sub-agents | → `/sdlc:verify` |
|
|
174
193
|
| `/sdlc:verify` | Automated testing (Playwright MCP) | → `/sdlc:review` |
|
|
175
194
|
| `/sdlc:review` | Engineering laws compliance check | → `/sdlc:close` |
|
|
176
|
-
| `/sdlc:close` | Reconcile and close the loop | → `/sdlc:spec` |
|
|
195
|
+
| `/sdlc:close` | Reconcile and close the loop | → `/sdlc:spec` or → `/sdlc:transition` |
|
|
196
|
+
| `/sdlc:transition` | Advance to next phase when all plans complete | → `/sdlc:spec` |
|
|
177
197
|
|
|
178
198
|
### Quick Entry
|
|
179
199
|
|
|
@@ -187,23 +207,27 @@ Follows: reproduce → isolate → root-cause → fix → verify.
|
|
|
187
207
|
|---------|-------------|
|
|
188
208
|
| `/sdlc:fix` | Fix review blockers systematically, auto re-review |
|
|
189
209
|
| `/sdlc:debug <issue>` | Structured debugging: reproduce → isolate → fix → verify |
|
|
190
|
-
| `/sdlc:hotfix <issue>` | Emergency fix with minimal ceremony |
|
|
191
210
|
|
|
192
|
-
### Session
|
|
211
|
+
### Session & Status
|
|
212
|
+
|
|
213
|
+
| Command | What it does |
|
|
214
|
+
|---------|-------------|
|
|
215
|
+
| `/sdlc:status` | Show loop position, progress, forced next action |
|
|
216
|
+
| `/sdlc:status pause` | Save context for break, create HANDOFF.md |
|
|
217
|
+
| `/sdlc:status resume` | Restore context, ONE next action |
|
|
218
|
+
|
|
219
|
+
### Planning & Research
|
|
193
220
|
|
|
194
221
|
| Command | What it does |
|
|
195
222
|
|---------|-------------|
|
|
196
|
-
| `/sdlc:
|
|
197
|
-
| `/sdlc:
|
|
198
|
-
| `/sdlc:status` | Show position + forced next action |
|
|
223
|
+
| `/sdlc:discuss [idea]` | Brainstorm an idea — AI asks questions, produces a PRD |
|
|
224
|
+
| `/sdlc:research <topic>` | Deploy research sub-agents |
|
|
199
225
|
|
|
200
226
|
### Setup
|
|
201
227
|
|
|
202
228
|
| Command | What it does |
|
|
203
229
|
|---------|-------------|
|
|
204
|
-
| `/sdlc:init` | Initialize framework
|
|
205
|
-
| `/sdlc:milestone` | Create or complete milestones |
|
|
206
|
-
| `/sdlc:research` | Deploy research sub-agents |
|
|
230
|
+
| `/sdlc:init` | Initialize framework or add milestones |
|
|
207
231
|
| `/sdlc:help` | Show command reference |
|
|
208
232
|
|
|
209
233
|
---
|
|
@@ -243,6 +267,7 @@ Severity is configurable per project in `.sdlc/LAWS.md`:
|
|
|
243
267
|
│ ├── 01-01-SPEC.md
|
|
244
268
|
│ ├── 01-01-REVIEW.md
|
|
245
269
|
│ └── 01-01-SUMMARY.md
|
|
270
|
+
├── discuss/ # PRD documents from /sdlc:discuss
|
|
246
271
|
└── research/ # Sub-agent research output
|
|
247
272
|
```
|
|
248
273
|
|
|
@@ -254,7 +279,7 @@ Severity is configurable per project in `.sdlc/LAWS.md`:
|
|
|
254
279
|
|
|
255
280
|
| Aspect | PAUL | SDLC |
|
|
256
281
|
|--------|------|------|
|
|
257
|
-
| Commands | 26 (cognitive overload) |
|
|
282
|
+
| Commands | 26 (cognitive overload) | 14 (focused) |
|
|
258
283
|
| Testing | Manual UAT | Automated (Playwright MCP) |
|
|
259
284
|
| Code review | None | Engineering Laws enforcement |
|
|
260
285
|
| Implementation | In-session | Sub-agent parallel waves |
|
|
@@ -304,7 +329,7 @@ npx sdlc-framework@latest
|
|
|
304
329
|
- Check `.sdlc/STATE.md` directly
|
|
305
330
|
|
|
306
331
|
**Resuming after a break?**
|
|
307
|
-
- Run `/sdlc:resume` — it reads state and handoffs automatically
|
|
332
|
+
- Run `/sdlc:status resume` — it reads state and handoffs automatically
|
|
308
333
|
|
|
309
334
|
---
|
|
310
335
|
|
package/bin/install.js
CHANGED
|
@@ -144,11 +144,12 @@ function install(isGlobal) {
|
|
|
144
144
|
|
|
145
145
|
${yellow}Quick start:${reset}
|
|
146
146
|
${dim}1.${reset} /sdlc:init ${dim}— Initialize project${reset}
|
|
147
|
-
${dim}2.${reset} /sdlc:
|
|
148
|
-
${dim}3.${reset} /sdlc:
|
|
149
|
-
${dim}4.${reset} /sdlc:
|
|
150
|
-
${dim}5.${reset} /sdlc:
|
|
151
|
-
${dim}6.${reset} /sdlc:
|
|
147
|
+
${dim}2.${reset} /sdlc:discuss ${dim}— Brainstorm idea into PRD (optional)${reset}
|
|
148
|
+
${dim}3.${reset} /sdlc:spec ${dim}— Define what to build${reset}
|
|
149
|
+
${dim}4.${reset} /sdlc:impl ${dim}— Build it (sub-agent parallel)${reset}
|
|
150
|
+
${dim}5.${reset} /sdlc:verify ${dim}— Playwright auto-test${reset}
|
|
151
|
+
${dim}6.${reset} /sdlc:review ${dim}— Engineering laws check${reset}
|
|
152
|
+
${dim}7.${reset} /sdlc:close ${dim}— Close the loop${reset}
|
|
152
153
|
|
|
153
154
|
${dim}Or for small tasks:${reset} /sdlc:fast "add logout button"
|
|
154
155
|
`)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sdlc-framework",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Structured Development Lifecycle - A closed-loop AI-assisted development framework for Claude Code",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sdlc-framework": "bin/install.js"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"repository": {
|
|
33
33
|
"type": "git",
|
|
34
|
-
"url": ""
|
|
34
|
+
"url": "https://github.com/nadyshalaby/sdlc-framework.git"
|
|
35
35
|
},
|
|
36
36
|
"engines": {
|
|
37
37
|
"node": ">=16.7.0"
|
package/src/commands/close.md
CHANGED
|
@@ -19,14 +19,15 @@ Close the current SDLC loop by reconciling what was planned (SPEC.md) against wh
|
|
|
19
19
|
|
|
20
20
|
**What happens next:**
|
|
21
21
|
- More plans in the current phase: Framework directs you to /sdlc:spec for the next plan.
|
|
22
|
-
- Phase complete (all plans done): Framework
|
|
22
|
+
- Phase complete (all plans done): Framework advances to the next phase and directs to /sdlc:spec.
|
|
23
|
+
- Milestone complete (all phases done): Framework generates milestone summary, creates git tag, and advances to next milestone or marks project complete.
|
|
23
24
|
- All milestones complete: Project is done.
|
|
24
25
|
|
|
25
26
|
**Critical rule:** No loop closes without reconciliation. Every deviation from the spec is documented with a reason. Lessons learned feed into the next loop.
|
|
26
27
|
</objective>
|
|
27
28
|
|
|
28
29
|
<execution_context>
|
|
29
|
-
@~/.claude/sdlc-framework/workflows/close-
|
|
30
|
+
@~/.claude/sdlc-framework/workflows/close-phase.md
|
|
30
31
|
@.sdlc/STATE.md
|
|
31
32
|
@.sdlc/ROADMAP.md
|
|
32
33
|
</execution_context>
|
|
@@ -44,7 +45,7 @@ Read these files:
|
|
|
44
45
|
</context>
|
|
45
46
|
|
|
46
47
|
<process>
|
|
47
|
-
Follow workflow: @~/.claude/sdlc-framework/workflows/close-
|
|
48
|
+
Follow workflow: @~/.claude/sdlc-framework/workflows/close-phase.md
|
|
48
49
|
|
|
49
50
|
Step-by-step:
|
|
50
51
|
|
|
@@ -175,12 +176,24 @@ Step-by-step:
|
|
|
175
176
|
- If phase is complete but more phases exist:
|
|
176
177
|
- Output: "Phase <phase-name> complete. Next phase: <next-phase-name>."
|
|
177
178
|
- End with: NEXT ACTION REQUIRED: /sdlc:spec
|
|
178
|
-
- If milestone is complete
|
|
179
|
-
- Output: "Milestone <milestone-name> complete. Next milestone: <next-milestone-name>."
|
|
180
|
-
- End with: NEXT ACTION REQUIRED: /sdlc:spec
|
|
179
|
+
- If milestone is complete: run milestone completion (step 10).
|
|
181
180
|
- If all milestones are complete:
|
|
182
181
|
- Output: "All milestones complete. Project roadmap fulfilled."
|
|
183
|
-
- End with: "Project complete. Run /sdlc:init
|
|
182
|
+
- End with: "Project complete. Run /sdlc:init milestone <name> to plan the next milestone."
|
|
183
|
+
|
|
184
|
+
10. **Milestone completion** (when all phases in current milestone are done)
|
|
185
|
+
a. Verify all phases in current milestone are marked complete in ROADMAP.md.
|
|
186
|
+
b. Generate milestone summary by reading all SUMMARY.md files across phases:
|
|
187
|
+
- Total phases, plans executed, hotfixes applied.
|
|
188
|
+
- Consolidated deliverables, key decisions, technical debt.
|
|
189
|
+
c. Create git tag (ask user first):
|
|
190
|
+
- `git tag -a "milestone-{number}-{name}" -m "Milestone {number}: {name} complete"`
|
|
191
|
+
d. Mark milestone as COMPLETE in ROADMAP.md with completion date.
|
|
192
|
+
e. Check for next milestone in ROADMAP.md:
|
|
193
|
+
- If exists: set as current in STATE.md.
|
|
194
|
+
Output: "Milestone complete. Next: {name}. NEXT ACTION REQUIRED: /sdlc:spec"
|
|
195
|
+
- If none: clear current_milestone.
|
|
196
|
+
Output: "Milestone complete. No further milestones. Run /sdlc:init milestone <name> to plan the next."
|
|
184
197
|
</process>
|
|
185
198
|
|
|
186
199
|
<success_criteria>
|
|
@@ -196,5 +209,6 @@ Step-by-step:
|
|
|
196
209
|
- [ ] STATE.md updated: loop_position reset to SPEC, current plan advanced
|
|
197
210
|
- [ ] ROADMAP.md updated: completed plan/phase/milestone marked as done
|
|
198
211
|
- [ ] Correct next action determined based on roadmap position
|
|
212
|
+
- [ ] Milestone completion: summary generated, git tag created, ROADMAP.md updated (when applicable)
|
|
199
213
|
- [ ] Output ends with NEXT ACTION REQUIRED: /sdlc:spec (or project complete message)
|
|
200
214
|
</success_criteria>
|
package/src/commands/debug.md
CHANGED
|
@@ -21,7 +21,7 @@ Structured debugging that follows a disciplined flow: REPRODUCE, ISOLATE, ROOT-C
|
|
|
21
21
|
</objective>
|
|
22
22
|
|
|
23
23
|
<execution_context>
|
|
24
|
-
@~/.claude/sdlc-framework/workflows/debug.md
|
|
24
|
+
@~/.claude/sdlc-framework/workflows/debug-flow.md
|
|
25
25
|
@.sdlc/STATE.md
|
|
26
26
|
@.sdlc/LAWS.md
|
|
27
27
|
</execution_context>
|
|
@@ -35,7 +35,7 @@ Gather any error messages, stack traces, or reproduction steps from the user's d
|
|
|
35
35
|
</context>
|
|
36
36
|
|
|
37
37
|
<process>
|
|
38
|
-
Follow workflow: @~/.claude/sdlc-framework/workflows/debug.md
|
|
38
|
+
Follow workflow: @~/.claude/sdlc-framework/workflows/debug-flow.md
|
|
39
39
|
|
|
40
40
|
Step-by-step:
|
|
41
41
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sdlc:discuss
|
|
3
|
+
description: Brainstorm and shape an idea into a complete PRD through AI-driven questioning
|
|
4
|
+
argument-hint: "[idea or topic]"
|
|
5
|
+
allowed-tools: [Read, Write, Glob, Grep, AskUserQuestion]
|
|
6
|
+
---
|
|
7
|
+
|
|
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.
|
|
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.
|
|
12
|
+
|
|
13
|
+
**What it does:**
|
|
14
|
+
1. Accept a raw idea or topic from the user.
|
|
15
|
+
2. Ask structured questions in rounds: problem, scope, approach, requirements.
|
|
16
|
+
3. Validate ideas and offer recommendations with concrete trade-offs.
|
|
17
|
+
4. Compile all decisions into a PRD document.
|
|
18
|
+
5. Boot up the SDLC loop by routing to /sdlc:spec with the PRD as input.
|
|
19
|
+
|
|
20
|
+
**What happens next:** After user approves the PRD, framework directs to /sdlc:spec to formalize it into a specification.
|
|
21
|
+
|
|
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.
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
@~/.claude/sdlc-framework/workflows/discuss-phase.md
|
|
27
|
+
@~/.claude/sdlc-framework/templates/PRD.md
|
|
28
|
+
@~/.claude/sdlc-framework/references/clarification-strategy.md
|
|
29
|
+
@.sdlc/STATE.md
|
|
30
|
+
@.sdlc/PROJECT.md
|
|
31
|
+
</execution_context>
|
|
32
|
+
|
|
33
|
+
<context>
|
|
34
|
+
$ARGUMENTS — optional idea description or topic to explore.
|
|
35
|
+
|
|
36
|
+
Read these files if they exist:
|
|
37
|
+
- .sdlc/STATE.md — current loop position (discuss can run at any point).
|
|
38
|
+
- .sdlc/PROJECT.md — project context, tech stack, existing architecture.
|
|
39
|
+
- .sdlc/ROADMAP.md — milestones and phases for context.
|
|
40
|
+
|
|
41
|
+
Scan the codebase to understand existing patterns and constraints.
|
|
42
|
+
</context>
|
|
43
|
+
|
|
44
|
+
<process>
|
|
45
|
+
Follow workflow: @~/.claude/sdlc-framework/workflows/discuss-phase.md
|
|
46
|
+
|
|
47
|
+
Step-by-step:
|
|
48
|
+
|
|
49
|
+
1. **Seed the idea**
|
|
50
|
+
- If $ARGUMENTS provided, acknowledge the idea and restate it.
|
|
51
|
+
- If no arguments, ask: "What idea or problem do you want to explore?"
|
|
52
|
+
|
|
53
|
+
2. **Run question rounds** (max 4 rounds, 2-4 questions per round)
|
|
54
|
+
- Round 1: Problem space — who, what, why, current workarounds.
|
|
55
|
+
- Round 2: Scope and constraints — in/out, MVP, timeline, tech.
|
|
56
|
+
- Round 3: Approach validation — present options with trade-offs, ask user to choose.
|
|
57
|
+
- Round 4: Requirements detail — user flows, edge cases, integrations.
|
|
58
|
+
- Each question includes a recommendation. Stop early if clarity is sufficient.
|
|
59
|
+
|
|
60
|
+
3. **Compile PRD**
|
|
61
|
+
- Assemble all answers into .sdlc/discuss/{topic}-PRD.md using @templates/PRD.md.
|
|
62
|
+
- Include decisions log with every question asked and answer received.
|
|
63
|
+
|
|
64
|
+
4. **Present and approve**
|
|
65
|
+
- Display PRD summary. User options: APPROVE, REVISE, REJECT.
|
|
66
|
+
- If APPROVE: route to /sdlc:spec.
|
|
67
|
+
|
|
68
|
+
5. **Update STATE.md and output**
|
|
69
|
+
- Record discussion reference. Set next_required_action: /sdlc:spec.
|
|
70
|
+
- End with NEXT ACTION REQUIRED: /sdlc:spec
|
|
71
|
+
</process>
|
|
72
|
+
|
|
73
|
+
<success_criteria>
|
|
74
|
+
- [ ] Idea explored through at least 2 rounds of structured questions
|
|
75
|
+
- [ ] Every question included a recommendation with trade-offs
|
|
76
|
+
- [ ] PRD created at .sdlc/discuss/{topic}-PRD.md with all required sections
|
|
77
|
+
- [ ] PRD includes decisions log mapping questions to answers
|
|
78
|
+
- [ ] User explicitly approved the PRD (APPROVE response received)
|
|
79
|
+
- [ ] STATE.md updated with discussion reference
|
|
80
|
+
- [ ] Output ends with NEXT ACTION REQUIRED: /sdlc:spec
|
|
81
|
+
</success_criteria>
|
package/src/commands/fast.md
CHANGED
|
@@ -11,14 +11,15 @@ 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, research).
|
|
14
|
+
1. Classify the work type (feature, bug, refactor, test, docs, research, 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
20
|
- Research question: route to /sdlc:research with topic.
|
|
21
|
-
-
|
|
21
|
+
- Brainstorming: route to /sdlc:discuss with topic.
|
|
22
|
+
- Critical production issue: execute hotfix inline (minimal spec→fix→full verify→full review).
|
|
22
23
|
4. For inline execution: run compressed loop with full engineering law enforcement.
|
|
23
24
|
|
|
24
25
|
**What happens next:** Depends on routing — either the task is complete, or you are directed to the appropriate specialized command.
|
|
@@ -58,9 +59,10 @@ Step-by-step:
|
|
|
58
59
|
|
|
59
60
|
| Type | Indicators | Route |
|
|
60
61
|
|------|-----------|-------|
|
|
62
|
+
| CRITICAL | "urgent", "production", "down", "outage", "critical", "P0", "hotfix" | inline hotfix |
|
|
61
63
|
| BUG | "fix", "bug", "error", "broken", "crash", "fails", "wrong", "regression" | /sdlc:debug |
|
|
62
|
-
| CRITICAL | "urgent", "production", "down", "outage", "critical", "P0", "hotfix" | /sdlc:hotfix |
|
|
63
64
|
| RESEARCH | "explore", "investigate", "research", "compare", "evaluate", "options" | /sdlc:research |
|
|
65
|
+
| DISCUSS | "brainstorm", "discuss", "idea", "what if", "think about", "concept", "should we", "could we" | /sdlc:discuss |
|
|
64
66
|
| FEATURE | "add", "create", "build", "implement", "new", "introduce" | complexity-dependent |
|
|
65
67
|
| REFACTOR | "refactor", "clean", "rename", "extract", "move", "simplify" | complexity-dependent |
|
|
66
68
|
| TEST | "test", "coverage", "spec", "assertion" | complexity-dependent |
|
|
@@ -70,8 +72,9 @@ Step-by-step:
|
|
|
70
72
|
|
|
71
73
|
3. **Immediate routing** (for specialized types)
|
|
72
74
|
- BUG → Display: "Bug detected. NEXT ACTION REQUIRED: /sdlc:debug {original description}" — STOP.
|
|
73
|
-
- CRITICAL → Display: "Critical issue. NEXT ACTION REQUIRED: /sdlc:hotfix {original description}" — STOP.
|
|
74
75
|
- RESEARCH → Display: "Research task. NEXT ACTION REQUIRED: /sdlc:research {original description}" — STOP.
|
|
76
|
+
- DISCUSS → Display: "Brainstorming topic. NEXT ACTION REQUIRED: /sdlc:discuss {original description}" — STOP.
|
|
77
|
+
- CRITICAL → proceed to inline hotfix (step 10).
|
|
75
78
|
|
|
76
79
|
4. **Complexity estimation** (for feature/refactor/test/docs)
|
|
77
80
|
- Scan codebase for files related to the description.
|
|
@@ -132,15 +135,57 @@ Step-by-step:
|
|
|
132
135
|
- Update STATE.md history.
|
|
133
136
|
- Restore prior state (fast does not advance the phase).
|
|
134
137
|
- Display completion summary.
|
|
138
|
+
|
|
139
|
+
10. **Inline hotfix** (CRITICAL type only)
|
|
140
|
+
Emergency fix with minimal ceremony, maximum verification.
|
|
141
|
+
|
|
142
|
+
a. **Triage:** Ask 3 questions:
|
|
143
|
+
- "What is broken? (specific symptom)"
|
|
144
|
+
- "What is the impact? (who is affected)"
|
|
145
|
+
- "When did it start? (recent deploy, config change)"
|
|
146
|
+
Classify severity: P0 (system down), P1 (data risk), P2 (major feature broken).
|
|
147
|
+
If not P0/P1: suggest /sdlc:debug instead. Let user override.
|
|
148
|
+
|
|
149
|
+
b. **3-line inline spec:**
|
|
150
|
+
- Line 1: WHAT is broken (from $ARGUMENTS + triage).
|
|
151
|
+
- Line 2: WHERE is the likely location (quick Grep search).
|
|
152
|
+
- Line 3: WHAT the fix should achieve (expected behavior).
|
|
153
|
+
Display inline spec. Do NOT wait for approval — speed matters in emergencies.
|
|
154
|
+
|
|
155
|
+
c. **Fix directly:**
|
|
156
|
+
- Single-threaded. No sub-agents.
|
|
157
|
+
- Apply MINIMAL fix — change as few lines as possible.
|
|
158
|
+
- Engineering laws still apply. No empty catch blocks. No hardcoded secrets.
|
|
159
|
+
- Add a regression test for the specific failure.
|
|
160
|
+
- Mark technical debt with TODO(hotfix-{date}).
|
|
161
|
+
|
|
162
|
+
d. **Full verification:**
|
|
163
|
+
- Run FULL test suite (not just affected tests).
|
|
164
|
+
- For UI: Playwright verification.
|
|
165
|
+
- If any fail: fix before proceeding.
|
|
166
|
+
|
|
167
|
+
e. **Full review:**
|
|
168
|
+
- Check all modified files against engineering laws.
|
|
169
|
+
- Blockers (security, error handling) still block even in emergencies.
|
|
170
|
+
- Warnings are acceptable for hotfixes.
|
|
171
|
+
|
|
172
|
+
f. **Record:**
|
|
173
|
+
- Determine hotfix number: {phase}.{count+1} (e.g., 02.1).
|
|
174
|
+
- Create .sdlc/phases/{phase}/HOTFIX-{number}-SUMMARY.md.
|
|
175
|
+
- Update STATE.md: restore prior state, add history entry.
|
|
176
|
+
- Update ROADMAP.md: note hotfix under current phase.
|
|
177
|
+
- Display: "Hotfix {number} applied and verified. State restored."
|
|
135
178
|
</process>
|
|
136
179
|
|
|
137
180
|
<success_criteria>
|
|
138
181
|
- [ ] Work classified correctly from natural language description
|
|
139
182
|
- [ ] Bugs routed to /sdlc:debug — never processed inline
|
|
140
|
-
- [ ] Critical issues
|
|
183
|
+
- [ ] Critical issues handled as inline hotfix with full verify + review
|
|
141
184
|
- [ ] Research tasks routed to /sdlc:research
|
|
185
|
+
- [ ] Brainstorming routed to /sdlc:discuss
|
|
142
186
|
- [ ] Complex work (>3 files or >100 lines) routed to /sdlc:spec with pre-filled context
|
|
143
187
|
- [ ] Simple work executed inline through full compressed loop
|
|
188
|
+
- [ ] Hotfix: minimal fix, full test suite, engineering laws enforced
|
|
144
189
|
- [ ] All code changes comply with engineering laws
|
|
145
190
|
- [ ] Tests run and pass
|
|
146
191
|
- [ ] STATE.md updated appropriately
|
package/src/commands/help.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdlc:help
|
|
3
3
|
description: "Show SDLC framework command reference"
|
|
4
|
+
argument-hint: "[command]"
|
|
4
5
|
allowed-tools: [Read]
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -49,35 +50,39 @@ COMMANDS — Core Loop
|
|
|
49
50
|
/sdlc:close Archive the plan. Update STATE.md. Advance to next cycle.
|
|
50
51
|
|
|
51
52
|
|
|
53
|
+
COMMANDS — Phase Management
|
|
54
|
+
───────────────────────────
|
|
55
|
+
|
|
56
|
+
/sdlc:transition Advance to the next phase after all plans complete.
|
|
57
|
+
|
|
52
58
|
COMMANDS — Quick Entry
|
|
53
59
|
──────────────────────
|
|
54
60
|
|
|
55
61
|
/sdlc:fast THE DEFAULT. Describe work, framework routes + executes.
|
|
56
62
|
Simple work runs inline. Complex work routes to /sdlc:spec.
|
|
57
|
-
Bugs route to /sdlc:debug. Critical issues
|
|
63
|
+
Bugs route to /sdlc:debug. Critical issues run as inline hotfix.
|
|
58
64
|
|
|
59
65
|
COMMANDS — Fix & Debug
|
|
60
66
|
──────────────────────
|
|
61
67
|
|
|
62
68
|
/sdlc:fix Fix review blockers systematically, then auto re-review.
|
|
63
69
|
/sdlc:debug Structured debugging: reproduce → isolate → root-cause → fix → verify.
|
|
64
|
-
/sdlc:hotfix Emergency fix. Minimal ceremony, maximum verification.
|
|
65
70
|
|
|
66
71
|
|
|
67
|
-
COMMANDS — Session
|
|
68
|
-
|
|
72
|
+
COMMANDS — Session & Status
|
|
73
|
+
───────────────────────────
|
|
69
74
|
|
|
70
|
-
/sdlc:
|
|
71
|
-
/sdlc:
|
|
72
|
-
/sdlc:status
|
|
75
|
+
/sdlc:status Show loop position, progress, forced next action.
|
|
76
|
+
/sdlc:status pause Save context for a break. Creates HANDOFF.md.
|
|
77
|
+
/sdlc:status resume Restore context. Determines ONE next action.
|
|
73
78
|
|
|
74
79
|
|
|
75
80
|
COMMANDS — Planning & Research
|
|
76
81
|
──────────────────────────────
|
|
77
82
|
|
|
78
|
-
/sdlc:
|
|
83
|
+
/sdlc:discuss Brainstorm an idea. AI asks questions, produces a PRD.
|
|
79
84
|
/sdlc:research Deploy subagents for codebase or web research.
|
|
80
|
-
/sdlc:init Initialize
|
|
85
|
+
/sdlc:init Initialize framework or add milestones. Run once.
|
|
81
86
|
/sdlc:help Show this reference.
|
|
82
87
|
|
|
83
88
|
|
|
@@ -134,7 +139,7 @@ If .sdlc/LAWS.md exists, read it and append any project-specific law customizati
|
|
|
134
139
|
|
|
135
140
|
<success_criteria>
|
|
136
141
|
- [ ] Core loop diagram displayed
|
|
137
|
-
- [ ] All
|
|
142
|
+
- [ ] All 13 commands listed with one-line descriptions
|
|
138
143
|
- [ ] Commands grouped by purpose (core loop, shortcuts, session, planning)
|
|
139
144
|
- [ ] Quick start guide shown (3 steps)
|
|
140
145
|
- [ ] Small tasks shortcut mentioned (/sdlc:fast)
|
package/src/commands/impl.md
CHANGED
|
@@ -24,7 +24,7 @@ Execute an approved specification by spawning parallel sub-agents for independen
|
|
|
24
24
|
</objective>
|
|
25
25
|
|
|
26
26
|
<execution_context>
|
|
27
|
-
@~/.claude/sdlc-framework/workflows/
|
|
27
|
+
@~/.claude/sdlc-framework/workflows/impl-phase.md
|
|
28
28
|
@.sdlc/STATE.md
|
|
29
29
|
@.sdlc/LAWS.md
|
|
30
30
|
The SPEC.md path is read from STATE.md or provided via $ARGUMENTS.
|
|
@@ -40,7 +40,7 @@ Read these files:
|
|
|
40
40
|
</context>
|
|
41
41
|
|
|
42
42
|
<process>
|
|
43
|
-
Follow workflow: @~/.claude/sdlc-framework/workflows/
|
|
43
|
+
Follow workflow: @~/.claude/sdlc-framework/workflows/impl-phase.md
|
|
44
44
|
|
|
45
45
|
Step-by-step:
|
|
46
46
|
|
package/src/commands/init.md
CHANGED
|
@@ -6,15 +6,16 @@ allowed-tools: [Read, Write, Bash, Glob, Grep, Edit, AskUserQuestion]
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<objective>
|
|
9
|
-
Initialize the SDLC framework for a project. Create the .sdlc/ directory with
|
|
9
|
+
Initialize the SDLC framework for a project. Create the .sdlc/ directory with core files: PROJECT.md, STATE.md, ROADMAP.md, and LAWS.md. Define the first milestone with phases.
|
|
10
10
|
|
|
11
|
-
**When to use:** First time setting up SDLC in a project. Run this once per repository.
|
|
11
|
+
**When to use:** First time setting up SDLC in a project. Run this once per repository. Also use to create additional milestones: `/sdlc:init milestone <name>`.
|
|
12
12
|
|
|
13
13
|
**What it does:**
|
|
14
14
|
1. Scan the current directory to understand project structure (language, framework, existing config).
|
|
15
15
|
2. Ask clarification questions about project goals, team conventions, and quality thresholds.
|
|
16
16
|
3. Create .sdlc/ directory with populated templates.
|
|
17
|
-
4.
|
|
17
|
+
4. Define the first milestone with phases (or add a new milestone if already initialized).
|
|
18
|
+
5. Set the loop position to SPEC (the first phase of the development cycle).
|
|
18
19
|
|
|
19
20
|
**What happens next:** Framework directs you to /sdlc:spec to define your first unit of work.
|
|
20
21
|
</objective>
|
|
@@ -28,10 +29,12 @@ Initialize the SDLC framework for a project. Create the .sdlc/ directory with fo
|
|
|
28
29
|
</execution_context>
|
|
29
30
|
|
|
30
31
|
<context>
|
|
31
|
-
$ARGUMENTS
|
|
32
|
+
$ARGUMENTS — optional project name, or "milestone <name>" to create an additional milestone.
|
|
32
33
|
|
|
33
34
|
Current directory contents (run ls to inspect).
|
|
34
|
-
Check if .sdlc/ already exists
|
|
35
|
+
Check if .sdlc/ already exists:
|
|
36
|
+
- If "milestone <name>" in $ARGUMENTS: add a new milestone (skip project setup).
|
|
37
|
+
- Otherwise: warn the user and ask whether to reinitialize or abort.
|
|
35
38
|
Read any existing package.json, Cargo.toml, pyproject.toml, go.mod, or similar to detect project type.
|
|
36
39
|
</context>
|
|
37
40
|
|
|
@@ -80,6 +83,19 @@ Step-by-step:
|
|
|
80
83
|
- Print summary of created files.
|
|
81
84
|
- Print the first milestone and phase.
|
|
82
85
|
- End with NEXT ACTION REQUIRED.
|
|
86
|
+
|
|
87
|
+
### If "milestone <name>" in $ARGUMENTS: ADD MILESTONE
|
|
88
|
+
|
|
89
|
+
1. Verify .sdlc/ exists. If not: "Run /sdlc:init first (without 'milestone')."
|
|
90
|
+
2. Read .sdlc/ROADMAP.md. Calculate next milestone number.
|
|
91
|
+
3. Ask clarification questions:
|
|
92
|
+
- "What is the goal of this milestone? What will be true when it is done?"
|
|
93
|
+
- "What phases make up this milestone? (2-5 phases in order)"
|
|
94
|
+
- "Any dependencies on prior milestones?"
|
|
95
|
+
4. Create phase directories: mkdir -p .sdlc/phases/{phase-number}-{phase-name}
|
|
96
|
+
5. Update ROADMAP.md with new milestone section, phases, and status.
|
|
97
|
+
6. Update STATE.md: set current_milestone if none active. Add history entry.
|
|
98
|
+
7. Output: "Milestone created. NEXT ACTION REQUIRED: /sdlc:spec"
|
|
83
99
|
</process>
|
|
84
100
|
|
|
85
101
|
<success_criteria>
|
package/src/commands/review.md
CHANGED
|
@@ -25,7 +25,7 @@ Review all code modified during implementation against the Engineering Laws defi
|
|
|
25
25
|
</objective>
|
|
26
26
|
|
|
27
27
|
<execution_context>
|
|
28
|
-
@~/.claude/sdlc-framework/workflows/
|
|
28
|
+
@~/.claude/sdlc-framework/workflows/review-phase.md
|
|
29
29
|
@.sdlc/STATE.md
|
|
30
30
|
@.sdlc/LAWS.md
|
|
31
31
|
The SPEC.md and IMPL.md paths are read from STATE.md.
|
|
@@ -45,7 +45,7 @@ Use `git diff` to identify changed files if IMPL.md is unavailable.
|
|
|
45
45
|
</context>
|
|
46
46
|
|
|
47
47
|
<process>
|
|
48
|
-
Follow workflow: @~/.claude/sdlc-framework/workflows/
|
|
48
|
+
Follow workflow: @~/.claude/sdlc-framework/workflows/review-phase.md
|
|
49
49
|
|
|
50
50
|
Step-by-step:
|
|
51
51
|
|
package/src/commands/spec.md
CHANGED
|
@@ -26,7 +26,7 @@ Define a complete specification for one unit of work (a "plan"). Produce a SPEC.
|
|
|
26
26
|
</objective>
|
|
27
27
|
|
|
28
28
|
<execution_context>
|
|
29
|
-
@~/.claude/sdlc-framework/workflows/
|
|
29
|
+
@~/.claude/sdlc-framework/workflows/spec-phase.md
|
|
30
30
|
@.sdlc/STATE.md
|
|
31
31
|
@.sdlc/PROJECT.md
|
|
32
32
|
@.sdlc/ROADMAP.md
|
|
@@ -46,7 +46,7 @@ Scan the codebase to understand existing structure, patterns, and conventions.
|
|
|
46
46
|
</context>
|
|
47
47
|
|
|
48
48
|
<process>
|
|
49
|
-
Follow workflow: @~/.claude/sdlc-framework/workflows/
|
|
49
|
+
Follow workflow: @~/.claude/sdlc-framework/workflows/spec-phase.md
|
|
50
50
|
|
|
51
51
|
Step-by-step:
|
|
52
52
|
|