opencode-sdlc-plugin 0.2.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +18 -0
- package/README.md +127 -38
- package/commands/sdlc-adr.md +245 -17
- package/commands/sdlc-debug.md +376 -0
- package/commands/sdlc-design.md +205 -47
- package/commands/sdlc-dev.md +544 -0
- package/commands/sdlc-info.md +325 -0
- package/commands/sdlc-parallel.md +283 -0
- package/commands/sdlc-recall.md +203 -8
- package/commands/sdlc-remember.md +126 -9
- package/commands/sdlc-research.md +343 -0
- package/commands/sdlc-review.md +201 -128
- package/commands/sdlc-status.md +297 -0
- package/config/presets/copilot-only.json +69 -0
- package/config/presets/enterprise.json +79 -0
- package/config/presets/event-modeling.json +74 -8
- package/config/presets/minimal.json +70 -0
- package/config/presets/solo-quick.json +70 -0
- package/config/presets/standard.json +78 -0
- package/config/presets/strict-tdd.json +79 -0
- package/config/schemas/athena.schema.json +338 -0
- package/config/schemas/sdlc.schema.json +442 -26
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.js +4285 -562
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +1781 -1
- package/dist/index.js +7759 -395
- package/dist/index.js.map +1 -1
- package/dist/plugin/index.d.ts +17 -2
- package/dist/plugin/index.js +7730 -397
- package/dist/plugin/index.js.map +1 -1
- package/package.json +68 -33
- package/prompts/agents/code-reviewer.md +229 -0
- package/prompts/agents/domain.md +210 -0
- package/prompts/agents/green.md +148 -0
- package/prompts/agents/mutation.md +278 -0
- package/prompts/agents/red.md +112 -0
- package/prompts/event-modeling/discovery.md +176 -0
- package/prompts/event-modeling/gwt-generation.md +479 -0
- package/prompts/event-modeling/workflow-design.md +318 -0
- package/prompts/personas/amelia-developer.md +43 -0
- package/prompts/personas/bob-sm.md +43 -0
- package/prompts/personas/john-pm.md +43 -0
- package/prompts/personas/mary-analyst.md +43 -0
- package/prompts/personas/murat-tester.md +43 -0
- package/prompts/personas/paige-techwriter.md +43 -0
- package/prompts/personas/sally-ux.md +43 -0
- package/prompts/personas/winston-architect.md +43 -0
- package/agents/design-facilitator.md +0 -8
- package/agents/domain.md +0 -9
- package/agents/exploration.md +0 -8
- package/agents/green.md +0 -9
- package/agents/marvin.md +0 -15
- package/agents/model-checker.md +0 -9
- package/agents/red.md +0 -9
- package/commands/sdlc-domain-audit.md +0 -32
- package/commands/sdlc-plan.md +0 -63
- package/commands/sdlc-pr.md +0 -43
- package/commands/sdlc-setup.md +0 -50
- package/commands/sdlc-start.md +0 -34
- package/commands/sdlc-work.md +0 -118
- package/config/presets/traditional.json +0 -12
- package/skills/adr-policy.md +0 -21
- package/skills/atomic-design.md +0 -39
- package/skills/debugging-protocol.md +0 -47
- package/skills/event-modeling.md +0 -40
- package/skills/git-spice.md +0 -44
- package/skills/github-issues.md +0 -44
- package/skills/memory-protocol.md +0 -41
- package/skills/orchestration.md +0 -118
- package/skills/skill-enforcement.md +0 -56
- package/skills/tdd-constraints.md +0 -63
package/commands/sdlc-review.md
CHANGED
|
@@ -1,192 +1,265 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Run
|
|
2
|
+
description: Run quality reviews on code, PRs, or architecture
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# SDLC Review - Quality Gate
|
|
5
|
+
# SDLC Review - Quality Gate System
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Overview
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
This command provides multiple review modes:
|
|
10
|
+
- **PR Review**: 3-stage Pull Request review (spec compliance, code quality, domain integrity)
|
|
11
|
+
- **Mutation Testing**: Verify test suite quality through mutation analysis
|
|
12
|
+
- **Architecture Review**: Multi-stakeholder party review using BMAD personas
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
- Before ANY task, call `sdlc_recall({ query: "quality gate review $ARGUMENTS" })`
|
|
13
|
-
- You MUST NOT edit files directly. Delegate to subagents.
|
|
14
|
-
- Party review is REQUIRED and integrated in the review flow.
|
|
15
|
-
|
|
16
|
-
## Step 1: Load Context + Skills
|
|
14
|
+
## Usage
|
|
17
15
|
|
|
18
16
|
```
|
|
19
|
-
|
|
20
|
-
sdlc_load_skill({ skills: ["orchestration", "tdd-constraints", "debugging-protocol", "github-issues", "skill-enforcement", "memory-protocol"] })
|
|
17
|
+
/sdlc:review [mode] [arguments]
|
|
21
18
|
```
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
```
|
|
25
|
-
sdlc_load_skill({ skills: ["atomic-design"] })
|
|
26
|
-
```
|
|
20
|
+
### Modes
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
- `pr <number>` - Review a Pull Request by number
|
|
23
|
+
- `mutation [path]` - Run mutation testing on a path (default: src/)
|
|
24
|
+
- `arch <topic>` - Conduct architecture party review
|
|
25
|
+
- (no mode) - Interactive mode to choose review type
|
|
29
26
|
|
|
30
|
-
|
|
31
|
-
sdlc_review_store({ action: "start", issueId: "$ARGUMENTS" })
|
|
32
|
-
```
|
|
27
|
+
---
|
|
33
28
|
|
|
34
|
-
|
|
29
|
+
## Git Operations Policy
|
|
35
30
|
|
|
36
|
-
|
|
31
|
+
**AUTOMATIC GIT OPERATIONS ARE PROHIBITED**
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
gh
|
|
41
|
-
```
|
|
33
|
+
You must NOT perform any git operations automatically:
|
|
34
|
+
- Do NOT run `git commit`, `git push`, `git branch` operations
|
|
35
|
+
- Do NOT run `gh pr create` or other GitHub CLI operations
|
|
42
36
|
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
git diff --name-only
|
|
46
|
-
```
|
|
37
|
+
Git operations are ONLY permitted if the user explicitly requests them.
|
|
47
38
|
|
|
48
|
-
|
|
39
|
+
---
|
|
49
40
|
|
|
50
|
-
|
|
41
|
+
## Mode 1: Pull Request Review
|
|
51
42
|
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
@codeReviewer Review the implementation.
|
|
55
|
-
Provide findings with severity (high/medium/low) and category.
|
|
56
|
-
```
|
|
43
|
+
When user runs `/sdlc:review pr <number>`:
|
|
57
44
|
|
|
58
|
-
###
|
|
59
|
-
```
|
|
60
|
-
@domain Review for domain modeling violations.
|
|
61
|
-
Provide findings with severity (high/medium/low) and category.
|
|
62
|
-
```
|
|
45
|
+
### Step 1: Invoke PR Review Tool
|
|
63
46
|
|
|
64
|
-
### 4.3 Architecture Review Agent
|
|
65
47
|
```
|
|
66
|
-
|
|
67
|
-
|
|
48
|
+
sdlc_review_pr({
|
|
49
|
+
prNumber: <number>
|
|
50
|
+
})
|
|
68
51
|
```
|
|
69
52
|
|
|
70
|
-
|
|
71
|
-
```
|
|
72
|
-
@story Review business value and acceptance criteria alignment.
|
|
73
|
-
Provide findings with severity (high/medium/low) and category.
|
|
74
|
-
```
|
|
53
|
+
This tool performs a 3-stage review:
|
|
75
54
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
55
|
+
**Stage 1: Specification Compliance**
|
|
56
|
+
- Maps each acceptance criterion to implementation
|
|
57
|
+
- Flags: COMPLETE, MISSING, INCOMPLETE, OVER-BUILT, DIVERGENT
|
|
58
|
+
|
|
59
|
+
**Stage 2: Code Quality**
|
|
60
|
+
- Evaluates clarity, domain types, error handling, testing, YAGNI
|
|
61
|
+
- Flags: BUG_RISK, MAINTAINABILITY, STYLE, PERFORMANCE
|
|
62
|
+
|
|
63
|
+
**Stage 3: Domain Integrity**
|
|
64
|
+
- Compile-time enforcement audit
|
|
65
|
+
- Checks for primitive obsession, invalid states, parse-don't-validate
|
|
66
|
+
|
|
67
|
+
### Step 2: Present Results
|
|
68
|
+
|
|
69
|
+
Present the review results to the user:
|
|
81
70
|
|
|
82
|
-
### 4.6 Oracle Adversarial Review (Athena-inspired)
|
|
83
|
-
```
|
|
84
|
-
@oracle Perform an adversarial review to break assumptions and expose edge cases.
|
|
85
|
-
Provide findings with severity (high/medium/low) and category.
|
|
86
71
|
```
|
|
72
|
+
## PR Review: #{prNumber}
|
|
87
73
|
|
|
88
|
-
|
|
74
|
+
**Verdict**: {APPROVE / REQUEST_CHANGES / COMMENT}
|
|
89
75
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- Build command (if present)
|
|
93
|
-
- Test suite (if present)
|
|
94
|
-
- Anti-pattern checks (ast-grep or ripgrep)
|
|
76
|
+
### Must Fix (Blocking)
|
|
77
|
+
{list mustFix items}
|
|
95
78
|
|
|
96
|
-
|
|
79
|
+
### Should Fix
|
|
80
|
+
{list shouldFix items}
|
|
97
81
|
|
|
98
|
-
|
|
82
|
+
### Consider
|
|
83
|
+
{list consider items}
|
|
99
84
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
{ "id": "ARCH-1", "title": "...", "severity": "low", "category": "performance" },
|
|
105
|
-
{ "id": "ORC-1", "title": "...", "severity": "high", "category": "testing" }
|
|
106
|
-
]
|
|
107
|
-
```
|
|
85
|
+
### Summary
|
|
86
|
+
- Files Changed: {count}
|
|
87
|
+
- Lines: +{added}/-{removed}
|
|
88
|
+
- Linked Issues: {issues}
|
|
108
89
|
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
sdlc_review_store({ action: "write", reviewId: "<id>", filename: "findings.json", content: <combined list> })
|
|
90
|
+
Full review saved to: {reviewPath}
|
|
112
91
|
```
|
|
113
92
|
|
|
114
|
-
|
|
93
|
+
### Step 3: Discuss and Act
|
|
115
94
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
```
|
|
95
|
+
- If **APPROVE**: Congratulate and offer to approve the PR
|
|
96
|
+
- If **REQUEST_CHANGES**: Discuss fixes with user, offer to help implement
|
|
97
|
+
- If **COMMENT**: Note suggestions are non-blocking
|
|
120
98
|
|
|
121
|
-
|
|
122
|
-
- @architect
|
|
123
|
-
- @codeReviewer
|
|
124
|
-
- @domain
|
|
125
|
-
- @story
|
|
126
|
-
- @ux
|
|
127
|
-
- @oracle
|
|
99
|
+
---
|
|
128
100
|
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
sdlc_party_review({ action: "decide", sessionId: "<id>", findingId: "<id>", decision: "accept|defer|reject", reason: "<why>" })
|
|
132
|
-
```
|
|
101
|
+
## Mode 2: Mutation Testing
|
|
133
102
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
```
|
|
103
|
+
When user runs `/sdlc:review mutation [path]`:
|
|
104
|
+
|
|
105
|
+
### Step 1: Run Mutation Testing
|
|
138
106
|
|
|
139
|
-
End session:
|
|
140
107
|
```
|
|
141
|
-
|
|
108
|
+
sdlc_mutation({
|
|
109
|
+
targetPath: "<path or 'src/'>"
|
|
110
|
+
})
|
|
142
111
|
```
|
|
143
112
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
113
|
+
This tool:
|
|
114
|
+
- Auto-detects the appropriate mutation testing framework
|
|
115
|
+
- Runs mutation testing and calculates score
|
|
116
|
+
- Reports surviving mutants
|
|
117
|
+
|
|
118
|
+
### Step 2: Present Results
|
|
119
|
+
|
|
147
120
|
```
|
|
121
|
+
## Mutation Testing Results
|
|
148
122
|
|
|
149
|
-
|
|
123
|
+
**Score**: {score}% (threshold: {threshold}%)
|
|
124
|
+
**Status**: {PASSED / FAILED}
|
|
150
125
|
|
|
151
|
-
###
|
|
126
|
+
### Statistics
|
|
127
|
+
- Total Mutants: {count}
|
|
128
|
+
- Killed: {killed}
|
|
129
|
+
- Survived: {survived}
|
|
130
|
+
- Timed Out: {timedOut}
|
|
152
131
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
- Otherwise append a new section.
|
|
156
|
-
- Include: accepted findings, deferred findings, rejected findings, automated check results.
|
|
132
|
+
{if survivors}
|
|
133
|
+
### Surviving Mutants (Test Gaps)
|
|
157
134
|
|
|
158
|
-
|
|
135
|
+
{for each survivor}
|
|
136
|
+
**{id}** - `{file}:{line}`
|
|
137
|
+
Mutation: {mutation}
|
|
159
138
|
|
|
160
|
-
|
|
161
|
-
- If deferred finding is out-of-scope, create a follow-up issue:
|
|
139
|
+
{endfor}
|
|
162
140
|
|
|
141
|
+
These surviving mutants indicate test gaps. Consider adding tests for these scenarios.
|
|
142
|
+
{endif}
|
|
143
|
+
|
|
144
|
+
Full report: {reportPath}
|
|
163
145
|
```
|
|
164
|
-
gh issue create --title "Follow-up: <finding title>" --body "Deferred from #$ARGUMENTS"
|
|
165
|
-
```
|
|
166
146
|
|
|
167
|
-
|
|
147
|
+
### Step 3: Discuss Test Improvements
|
|
148
|
+
|
|
149
|
+
If score is below threshold, discuss:
|
|
150
|
+
- Which surviving mutants are most critical
|
|
151
|
+
- Test strategies to kill the mutants
|
|
152
|
+
- Whether to adjust the threshold
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Mode 3: Architecture Review
|
|
157
|
+
|
|
158
|
+
When user runs `/sdlc:review arch <topic>`:
|
|
159
|
+
|
|
160
|
+
### Step 1: Gather Context
|
|
161
|
+
|
|
162
|
+
Ask the user for:
|
|
163
|
+
1. **Topic**: The architectural decision or concern
|
|
164
|
+
2. **Description**: Detailed explanation
|
|
165
|
+
3. **Context**: Current architecture, constraints
|
|
166
|
+
4. **Options**: If this is a decision point, what options exist?
|
|
167
|
+
5. **Agents**: Which personas to include (default: Winston, Amelia, Murat, John)
|
|
168
|
+
|
|
169
|
+
### Step 2: Invoke Party Review
|
|
170
|
+
|
|
168
171
|
```
|
|
169
|
-
|
|
172
|
+
sdlc_party_review({
|
|
173
|
+
topic: "<topic>",
|
|
174
|
+
description: "<description>",
|
|
175
|
+
context: "<context>",
|
|
176
|
+
options: ["<option1>", "<option2>"],
|
|
177
|
+
agents: ["<agent1>", "<agent2>"]
|
|
178
|
+
})
|
|
170
179
|
```
|
|
171
180
|
|
|
172
|
-
|
|
181
|
+
Available personas:
|
|
182
|
+
- **Winston** (architect) - System design, scalability, patterns
|
|
183
|
+
- **Amelia** (dev) - Implementation, code quality, maintainability
|
|
184
|
+
- **Murat** (tea) - Testing, quality assurance, edge cases
|
|
185
|
+
- **John** (pm) - Business value, timeline, priorities
|
|
186
|
+
- **Mary** (analyst) - Requirements, domain logic, user needs
|
|
187
|
+
- **Sally** (ux-designer) - User experience, accessibility
|
|
188
|
+
- **Paige** (tech-writer) - Documentation, clarity
|
|
189
|
+
- **Bob** (sm) - Process, team dynamics, delivery
|
|
190
|
+
|
|
191
|
+
### Step 3: Present Party Review
|
|
192
|
+
|
|
173
193
|
```
|
|
174
|
-
|
|
194
|
+
## Architecture Party Review: {topic}
|
|
195
|
+
|
|
196
|
+
### Perspectives
|
|
197
|
+
|
|
198
|
+
{for each perspective}
|
|
199
|
+
#### {icon} {agentName}
|
|
200
|
+
|
|
201
|
+
{perspective}
|
|
202
|
+
|
|
203
|
+
**Concerns:**
|
|
204
|
+
{list concerns}
|
|
205
|
+
|
|
206
|
+
**Recommendations:**
|
|
207
|
+
{list recommendations}
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
{endfor}
|
|
211
|
+
|
|
212
|
+
### Synthesis
|
|
213
|
+
|
|
214
|
+
{synthesis}
|
|
215
|
+
|
|
216
|
+
Full review saved to: {documentPath}
|
|
175
217
|
```
|
|
176
218
|
|
|
177
|
-
|
|
219
|
+
### Step 4: Discuss and Decide
|
|
220
|
+
|
|
221
|
+
- Help the user understand different perspectives
|
|
222
|
+
- Identify consensus and disagreements
|
|
223
|
+
- Offer to create an ADR if a decision is made
|
|
178
224
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
- Rejected findings
|
|
183
|
-
- Automated checks
|
|
184
|
-
- Next steps
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Interactive Mode
|
|
185
228
|
|
|
186
|
-
|
|
229
|
+
When user runs `/sdlc:review` without arguments:
|
|
187
230
|
|
|
188
231
|
```
|
|
189
|
-
|
|
232
|
+
What type of review would you like to perform?
|
|
233
|
+
|
|
234
|
+
1. **PR Review** - Review a Pull Request (3-stage analysis)
|
|
235
|
+
2. **Mutation Testing** - Verify test suite quality
|
|
236
|
+
3. **Architecture Review** - Multi-stakeholder discussion
|
|
237
|
+
|
|
238
|
+
Please choose (1-3) or describe what you'd like to review.
|
|
190
239
|
```
|
|
191
240
|
|
|
192
|
-
|
|
241
|
+
Then proceed with the appropriate mode based on user selection.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Related Commands
|
|
246
|
+
|
|
247
|
+
- `/sdlc:adr` - Create and manage Architecture Decision Records
|
|
248
|
+
- `/sdlc:dev` - Development workflow with TDD cycle
|
|
249
|
+
- `/sdlc:design` - Event modeling and domain discovery
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## Quality Standards
|
|
254
|
+
|
|
255
|
+
For PR reviews to pass:
|
|
256
|
+
- No MISSING acceptance criteria
|
|
257
|
+
- No BUG_RISK findings
|
|
258
|
+
- Build and tests must pass
|
|
259
|
+
- LSP errors must be 0
|
|
260
|
+
|
|
261
|
+
For mutation testing to pass:
|
|
262
|
+
- Score must meet configured threshold (default: 80%)
|
|
263
|
+
|
|
264
|
+
For architecture reviews:
|
|
265
|
+
- No formal pass/fail - goal is informed decision making
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: View and manage BMAD sprint status
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# SDLC Status - Sprint Status Management
|
|
6
|
+
|
|
7
|
+
## Git Operations Policy
|
|
8
|
+
|
|
9
|
+
**⚠️ AUTOMATIC GIT OPERATIONS ARE PROHIBITED**
|
|
10
|
+
|
|
11
|
+
You must NOT perform any git operations automatically:
|
|
12
|
+
- ❌ Do NOT run `git commit` to save changes
|
|
13
|
+
- ❌ Do NOT run `git push` to push to remote
|
|
14
|
+
- ❌ Do NOT run `git checkout -b` or `git branch` to create branches
|
|
15
|
+
- ❌ Do NOT run `git merge`, `git rebase`, or `git cherry-pick`
|
|
16
|
+
- ❌ Do NOT run `gh pr create` or other GitHub CLI operations
|
|
17
|
+
|
|
18
|
+
**Git operations are ONLY permitted if the user explicitly requests them.**
|
|
19
|
+
|
|
20
|
+
This command focuses on status management and should not involve git operations.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
View current sprint progress and manage story statuses. This command helps you track where you are in the sprint and what to work on next.
|
|
25
|
+
|
|
26
|
+
## Quick Status Check
|
|
27
|
+
|
|
28
|
+
Get an overview of the current sprint:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
sdlc_get_story()
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
This returns:
|
|
35
|
+
- **Current Story**: The story you're working on (if any)
|
|
36
|
+
- **Sprint Progress**: Completed, in-progress, pending, blocked counts
|
|
37
|
+
- **Next Story**: The next story to work on
|
|
38
|
+
- **Epic Context**: Which epic the current work belongs to
|
|
39
|
+
|
|
40
|
+
## Sprint Overview
|
|
41
|
+
|
|
42
|
+
When you call `sdlc_get_story()`, review the sprint progress:
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
## Sprint Progress Example
|
|
46
|
+
|
|
47
|
+
Epic: User Authentication (Epic 2)
|
|
48
|
+
- Completed: 3 stories (2.1, 2.2, 2.3)
|
|
49
|
+
- In Progress: 1 story (2.4) ← Current
|
|
50
|
+
- Pending: 2 stories (2.5, 2.6)
|
|
51
|
+
- Blocked: 0 stories
|
|
52
|
+
- Progress: 50% complete
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Story Status Management
|
|
56
|
+
|
|
57
|
+
### Start Working on a Story
|
|
58
|
+
|
|
59
|
+
When you begin implementing a story:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
sdlc_update_status({
|
|
63
|
+
storyId: "2.4",
|
|
64
|
+
status: "in-progress"
|
|
65
|
+
})
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**When to use:**
|
|
69
|
+
- Starting a new story from `/sdlc-dev`
|
|
70
|
+
- Resuming work after a break
|
|
71
|
+
- Moving from blocked to in-progress
|
|
72
|
+
|
|
73
|
+
### Complete a Story
|
|
74
|
+
|
|
75
|
+
When implementation is done and verified:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
sdlc_update_status({
|
|
79
|
+
storyId: "2.4",
|
|
80
|
+
status: "done",
|
|
81
|
+
completionSummary: "Implemented OAuth2 login flow with Google and GitHub providers. Added token refresh mechanism. All tests passing."
|
|
82
|
+
})
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Requirements for completion:**
|
|
86
|
+
- ✅ All acceptance criteria met
|
|
87
|
+
- ✅ LSP diagnostics clean
|
|
88
|
+
- ✅ Build passes
|
|
89
|
+
- ✅ Tests pass
|
|
90
|
+
- ✅ Code follows architecture patterns
|
|
91
|
+
|
|
92
|
+
**Best Practices for completionSummary:**
|
|
93
|
+
- Be specific about what was built
|
|
94
|
+
- Mention key components or files
|
|
95
|
+
- Note test status
|
|
96
|
+
- Include any notable decisions or trade-offs
|
|
97
|
+
|
|
98
|
+
### Block a Story
|
|
99
|
+
|
|
100
|
+
When you can't proceed due to an external dependency:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
sdlc_update_status({
|
|
104
|
+
storyId: "2.4",
|
|
105
|
+
status: "blocked",
|
|
106
|
+
notes: "Blocked on API credentials. Need OAuth client ID and secret from DevOps team. ETA unknown."
|
|
107
|
+
})
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**When to block:**
|
|
111
|
+
- Waiting for external team or resource
|
|
112
|
+
- Missing design/specification clarity
|
|
113
|
+
- Dependency on another incomplete story
|
|
114
|
+
- Technical blocker requiring decision
|
|
115
|
+
|
|
116
|
+
**Best Practices for notes:**
|
|
117
|
+
- Explain what's blocking you
|
|
118
|
+
- What you need to unblock
|
|
119
|
+
- Who can provide it
|
|
120
|
+
- Any workarounds attempted
|
|
121
|
+
|
|
122
|
+
### Request Review
|
|
123
|
+
|
|
124
|
+
When ready for code review or QA:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
sdlc_update_status({
|
|
128
|
+
storyId: "2.4",
|
|
129
|
+
status: "review"
|
|
130
|
+
})
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**When to request review:**
|
|
134
|
+
- Implementation complete but not verified
|
|
135
|
+
- Want another pass before marking complete
|
|
136
|
+
- Before running `/sdlc-review` quality gate
|
|
137
|
+
|
|
138
|
+
## Workflow Integration
|
|
139
|
+
|
|
140
|
+
### Recommended Sprint Workflow
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
144
|
+
│ 1. CHECK STATUS │
|
|
145
|
+
│ /sdlc-status → See sprint progress, identify next │
|
|
146
|
+
└──────────────────────────────────────────────────────────────┘
|
|
147
|
+
│
|
|
148
|
+
▼
|
|
149
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
150
|
+
│ 2. START IMPLEMENTATION │
|
|
151
|
+
│ /sdlc-dev → Load story, plan, implement │
|
|
152
|
+
│ Status: backlog → in-progress │
|
|
153
|
+
└──────────────────────────────────────────────────────────────┘
|
|
154
|
+
│
|
|
155
|
+
▼
|
|
156
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
157
|
+
│ 3. QUALITY GATE (Optional but Recommended) │
|
|
158
|
+
│ /sdlc-review → Oracle code review + adversarial review │
|
|
159
|
+
│ Status: in-progress → review → done/in-progress │
|
|
160
|
+
└──────────────────────────────────────────────────────────────┘
|
|
161
|
+
│
|
|
162
|
+
▼
|
|
163
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
164
|
+
│ 4. COMPLETE & NEXT │
|
|
165
|
+
│ /sdlc-status → Verify completion, see next story │
|
|
166
|
+
│ Status: in-progress → done │
|
|
167
|
+
└──────────────────────────────────────────────────────────────┘
|
|
168
|
+
│
|
|
169
|
+
▼
|
|
170
|
+
Repeat for next story
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Command Quick Reference
|
|
174
|
+
|
|
175
|
+
| Situation | Command | Purpose |
|
|
176
|
+
|-----------|---------|---------|
|
|
177
|
+
| See sprint progress | `/sdlc-status` | Get overview and next story |
|
|
178
|
+
| Start implementing | `/sdlc-dev` | Load story and implement |
|
|
179
|
+
| Need research | `/sdlc-research` | Find patterns and docs |
|
|
180
|
+
| Hit a complex bug | `/sdlc-debug` | Oracle-powered debugging |
|
|
181
|
+
| Ready to complete | `/sdlc-review` | Quality gate before completion |
|
|
182
|
+
| View config | `/sdlc-info` | Check toolkit settings |
|
|
183
|
+
|
|
184
|
+
## Status Transitions
|
|
185
|
+
|
|
186
|
+
### Valid Status Flow
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
backlog ──────┬─────────────────────────────────────────┐
|
|
190
|
+
│ │
|
|
191
|
+
▼ │
|
|
192
|
+
in-progress ◄──────────────────────────┐ │
|
|
193
|
+
│ │ │
|
|
194
|
+
├──────► blocked ─────────────────┘ │
|
|
195
|
+
│ │ │
|
|
196
|
+
│ └────────────────────────────┘
|
|
197
|
+
│ (when unblocked)
|
|
198
|
+
│
|
|
199
|
+
├──────► review ──────────────────┐
|
|
200
|
+
│ │
|
|
201
|
+
│ ▼
|
|
202
|
+
└──────────────────────────────► done
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Status Definitions
|
|
206
|
+
|
|
207
|
+
| Status | Meaning | Next Actions |
|
|
208
|
+
|--------|---------|--------------|
|
|
209
|
+
| **backlog** | Not yet started | Start with `/sdlc-dev` |
|
|
210
|
+
| **ready-for-dev** | Reviewed and ready for implementation | Start with `/sdlc-dev` |
|
|
211
|
+
| **in-progress** | Actively being worked on | Continue implementation |
|
|
212
|
+
| **blocked** | Waiting for external dependency | Resolve blocker, then resume |
|
|
213
|
+
| **review** | Ready for review | Run `/sdlc-review` |
|
|
214
|
+
| **done** | Done and verified | Move to next story |
|
|
215
|
+
|
|
216
|
+
## Handling Special Cases
|
|
217
|
+
|
|
218
|
+
### Resuming After Interruption
|
|
219
|
+
|
|
220
|
+
If you return to a story after a break:
|
|
221
|
+
|
|
222
|
+
```
|
|
223
|
+
# Check current state
|
|
224
|
+
sdlc_get_story()
|
|
225
|
+
|
|
226
|
+
# If status is in-progress, continue
|
|
227
|
+
# If status is backlog or ready-for-dev, start fresh with /sdlc-dev
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Story Dependencies
|
|
231
|
+
|
|
232
|
+
If Story B depends on Story A:
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
# Check if Story A is complete
|
|
236
|
+
sdlc_get_story({ storyId: "A" })
|
|
237
|
+
|
|
238
|
+
# If not complete, work on A first
|
|
239
|
+
# If complete, proceed with B
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Blocked Resolution
|
|
243
|
+
|
|
244
|
+
When a blocker is resolved:
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
sdlc_update_status({
|
|
248
|
+
storyId: "2.4",
|
|
249
|
+
status: "in-progress",
|
|
250
|
+
notes: "Blocker resolved. Received API credentials from DevOps. Resuming implementation."
|
|
251
|
+
})
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Reassessing Completion
|
|
255
|
+
|
|
256
|
+
If issues are found after marking complete:
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
sdlc_update_status({
|
|
260
|
+
storyId: "2.4",
|
|
261
|
+
status: "in-progress",
|
|
262
|
+
notes: "Reopened: Found edge case not covered. Need to add handling for empty input."
|
|
263
|
+
})
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Sprint Health Indicators
|
|
267
|
+
|
|
268
|
+
When reviewing sprint status, watch for:
|
|
269
|
+
|
|
270
|
+
### Healthy Sprint
|
|
271
|
+
- ✅ Stories completing regularly
|
|
272
|
+
- ✅ Few or no blocked stories
|
|
273
|
+
- ✅ Clear next story identified
|
|
274
|
+
- ✅ Progress percentage increasing
|
|
275
|
+
|
|
276
|
+
### Warning Signs
|
|
277
|
+
- ⚠️ Multiple stories blocked
|
|
278
|
+
- ⚠️ Story in-progress for too long
|
|
279
|
+
- ⚠️ No progress for extended time
|
|
280
|
+
- ⚠️ Blockers not getting resolved
|
|
281
|
+
|
|
282
|
+
### Actions for Warning Signs
|
|
283
|
+
|
|
284
|
+
| Warning | Action |
|
|
285
|
+
|---------|--------|
|
|
286
|
+
| Multiple blocked stories | Escalate blockers, prioritize resolution |
|
|
287
|
+
| Story stuck in-progress | Break into smaller tasks, ask for help |
|
|
288
|
+
| No progress | Check for hidden blockers, reassess scope |
|
|
289
|
+
| Blockers aging | Follow up with responsible parties |
|
|
290
|
+
|
|
291
|
+
## Tips
|
|
292
|
+
|
|
293
|
+
- **Check status regularly** - Start each session with `/sdlc-status`
|
|
294
|
+
- **Update status honestly** - Accurate status helps track progress
|
|
295
|
+
- **Include context** - Good notes help when resuming later
|
|
296
|
+
- **Complete incrementally** - Mark stories done as they finish, not in batches
|
|
297
|
+
- **Don't skip reviews** - Use `/sdlc-review` for quality assurance
|