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.0.0",
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.0.0
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: step_0_brainstorm
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: step_1_constitution
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: step_2_claude_md_sync
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: step_3_specify
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: "{{step_0_brainstorm.output}}"
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: step_4_plan
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: "{{step_3_specify.artifacts}}"
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: step_5_tasks
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: "{{step_4_plan.artifacts}}"
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: step_6_analyze
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: "{{step_5_tasks.artifacts}}"
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: [step_0 through step_7]
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 step_10]
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.1",
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 0 (brainstorm). Step 3 (specify) receives the **output from step 0**, not raw `$ARGUMENTS`
18
- 5. Do NOT ask for confirmation between steps
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 0 — Brainstorm `[on_failure: STOP]`
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 1 — Constitution `[on_failure: STOP]`
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 2 — CLAUDE.md Sync `[on_failure: CONTINUE]`
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 3 — Specify `[on_failure: STOP]`
51
+ ### Step 4 — Specify `[on_failure: STOP]`
49
52
  - **Skill:** `speckit.specify`
50
- - **Input:** Use the detailed specification output from Step 0 (brainstorm) as the argument
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 4 — Plan `[on_failure: STOP]`
59
+ ### Step 5 — Plan `[on_failure: STOP]`
56
60
  - **Skill:** `speckit.plan`
57
- - **Input:** reads from step 3 artifacts
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 5 — Tasks `[on_failure: STOP]`
67
+ ### Step 6 — Tasks `[on_failure: STOP]`
63
68
  - **Skill:** `speckit.tasks`
64
- - **Input:** reads from step 4 artifacts
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 6 — Analyze `[on_failure: CONTINUE]`
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) Phase 2 (main context)
104
- ───────────────────── ──────────────────────
105
- Step 0: brainstorm ──STOP──┐ Step 8: compact
106
- Step 1: constitution ─STOP─┤ Step 9: implement (ralph-loop)
107
- Step 2: CLAUDE.md sync ────┤ Step 10: verify (via step 9)
108
- Step 3: specify ──────STOP─┤
109
- Step 4: plan ─────────STOP─┤
110
- Step 5: tasks ────────STOP─┤
111
- Step 6: analyze ───────────┤
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
  ```