bms-speckit-plugin 4.0.1 → 4.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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bms-speckit",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Chain-orchestrated development pipeline with per-step error handling. /bms-speckit runs brainstorm → constitution → specify → plan → tasks → analyze → implement → verify.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "manoirx"
|
|
@@ -4,14 +4,18 @@
|
|
|
4
4
|
# This blueprint defines the chain sequence, I/O contracts, error handling,
|
|
5
5
|
# and timeout constraints for each step. The SKILL.md orchestrator executes
|
|
6
6
|
# this chain via Claude Code's Skill tool.
|
|
7
|
+
#
|
|
8
|
+
# Commit strategy: every artifact-producing step commits and pushes immediately
|
|
9
|
+
# to prevent loss and provide traceability per the project constitution.
|
|
7
10
|
|
|
8
11
|
id: bms_speckit_development_pipeline
|
|
9
|
-
version: 4.
|
|
12
|
+
version: 4.1.0
|
|
10
13
|
name: BMS Speckit Automated Development Pipeline
|
|
11
14
|
description: >
|
|
12
15
|
Full engineering workflow from requirement to verified implementation.
|
|
13
16
|
Chains brainstorming, constitution, specification, planning, task generation,
|
|
14
17
|
analysis, implementation (TDD), and final verification.
|
|
18
|
+
Commits after every important step for traceability and safety.
|
|
15
19
|
category: Development
|
|
16
20
|
|
|
17
21
|
# ─── Chain Sequence ────────────────────────────────────────────────────────────
|
|
@@ -20,7 +24,7 @@ chain_sequence:
|
|
|
20
24
|
|
|
21
25
|
# ── Phase 1: Specification & Planning (subagent context) ──────────────────
|
|
22
26
|
|
|
23
|
-
- step_id:
|
|
27
|
+
- step_id: step_1_brainstorm
|
|
24
28
|
skill_id: superpowers.brainstorm
|
|
25
29
|
action: execute
|
|
26
30
|
phase: 1
|
|
@@ -30,6 +34,10 @@ chain_sequence:
|
|
|
30
34
|
requirement: "$ARGUMENTS"
|
|
31
35
|
output:
|
|
32
36
|
artifacts: [detailed_specification]
|
|
37
|
+
post_action:
|
|
38
|
+
commit: true
|
|
39
|
+
message: "feat(speckit): brainstorm — explore requirements and design"
|
|
40
|
+
push: true
|
|
33
41
|
error_handling:
|
|
34
42
|
on_failure: stop
|
|
35
43
|
max_retries: 1
|
|
@@ -38,7 +46,7 @@ chain_sequence:
|
|
|
38
46
|
Write a detailed specification from the user's requirement.
|
|
39
47
|
Explore edge cases, constraints, and design alternatives.
|
|
40
48
|
|
|
41
|
-
- step_id:
|
|
49
|
+
- step_id: step_2_constitution
|
|
42
50
|
skill_id: speckit.constitution
|
|
43
51
|
action: execute
|
|
44
52
|
phase: 1
|
|
@@ -71,7 +79,7 @@ chain_sequence:
|
|
|
71
79
|
TDD is non-negotiable. Constitution must enforce testing at all levels,
|
|
72
80
|
atomic commits, reusable components, and centralized business logic.
|
|
73
81
|
|
|
74
|
-
- step_id:
|
|
82
|
+
- step_id: step_3_claude_md_sync
|
|
75
83
|
skill_id: internal.claude_md_verify
|
|
76
84
|
action: execute
|
|
77
85
|
phase: 1
|
|
@@ -80,6 +88,10 @@ chain_sequence:
|
|
|
80
88
|
input:
|
|
81
89
|
constitution_path: specs/constitution.md
|
|
82
90
|
target_path: CLAUDE.md
|
|
91
|
+
post_action:
|
|
92
|
+
commit: true
|
|
93
|
+
message: "feat(speckit): add constitution and sync CLAUDE.md"
|
|
94
|
+
push: true
|
|
83
95
|
error_handling:
|
|
84
96
|
on_failure: continue
|
|
85
97
|
max_retries: 1
|
|
@@ -88,16 +100,20 @@ chain_sequence:
|
|
|
88
100
|
Read CLAUDE.md and verify it complies with specs/constitution.md.
|
|
89
101
|
Update CLAUDE.md if it conflicts with or is missing constitution rules.
|
|
90
102
|
|
|
91
|
-
- step_id:
|
|
103
|
+
- step_id: step_4_specify
|
|
92
104
|
skill_id: speckit.specify
|
|
93
105
|
action: execute
|
|
94
106
|
phase: 1
|
|
95
107
|
description: Create feature specification from brainstorm output
|
|
96
108
|
timeout_seconds: 300
|
|
97
109
|
input:
|
|
98
|
-
requirement: "{{
|
|
110
|
+
requirement: "{{step_1_brainstorm.output}}"
|
|
99
111
|
output:
|
|
100
112
|
artifacts: [specs/*/spec.md]
|
|
113
|
+
post_action:
|
|
114
|
+
commit: true
|
|
115
|
+
message: "feat(speckit): add feature specification"
|
|
116
|
+
push: true
|
|
101
117
|
error_handling:
|
|
102
118
|
on_failure: stop
|
|
103
119
|
max_retries: 2
|
|
@@ -106,16 +122,20 @@ chain_sequence:
|
|
|
106
122
|
Generate a complete, testable specification. Include acceptance criteria,
|
|
107
123
|
data models, API contracts, and edge cases.
|
|
108
124
|
|
|
109
|
-
- step_id:
|
|
125
|
+
- step_id: step_5_plan
|
|
110
126
|
skill_id: speckit.plan
|
|
111
127
|
action: execute
|
|
112
128
|
phase: 1
|
|
113
129
|
description: Generate implementation plan from specification
|
|
114
130
|
timeout_seconds: 300
|
|
115
131
|
input:
|
|
116
|
-
source: "{{
|
|
132
|
+
source: "{{step_4_specify.artifacts}}"
|
|
117
133
|
output:
|
|
118
134
|
artifacts: [specs/*/plan.md]
|
|
135
|
+
post_action:
|
|
136
|
+
commit: true
|
|
137
|
+
message: "feat(speckit): add implementation plan"
|
|
138
|
+
push: true
|
|
119
139
|
error_handling:
|
|
120
140
|
on_failure: stop
|
|
121
141
|
max_retries: 2
|
|
@@ -124,16 +144,20 @@ chain_sequence:
|
|
|
124
144
|
Plan in ordered steps. Include file paths, component boundaries,
|
|
125
145
|
test strategy, and rollback considerations.
|
|
126
146
|
|
|
127
|
-
- step_id:
|
|
147
|
+
- step_id: step_6_tasks
|
|
128
148
|
skill_id: speckit.tasks
|
|
129
149
|
action: execute
|
|
130
150
|
phase: 1
|
|
131
151
|
description: Generate dependency-ordered task list
|
|
132
152
|
timeout_seconds: 300
|
|
133
153
|
input:
|
|
134
|
-
source: "{{
|
|
154
|
+
source: "{{step_5_plan.artifacts}}"
|
|
135
155
|
output:
|
|
136
156
|
artifacts: [specs/*/tasks.md]
|
|
157
|
+
post_action:
|
|
158
|
+
commit: true
|
|
159
|
+
message: "feat(speckit): add task list"
|
|
160
|
+
push: true
|
|
137
161
|
error_handling:
|
|
138
162
|
on_failure: stop
|
|
139
163
|
max_retries: 2
|
|
@@ -142,16 +166,20 @@ chain_sequence:
|
|
|
142
166
|
Tasks must be atomic, dependency-ordered, and each independently testable.
|
|
143
167
|
Include clear acceptance criteria per task.
|
|
144
168
|
|
|
145
|
-
- step_id:
|
|
169
|
+
- step_id: step_7_analyze
|
|
146
170
|
skill_id: speckit.analyze
|
|
147
171
|
action: execute
|
|
148
172
|
phase: 1
|
|
149
173
|
description: Cross-artifact consistency and quality check
|
|
150
174
|
timeout_seconds: 300
|
|
151
175
|
input:
|
|
152
|
-
source: "{{
|
|
176
|
+
source: "{{step_6_tasks.artifacts}}"
|
|
153
177
|
output:
|
|
154
178
|
artifacts: [analysis_report]
|
|
179
|
+
post_action:
|
|
180
|
+
commit: true
|
|
181
|
+
message: "feat(speckit): add cross-artifact analysis report"
|
|
182
|
+
push: true
|
|
155
183
|
error_handling:
|
|
156
184
|
on_failure: continue
|
|
157
185
|
max_retries: 1
|
|
@@ -160,20 +188,6 @@ chain_sequence:
|
|
|
160
188
|
Check spec ↔ plan ↔ tasks consistency. Flag gaps, contradictions,
|
|
161
189
|
and missing test coverage. Non-destructive — report only.
|
|
162
190
|
|
|
163
|
-
- step_id: step_7_commit
|
|
164
|
-
skill_id: internal.git_commit_push
|
|
165
|
-
action: execute
|
|
166
|
-
phase: 1
|
|
167
|
-
description: Commit all specification artifacts and push
|
|
168
|
-
timeout_seconds: 120
|
|
169
|
-
error_handling:
|
|
170
|
-
on_failure: continue
|
|
171
|
-
max_retries: 1
|
|
172
|
-
opinionated_prompts:
|
|
173
|
-
system_context: >
|
|
174
|
-
Commit all files in specs/ with a descriptive message.
|
|
175
|
-
Push to remote if configured.
|
|
176
|
-
|
|
177
191
|
# ── Phase 2: Implementation (main context) ────────────────────────────────
|
|
178
192
|
|
|
179
193
|
- step_id: step_8_compact
|
|
@@ -199,6 +213,10 @@ chain_sequence:
|
|
|
199
213
|
max_iterations: 10
|
|
200
214
|
output:
|
|
201
215
|
artifacts: [source_code, tests, commits]
|
|
216
|
+
post_action:
|
|
217
|
+
commit: per_task
|
|
218
|
+
message: "feat: implement <task_name>"
|
|
219
|
+
push: true
|
|
202
220
|
error_handling:
|
|
203
221
|
on_failure: continue
|
|
204
222
|
max_retries: 3
|
|
@@ -219,6 +237,10 @@ chain_sequence:
|
|
|
219
237
|
phase: 2
|
|
220
238
|
description: Final validation pass — confirm production-grade quality
|
|
221
239
|
timeout_seconds: 300
|
|
240
|
+
post_action:
|
|
241
|
+
commit: true
|
|
242
|
+
message: "chore(speckit): final verification pass complete"
|
|
243
|
+
push: true
|
|
222
244
|
error_handling:
|
|
223
245
|
on_failure: stop
|
|
224
246
|
max_retries: 1
|
|
@@ -227,6 +249,22 @@ chain_sequence:
|
|
|
227
249
|
Final gate. Verify all tasks completed, tests passing,
|
|
228
250
|
no regressions, code quality standards met.
|
|
229
251
|
|
|
252
|
+
- step_id: step_11_merge
|
|
253
|
+
skill_id: internal.git_merge_to_main
|
|
254
|
+
action: execute
|
|
255
|
+
phase: 2
|
|
256
|
+
description: Merge feature branch into main
|
|
257
|
+
timeout_seconds: 120
|
|
258
|
+
post_action:
|
|
259
|
+
push: true
|
|
260
|
+
error_handling:
|
|
261
|
+
on_failure: stop
|
|
262
|
+
max_retries: 1
|
|
263
|
+
opinionated_prompts:
|
|
264
|
+
system_context: >
|
|
265
|
+
Switch to main branch, merge the feature branch (fast-forward if possible),
|
|
266
|
+
push main to remote, then clean up the feature branch.
|
|
267
|
+
|
|
230
268
|
# ─── Metadata ──────────────────────────────────────────────────────────────────
|
|
231
269
|
|
|
232
270
|
metadata:
|
|
@@ -234,14 +272,15 @@ metadata:
|
|
|
234
272
|
created_at: "2026-03-29"
|
|
235
273
|
tags: [speckit, tdd, workflow, development, chain, engineering]
|
|
236
274
|
estimated_duration_seconds: 6000
|
|
275
|
+
commit_strategy: per_step
|
|
237
276
|
phases:
|
|
238
277
|
phase_1:
|
|
239
278
|
name: Specification & Planning
|
|
240
|
-
steps: [
|
|
279
|
+
steps: [step_1 through step_7]
|
|
241
280
|
execution: subagent
|
|
242
281
|
reason: Preserve main context window for implementation
|
|
243
282
|
phase_2:
|
|
244
|
-
name: Implementation & Verification
|
|
245
|
-
steps: [step_8 through
|
|
283
|
+
name: Implementation & Verification & Merge
|
|
284
|
+
steps: [step_8 through step_11]
|
|
246
285
|
execution: main_context
|
|
247
286
|
reason: Implementation needs full tool access and ralph-loop
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bms-speckit-plugin",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.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/",
|
|
@@ -14,8 +14,9 @@ Chain blueprint: `blueprints/bms-speckit-pipeline.yaml`
|
|
|
14
14
|
3. On step failure, check the **error policy** before proceeding:
|
|
15
15
|
- `on_failure: stop` → halt the chain and report which step failed
|
|
16
16
|
- `on_failure: continue` → log the failure and proceed to next step
|
|
17
|
-
4. Pass `$ARGUMENTS` (the user's requirement) to step
|
|
18
|
-
5.
|
|
17
|
+
4. Pass `$ARGUMENTS` (the user's requirement) to step 1 (brainstorm). Step 4 (specify) receives the **output from step 1**, not raw `$ARGUMENTS`
|
|
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. Do NOT ask for confirmation between steps
|
|
19
20
|
|
|
20
21
|
---
|
|
21
22
|
|
|
@@ -26,54 +27,56 @@ Chain blueprint: `blueprints/bms-speckit-pipeline.yaml`
|
|
|
26
27
|
Subagent prompt:
|
|
27
28
|
|
|
28
29
|
"""
|
|
29
|
-
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.
|
|
30
|
+
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.**
|
|
30
31
|
|
|
31
|
-
### Step
|
|
32
|
+
### Step 1 — Brainstorm `[on_failure: STOP]`
|
|
32
33
|
- **Skill:** `superpowers.brainstorm`
|
|
33
34
|
- **Input:** "$ARGUMENTS"
|
|
34
35
|
- **Purpose:** Explore intent, requirements, design alternatives, and edge cases
|
|
35
36
|
- **Output:** Detailed specification document
|
|
36
37
|
- **Timeout:** 300s
|
|
38
|
+
- **Post-action:** Commit all files and push. Message: `feat(speckit): brainstorm — explore requirements and design`
|
|
37
39
|
|
|
38
|
-
### Step
|
|
40
|
+
### Step 2 — Constitution `[on_failure: STOP]`
|
|
39
41
|
- **Skill:** `speckit.constitution`
|
|
40
42
|
- **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."
|
|
41
43
|
- **Output:** `specs/constitution.md`
|
|
42
44
|
- **Timeout:** 300s
|
|
43
45
|
|
|
44
|
-
### Step
|
|
46
|
+
### Step 3 — CLAUDE.md Sync `[on_failure: CONTINUE]`
|
|
45
47
|
- **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.
|
|
46
48
|
- **Timeout:** 120s
|
|
49
|
+
- **Post-action:** Commit all files and push. Message: `feat(speckit): add constitution and sync CLAUDE.md`
|
|
47
50
|
|
|
48
|
-
### Step
|
|
51
|
+
### Step 4 — Specify `[on_failure: STOP]`
|
|
49
52
|
- **Skill:** `speckit.specify`
|
|
50
|
-
- **Input:** Use the detailed specification output from Step
|
|
53
|
+
- **Input:** Use the detailed specification output from Step 1 (brainstorm) as the argument
|
|
51
54
|
- **Output:** `specs/*/spec.md`
|
|
52
55
|
- **Timeout:** 300s
|
|
53
56
|
- **Retry:** up to 2 attempts
|
|
57
|
+
- **Post-action:** Commit all files and push. Message: `feat(speckit): add feature specification`
|
|
54
58
|
|
|
55
|
-
### Step
|
|
59
|
+
### Step 5 — Plan `[on_failure: STOP]`
|
|
56
60
|
- **Skill:** `speckit.plan`
|
|
57
|
-
- **Input:** reads from step
|
|
61
|
+
- **Input:** reads from step 4 artifacts
|
|
58
62
|
- **Output:** `specs/*/plan.md`
|
|
59
63
|
- **Timeout:** 300s
|
|
60
64
|
- **Retry:** up to 2 attempts
|
|
65
|
+
- **Post-action:** Commit all files and push. Message: `feat(speckit): add implementation plan`
|
|
61
66
|
|
|
62
|
-
### Step
|
|
67
|
+
### Step 6 — Tasks `[on_failure: STOP]`
|
|
63
68
|
- **Skill:** `speckit.tasks`
|
|
64
|
-
- **Input:** reads from step
|
|
69
|
+
- **Input:** reads from step 5 artifacts
|
|
65
70
|
- **Output:** `specs/*/tasks.md`
|
|
66
71
|
- **Timeout:** 300s
|
|
67
72
|
- **Retry:** up to 2 attempts
|
|
73
|
+
- **Post-action:** Commit all files and push. Message: `feat(speckit): add task list`
|
|
68
74
|
|
|
69
|
-
### Step
|
|
75
|
+
### Step 7 — Analyze `[on_failure: CONTINUE]`
|
|
70
76
|
- **Skill:** `speckit.analyze`
|
|
71
77
|
- **Purpose:** Cross-artifact consistency check (spec ↔ plan ↔ tasks). Non-destructive — report only.
|
|
72
78
|
- **Timeout:** 300s
|
|
73
|
-
|
|
74
|
-
### Step 7 — Commit & Push `[on_failure: CONTINUE]`
|
|
75
|
-
- **Action:** Commit all files and push to remote if configured.
|
|
76
|
-
- **Timeout:** 120s
|
|
79
|
+
- **Post-action:** Commit all files and push. Message: `feat(speckit): add cross-artifact analysis report`
|
|
77
80
|
|
|
78
81
|
After all steps complete, return: the feature name, number of tasks created, and the path to tasks.md.
|
|
79
82
|
"""
|
|
@@ -91,23 +94,33 @@ After all steps complete, return: the feature name, number of tasks created, and
|
|
|
91
94
|
- **Engine:** ralph-loop
|
|
92
95
|
- **Completion promise:** `FINISHED`
|
|
93
96
|
- **Max iterations:** 10
|
|
97
|
+
- **Commit strategy:** Atomic commit after each completed task
|
|
94
98
|
- **Action:** Run:
|
|
95
99
|
|
|
96
100
|
`/ralph-loop:ralph-loop "systematically execute speckit.implement via the Skill tool to complete every task defined in specs/*/tasks.md with strict adherence to specification requirements, enforce TDD workflow including writing and passing unit, integration, and end-to-end tests before marking any task complete, ensure code quality through linting, static analysis, and consistent architecture with reusable components and centralized business logic, 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`
|
|
97
101
|
|
|
102
|
+
### Step 10 — Verify `[on_failure: STOP]`
|
|
103
|
+
- **Skill:** `speckit.analyze`
|
|
104
|
+
- **Purpose:** Final validation — confirm all tasks completed, tests passing, no regressions, code quality standards met.
|
|
105
|
+
- **Timeout:** 300s
|
|
106
|
+
- **Post-action:** Commit all files and push. Message: `chore(speckit): final verification pass complete`
|
|
107
|
+
|
|
108
|
+
### Step 11 — Merge to Main `[on_failure: STOP]`
|
|
109
|
+
- **Action:** Switch to main branch, merge the feature branch (fast-forward if possible), push main to remote, then clean up the feature branch.
|
|
110
|
+
- **Timeout:** 120s
|
|
111
|
+
|
|
98
112
|
---
|
|
99
113
|
|
|
100
114
|
## Chain Summary
|
|
101
115
|
|
|
102
116
|
```
|
|
103
|
-
Phase 1 (subagent)
|
|
104
|
-
|
|
105
|
-
Step
|
|
106
|
-
Step
|
|
107
|
-
Step
|
|
108
|
-
Step
|
|
109
|
-
Step
|
|
110
|
-
Step
|
|
111
|
-
Step
|
|
112
|
-
Step 7: commit & push ─────┘
|
|
117
|
+
Phase 1 (subagent) Phase 2 (main context)
|
|
118
|
+
────────────────────────────── ──────────────────────────────
|
|
119
|
+
Step 1: brainstorm ──STOP── commit Step 8: compact
|
|
120
|
+
Step 2: constitution ─STOP─┐ Step 9: implement (ralph-loop)
|
|
121
|
+
Step 3: CLAUDE.md sync ────┘ commit commit per task
|
|
122
|
+
Step 4: specify ──────STOP── commit Step 10: verify ── commit
|
|
123
|
+
Step 5: plan ─────────STOP── commit Step 11: merge to main + push
|
|
124
|
+
Step 6: tasks ────────STOP── commit
|
|
125
|
+
Step 7: analyze ──────────── commit
|
|
113
126
|
```
|