bms-speckit-plugin 5.0.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bms-speckit",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "Chain-orchestrated development pipeline with quality control agent. /bms-speckit runs brainstorm → constitution → specify → plan → tasks → analyze → implement → QC (UX/security/deps/code) → merge.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "manoirx"
|
|
@@ -209,11 +209,14 @@ chain_sequence:
|
|
|
209
209
|
on_failure: continue
|
|
210
210
|
max_retries: 0
|
|
211
211
|
|
|
212
|
-
- step_id:
|
|
212
|
+
- step_id: step_9_implement_with_rolling_qc
|
|
213
213
|
skill_id: speckit.implement
|
|
214
214
|
action: execute_loop
|
|
215
215
|
phase: 2
|
|
216
|
-
description:
|
|
216
|
+
description: >
|
|
217
|
+
Execute tasks with rolling QC — each task goes through implement → inline
|
|
218
|
+
QC (build/lint/test/security) → fix → commit cycle before moving to the
|
|
219
|
+
next task. Catches bugs at the source, not at the end.
|
|
217
220
|
timeout_seconds: 3600
|
|
218
221
|
input:
|
|
219
222
|
tasks_path: "{{step_6_tasks.artifacts}}"
|
|
@@ -231,27 +234,41 @@ chain_sequence:
|
|
|
231
234
|
max_retries: 3
|
|
232
235
|
opinionated_prompts:
|
|
233
236
|
system_context: >
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
237
|
+
For EACH task, execute this rolling QC cycle:
|
|
238
|
+
|
|
239
|
+
1. IMPLEMENT — write code following TDD (tests first, then implementation)
|
|
240
|
+
2. INLINE QC — immediately after implementation, run:
|
|
241
|
+
a. Build/compile — fix any type or build errors
|
|
242
|
+
b. Lint — fix all lint errors and warnings
|
|
243
|
+
c. Test suite — run ALL tests (not just new ones), fix any failures
|
|
244
|
+
d. Security quick scan — check for hardcoded secrets, SQL injection,
|
|
245
|
+
XSS, unvalidated input in the code you just wrote
|
|
246
|
+
e. UX check — if UI code was changed, verify error messages are
|
|
247
|
+
actionable, loading states exist, and user feedback is present
|
|
248
|
+
3. FIX — fix every issue found in step 2, then re-run checks
|
|
249
|
+
4. COMMIT — only commit when build + lint + tests all pass with zero errors
|
|
250
|
+
5. NEXT TASK — proceed to the next task
|
|
251
|
+
|
|
252
|
+
Do NOT batch QC at the end. Each task must pass its own QC cycle
|
|
253
|
+
before moving on. This is the rolling review pattern.
|
|
254
|
+
|
|
255
|
+
After ALL tasks complete: invoke speckit.analyze for a full cross-task
|
|
256
|
+
validation pass. Apply improvements, re-run all tests, confirm zero
|
|
257
|
+
regression. Only output FINISHED after everything is validated.
|
|
242
258
|
|
|
243
|
-
- step_id:
|
|
259
|
+
- step_id: step_10_final_quality_gate
|
|
244
260
|
agent_id: bms-speckit:quality-control
|
|
245
261
|
action: dispatch_agent
|
|
246
262
|
phase: 2
|
|
247
263
|
description: >
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
264
|
+
Final comprehensive QC sweep by the quality-control agent. Since inline
|
|
265
|
+
QC already caught per-task issues, this focuses on cross-cutting concerns:
|
|
266
|
+
dependency health, deep security audit, overall UX consistency, and
|
|
267
|
+
accessibility compliance.
|
|
251
268
|
timeout_seconds: 900
|
|
252
269
|
post_action:
|
|
253
270
|
commit: true
|
|
254
|
-
message: "fix(speckit):
|
|
271
|
+
message: "fix(speckit): final QC — security, deps, UX consistency, accessibility"
|
|
255
272
|
push: true
|
|
256
273
|
error_handling:
|
|
257
274
|
on_failure: stop
|
|
@@ -259,14 +276,16 @@ chain_sequence:
|
|
|
259
276
|
opinionated_prompts:
|
|
260
277
|
system_context: >
|
|
261
278
|
Dispatch the quality-control agent (bms-speckit:quality-control).
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
279
|
+
Inline QC already caught per-task build/lint/test issues during
|
|
280
|
+
implementation. This final sweep focuses on cross-cutting concerns:
|
|
281
|
+
A. Security deep scan — npm/pip audit, auth flow review, CORS, secrets
|
|
282
|
+
B. Dependencies — outdated packages, vulnerable deps, unused packages
|
|
283
|
+
C. UX consistency — consistent error handling, feedback patterns across
|
|
284
|
+
all features, empty states, responsive design
|
|
285
|
+
D. Accessibility — alt text, form labels, keyboard nav, heading hierarchy
|
|
286
|
+
E. Integration check — verify all components work together end-to-end
|
|
287
|
+
Fix everything possible. Flag major dependency updates for user review.
|
|
288
|
+
Only proceed to merge when all checks pass.
|
|
270
289
|
|
|
271
290
|
- step_id: step_11_merge
|
|
272
291
|
skill_id: internal.git_merge_to_main
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bms-speckit-plugin",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0",
|
|
4
4
|
"description": "Chain-orchestrated development pipeline: /bms-speckit takes requirements and runs brainstorm → constitution → specify → plan → tasks → analyze → implement → verify with per-step error handling",
|
|
5
5
|
"files": [
|
|
6
6
|
".claude-plugin/",
|
|
@@ -16,7 +16,33 @@ Chain blueprint: `blueprints/bms-speckit-pipeline.yaml`
|
|
|
16
16
|
- `on_failure: continue` → log the failure and proceed to next step
|
|
17
17
|
4. Pass `$ARGUMENTS` (the user's requirement) to step 1 (brainstorm). Step 4 (specify) receives the **output from step 1**
|
|
18
18
|
5. **Commit and push after every important step** — each artifact-producing step must commit its output before proceeding to the next step
|
|
19
|
-
6.
|
|
19
|
+
6. **Report progress** to the user at every step transition
|
|
20
|
+
7. Do NOT ask for confirmation between steps
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Progress Reporting
|
|
25
|
+
|
|
26
|
+
Before dispatching the Phase 1 subagent, create a progress tracker so the user can follow along. Use TaskCreate to create one task per step:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
TaskCreate: "Step 1: Brainstorm — explore requirements"
|
|
30
|
+
TaskCreate: "Step 2: Constitution — engineering principles"
|
|
31
|
+
TaskCreate: "Step 3: CLAUDE.md sync"
|
|
32
|
+
TaskCreate: "Step 4: Specify — feature specification"
|
|
33
|
+
TaskCreate: "Step 5: Plan — implementation plan"
|
|
34
|
+
TaskCreate: "Step 6: Tasks — task list"
|
|
35
|
+
TaskCreate: "Step 7: Analyze — consistency check"
|
|
36
|
+
TaskCreate: "Step 8: Compact context"
|
|
37
|
+
TaskCreate: "Step 9: Implement with rolling QC"
|
|
38
|
+
TaskCreate: "Step 10: Final quality gate"
|
|
39
|
+
TaskCreate: "Step 11: Merge to main"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Then output a message to the user:
|
|
43
|
+
|
|
44
|
+
> Starting BMS Speckit pipeline for: "$ARGUMENTS"
|
|
45
|
+
> Phase 1 (specification & planning) running in subagent...
|
|
20
46
|
|
|
21
47
|
---
|
|
22
48
|
|
|
@@ -29,7 +55,16 @@ Subagent prompt:
|
|
|
29
55
|
"""
|
|
30
56
|
You are running the BMS Speckit specification and planning chain. Execute each step in order using the Skill tool. Do NOT ask for confirmation. Follow error handling policies exactly. **Commit and push after every important step.**
|
|
31
57
|
|
|
58
|
+
**IMPORTANT — Progress reporting:** Before starting each step, output a progress message to the user in this format:
|
|
59
|
+
|
|
60
|
+
`[Step N/11] step_name — description...`
|
|
61
|
+
|
|
62
|
+
After completing each step, output:
|
|
63
|
+
|
|
64
|
+
`[Step N/11] DONE — brief result summary`
|
|
65
|
+
|
|
32
66
|
### Step 1 — Brainstorm `[on_failure: STOP]`
|
|
67
|
+
- **Progress:** Output `[Step 1/11] Brainstorm — exploring requirements and design...`
|
|
33
68
|
- **Skill:** `superpowers.brainstorm`
|
|
34
69
|
- **Input:** "$ARGUMENTS"
|
|
35
70
|
- **Purpose:** Explore intent, requirements, design alternatives, and edge cases
|
|
@@ -37,19 +72,25 @@ You are running the BMS Speckit specification and planning chain. Execute each s
|
|
|
37
72
|
- **Output:** Detailed specification document
|
|
38
73
|
- **Timeout:** 300s
|
|
39
74
|
- **Post-action:** Commit all files and push. Message: `feat(speckit): brainstorm — explore requirements and design`
|
|
75
|
+
- **Done:** Output `[Step 1/11] DONE — brainstorm complete`
|
|
40
76
|
|
|
41
77
|
### Step 2 — Constitution `[on_failure: STOP]`
|
|
78
|
+
- **Progress:** Output `[Step 2/11] Constitution — establishing engineering principles...`
|
|
42
79
|
- **Skill:** `speckit.constitution`
|
|
43
80
|
- **Input:** "Establish and enforce a comprehensive set of engineering principles that prioritize high code quality, strict adherence to Test-Driven Development (TDD) practices, and well-defined testing standards across unit, component, integration, and API levels to ensure system reliability and maintainability, maintain a consistent, user-friendly, and professional user interface aligned with strong user experience (UX) guidelines, optimize application performance through efficient architecture and resource management; enforce disciplined version control practices with frequent, atomic commits to minimize risk and improve traceability, promote the development and reuse of modular components and functions while centralizing business logic to avoid duplication and ensure consistency, provide clear, informative user feedback and progress reporting throughout system interactions, and leverage all available tools, frameworks, and domain-specific expertise to support developers in delivering robust, scalable, and high-quality applications."
|
|
44
81
|
- **Output:** `specs/constitution.md`
|
|
45
82
|
- **Timeout:** 300s
|
|
83
|
+
- **Done:** Output `[Step 2/11] DONE — constitution created`
|
|
46
84
|
|
|
47
85
|
### Step 3 — CLAUDE.md Sync `[on_failure: CONTINUE]`
|
|
86
|
+
- **Progress:** Output `[Step 3/11] CLAUDE.md Sync — verifying compliance...`
|
|
48
87
|
- **Action:** Read CLAUDE.md and verify it complies with the constitution in `specs/constitution.md`. Update CLAUDE.md if it conflicts with or is missing constitution rules.
|
|
49
88
|
- **Timeout:** 120s
|
|
50
89
|
- **Post-action:** Commit all files and push. Message: `feat(speckit): add constitution and sync CLAUDE.md`
|
|
90
|
+
- **Done:** Output `[Step 3/11] DONE — CLAUDE.md synced`
|
|
51
91
|
|
|
52
92
|
### Step 4 — Specify `[on_failure: STOP]`
|
|
93
|
+
- **Progress:** Output `[Step 4/11] Specify — creating feature specification...`
|
|
53
94
|
- **Skill:** `speckit.specify`
|
|
54
95
|
- **Input:** Use the detailed specification output from Step 1 (brainstorm) as the argument
|
|
55
96
|
- **Knowledge lookup:** Use `mcp__bms-knowledge-mcp__search_knowledge` to search the `hosxp` collection for exact table names, field names, data types, and relationships needed by this feature. Reference actual HOSxP data structures in the spec.
|
|
@@ -57,32 +98,44 @@ You are running the BMS Speckit specification and planning chain. Execute each s
|
|
|
57
98
|
- **Timeout:** 300s
|
|
58
99
|
- **Retry:** up to 2 attempts
|
|
59
100
|
- **Post-action:** Commit all files and push. Message: `feat(speckit): add feature specification`
|
|
101
|
+
- **Done:** Output `[Step 4/11] DONE — specification created`
|
|
60
102
|
|
|
61
103
|
### Step 5 — Plan `[on_failure: STOP]`
|
|
104
|
+
- **Progress:** Output `[Step 5/11] Plan — generating implementation plan...`
|
|
62
105
|
- **Skill:** `speckit.plan`
|
|
63
106
|
- **Input:** reads from step 4 artifacts
|
|
64
107
|
- **Output:** `specs/*/plan.md`
|
|
65
108
|
- **Timeout:** 300s
|
|
66
109
|
- **Retry:** up to 2 attempts
|
|
67
110
|
- **Post-action:** Commit all files and push. Message: `feat(speckit): add implementation plan`
|
|
111
|
+
- **Done:** Output `[Step 5/11] DONE — plan created`
|
|
68
112
|
|
|
69
113
|
### Step 6 — Tasks `[on_failure: STOP]`
|
|
114
|
+
- **Progress:** Output `[Step 6/11] Tasks — generating task list...`
|
|
70
115
|
- **Skill:** `speckit.tasks`
|
|
71
116
|
- **Input:** reads from step 5 artifacts
|
|
72
117
|
- **Output:** `specs/*/tasks.md`
|
|
73
118
|
- **Timeout:** 300s
|
|
74
119
|
- **Retry:** up to 2 attempts
|
|
75
120
|
- **Post-action:** Commit all files and push. Message: `feat(speckit): add task list`
|
|
121
|
+
- **Done:** Output `[Step 6/11] DONE — N tasks created`
|
|
76
122
|
|
|
77
123
|
### Step 7 — Analyze `[on_failure: CONTINUE]`
|
|
124
|
+
- **Progress:** Output `[Step 7/11] Analyze — cross-artifact consistency check...`
|
|
78
125
|
- **Skill:** `speckit.analyze`
|
|
79
126
|
- **Purpose:** Cross-artifact consistency check (spec ↔ plan ↔ tasks). Non-destructive — report only.
|
|
80
127
|
- **Timeout:** 300s
|
|
81
128
|
- **Post-action:** Commit all files and push. Message: `feat(speckit): add cross-artifact analysis report`
|
|
129
|
+
- **Done:** Output `[Step 7/11] DONE — analysis complete`
|
|
82
130
|
|
|
83
131
|
After all steps complete, return: the feature name, number of tasks created, and the path to tasks.md.
|
|
84
132
|
"""
|
|
85
133
|
|
|
134
|
+
After the subagent completes, update tasks 1-7 as completed using TaskUpdate, then output:
|
|
135
|
+
|
|
136
|
+
> Phase 1 complete. N tasks created at specs/feature-name/tasks.md
|
|
137
|
+
> Starting Phase 2 (implementation)...
|
|
138
|
+
|
|
86
139
|
---
|
|
87
140
|
|
|
88
141
|
## Phase 2: Implementation
|
|
@@ -90,35 +143,52 @@ After all steps complete, return: the feature name, number of tasks created, and
|
|
|
90
143
|
> **Execution context:** Runs in main context after subagent completes.
|
|
91
144
|
|
|
92
145
|
### Step 8 — Compact `[on_failure: CONTINUE]`
|
|
146
|
+
- **Progress:** Output `[Step 8/11] Compact — freeing context window...`
|
|
93
147
|
- **Action:** Run `/compact` to free context window before implementation.
|
|
148
|
+
- **Done:** Update task 8 as completed.
|
|
94
149
|
|
|
95
|
-
### Step 9 — Implement
|
|
150
|
+
### Step 9 — Implement with Rolling QC `[on_failure: CONTINUE | max_retries: 3]`
|
|
151
|
+
- **Progress:** Output `[Step 9/11] Implement — starting rolling QC loop (N tasks)...`
|
|
96
152
|
- **Engine:** ralph-loop
|
|
97
153
|
- **Input:** Use the **tasks.md path returned by the Phase 1 subagent** (e.g. `specs/my-feature/tasks.md`). Replace `{TASKS_PATH}` below with the actual path.
|
|
98
154
|
- **Completion promise:** `FINISHED`
|
|
99
155
|
- **Max iterations:** 10
|
|
100
|
-
- **
|
|
156
|
+
- **Pattern:** Rolling Review — each task gets its own QC cycle before moving to the next
|
|
157
|
+
- **Per-task cycle:**
|
|
158
|
+
1. **IMPLEMENT** — write code following TDD (tests first, then implementation)
|
|
159
|
+
2. **INLINE QC** — immediately run: build, lint, ALL tests, security quick scan, UX check
|
|
160
|
+
3. **FIX** — fix every issue found, re-run checks
|
|
161
|
+
4. **COMMIT** — only commit when build + lint + tests pass with zero errors
|
|
162
|
+
5. **NEXT** — move to next task
|
|
101
163
|
- **Action:** Run:
|
|
102
164
|
|
|
103
|
-
`/ralph-loop:ralph-loop "systematically execute speckit.implement via the Skill tool to complete every task defined in {TASKS_PATH} with strict adherence to specification requirements
|
|
165
|
+
`/ralph-loop:ralph-loop "systematically execute speckit.implement via the Skill tool to complete every task defined in {TASKS_PATH} with strict adherence to specification requirements. IMPORTANT: apply rolling QC after EACH task — after implementing a task run build and fix build errors, run linter and fix lint errors, run ALL tests (not just new ones) and fix failures, check for hardcoded secrets and injection vulnerabilities in code you just wrote, verify UI code has actionable error messages and loading states — only commit when build plus lint plus tests all pass with zero errors then proceed to next task. Report progress to the user after each task: output [Task N/total] DONE — task_name. Do NOT batch QC at the end. Maintain atomic commits after each successful task with clear traceability, avoid requesting confirmation and proceed autonomously, once all tasks are implemented invoke speckit.analyze via the Skill tool to perform a full validation pass, automatically apply all recommended improvements or corrections, re-run all tests to confirm stability and zero regression, and only output <promise>FINISHED</promise> after every task is fully completed, validated, and aligned with production-grade quality standards" --completion-promise "FINISHED" --max-iterations 10`
|
|
104
166
|
|
|
105
|
-
|
|
167
|
+
- **Done:** Update task 9 as completed. Output `[Step 9/11] DONE — all tasks implemented and verified`
|
|
168
|
+
|
|
169
|
+
### Step 10 — Final Quality Gate `[on_failure: STOP | max_retries: 3]`
|
|
170
|
+
- **Progress:** Output `[Step 10/11] Final QC — running comprehensive quality audit...`
|
|
106
171
|
- **Agent:** Dispatch `bms-speckit:quality-control` agent
|
|
107
|
-
- **Purpose:**
|
|
172
|
+
- **Purpose:** Final comprehensive sweep. Since inline QC already caught per-task issues, this focuses on **cross-cutting concerns** that can only be detected across the full codebase.
|
|
108
173
|
- **Timeout:** 900s
|
|
109
|
-
- **
|
|
110
|
-
- **A.
|
|
111
|
-
- **B.
|
|
112
|
-
- **C.
|
|
113
|
-
- **D.
|
|
114
|
-
- **E.
|
|
174
|
+
- **Focus areas:**
|
|
175
|
+
- **A. Security deep scan** — `npm audit` / `pip audit`, auth flow review, CORS, secrets across all files
|
|
176
|
+
- **B. Dependencies** — outdated packages, vulnerable deps, unused packages
|
|
177
|
+
- **C. UX consistency** — consistent error handling and feedback patterns across ALL features, empty states, responsive design
|
|
178
|
+
- **D. Accessibility** — alt text, form labels, keyboard nav, heading hierarchy
|
|
179
|
+
- **E. Integration check** — verify all components work together end-to-end
|
|
115
180
|
- The agent fixes everything it can. Major dependency updates are flagged for user review.
|
|
116
181
|
- Only proceed to merge when the agent reports all checks pass.
|
|
117
|
-
- **Post-action:** Commit all fixes and push. Message: `fix(speckit):
|
|
182
|
+
- **Post-action:** Commit all fixes and push. Message: `fix(speckit): final QC — security, deps, UX consistency, accessibility`
|
|
183
|
+
- **Done:** Update task 10 as completed. Output `[Step 10/11] DONE — quality gate passed`
|
|
118
184
|
|
|
119
185
|
### Step 11 — Merge to Main `[on_failure: STOP]`
|
|
186
|
+
- **Progress:** Output `[Step 11/11] Merge — merging to main branch...`
|
|
120
187
|
- **Action:** Switch to main branch, merge the feature branch (fast-forward if possible), push main to remote, then clean up the feature branch.
|
|
121
188
|
- **Timeout:** 120s
|
|
189
|
+
- **Done:** Update task 11 as completed. Output:
|
|
190
|
+
|
|
191
|
+
> Pipeline complete! Feature merged to main.
|
|
122
192
|
|
|
123
193
|
---
|
|
124
194
|
|
|
@@ -128,13 +198,12 @@ After all steps complete, return: the feature name, number of tasks created, and
|
|
|
128
198
|
Phase 1 (subagent) Phase 2 (main context)
|
|
129
199
|
────────────────────────────── ──────────────────────────────
|
|
130
200
|
Step 1: brainstorm ──STOP── commit Step 8: compact
|
|
131
|
-
+ knowledge search (hosxp) Step 9: implement
|
|
132
|
-
Step 2: constitution ─STOP─┐
|
|
133
|
-
Step 3: CLAUDE.md sync ───┘ commit
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Step
|
|
138
|
-
Step
|
|
139
|
-
Step 7: analyze ──────────── commit
|
|
201
|
+
+ knowledge search (hosxp) Step 9: implement + rolling QC
|
|
202
|
+
Step 2: constitution ─STOP─┐ ┌─ implement task ─┐
|
|
203
|
+
Step 3: CLAUDE.md sync ───┘ commit │ inline QC │
|
|
204
|
+
Step 4: specify ──────STOP── commit │ fix → commit │
|
|
205
|
+
+ knowledge search (hosxp) └─ next task ──────┘
|
|
206
|
+
Step 5: plan ─────────STOP── commit Step 10: final QC agent ── commit
|
|
207
|
+
Step 6: tasks ────────STOP── commit (security/deps/UX/a11y)
|
|
208
|
+
Step 7: analyze ──────────── commit Step 11: merge to main + push
|
|
140
209
|
```
|