bms-speckit-plugin 4.0.2 → 4.1.1

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 ────────────────────────────────────────────────────────────
@@ -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
@@ -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
@@ -98,6 +110,10 @@ chain_sequence:
98
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
@@ -116,6 +132,10 @@ chain_sequence:
116
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
@@ -134,6 +154,10 @@ chain_sequence:
134
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
@@ -152,6 +176,10 @@ chain_sequence:
152
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,23 +188,9 @@ 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_8_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
- - step_id: step_9_compact
193
+ - step_id: step_8_compact
180
194
  skill_id: internal.compact
181
195
  action: execute
182
196
  phase: 2
@@ -186,19 +200,23 @@ chain_sequence:
186
200
  on_failure: continue
187
201
  max_retries: 0
188
202
 
189
- - step_id: step_10_implement
203
+ - step_id: step_9_implement
190
204
  skill_id: speckit.implement
191
205
  action: execute_loop
192
206
  phase: 2
193
207
  description: Execute all tasks with TDD workflow via ralph-loop
194
208
  timeout_seconds: 3600
195
209
  input:
196
- tasks_path: "specs/*/tasks.md"
210
+ tasks_path: "{{step_6_tasks.artifacts}}"
197
211
  loop_engine: ralph-loop
198
212
  completion_promise: "FINISHED"
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
@@ -213,12 +231,16 @@ chain_sequence:
213
231
  apply improvements, re-run all tests, confirm zero regression.
214
232
  Only output FINISHED after everything is validated.
215
233
 
216
- - step_id: step_11_verify
234
+ - step_id: step_10_verify
217
235
  skill_id: speckit.analyze
218
236
  action: execute
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_1 through step_8]
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_9 through step_11]
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.2",
3
+ "version": "4.1.1",
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/",
@@ -15,7 +15,8 @@ Chain blueprint: `blueprints/bms-speckit-pipeline.yaml`
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
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. Do NOT ask for confirmation between steps
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,7 +27,7 @@ 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
32
  ### Step 1 — Brainstorm `[on_failure: STOP]`
32
33
  - **Skill:** `superpowers.brainstorm`
@@ -34,6 +35,7 @@ You are running the BMS Speckit specification and planning chain. Execute each s
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
40
  ### Step 2 — Constitution `[on_failure: STOP]`
39
41
  - **Skill:** `speckit.constitution`
@@ -44,6 +46,7 @@ You are running the BMS Speckit specification and planning chain. Execute each s
44
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
51
  ### Step 4 — Specify `[on_failure: STOP]`
49
52
  - **Skill:** `speckit.specify`
@@ -51,6 +54,7 @@ You are running the BMS Speckit specification and planning chain. Execute each s
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
59
  ### Step 5 — Plan `[on_failure: STOP]`
56
60
  - **Skill:** `speckit.plan`
@@ -58,6 +62,7 @@ You are running the BMS Speckit specification and planning chain. Execute each s
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
67
  ### Step 6 — Tasks `[on_failure: STOP]`
63
68
  - **Skill:** `speckit.tasks`
@@ -65,15 +70,13 @@ You are running the BMS Speckit specification and planning chain. Execute each s
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
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 8 — 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
  """
@@ -84,30 +87,41 @@ After all steps complete, return: the feature name, number of tasks created, and
84
87
 
85
88
  > **Execution context:** Runs in main context after subagent completes.
86
89
 
87
- ### Step 9 — Compact `[on_failure: CONTINUE]`
90
+ ### Step 8 — Compact `[on_failure: CONTINUE]`
88
91
  - **Action:** Run `/compact` to free context window before implementation.
89
92
 
90
- ### Step 10 — Implement (loop) `[on_failure: CONTINUE | max_retries: 3]`
93
+ ### Step 9 — Implement (loop) `[on_failure: CONTINUE | max_retries: 3]`
91
94
  - **Engine:** ralph-loop
95
+ - **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.
92
96
  - **Completion promise:** `FINISHED`
93
97
  - **Max iterations:** 10
98
+ - **Commit strategy:** Atomic commit after each completed task
94
99
  - **Action:** Run:
95
100
 
96
- `/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`
101
+ `/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, 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`
102
+
103
+ ### Step 10 — Verify `[on_failure: STOP]`
104
+ - **Skill:** `speckit.analyze`
105
+ - **Purpose:** Final validation — confirm all tasks completed, tests passing, no regressions, code quality standards met.
106
+ - **Timeout:** 300s
107
+ - **Post-action:** Commit all files and push. Message: `chore(speckit): final verification pass complete`
108
+
109
+ ### Step 11 — Merge to Main `[on_failure: STOP]`
110
+ - **Action:** Switch to main branch, merge the feature branch (fast-forward if possible), push main to remote, then clean up the feature branch.
111
+ - **Timeout:** 120s
97
112
 
98
113
  ---
99
114
 
100
115
  ## Chain Summary
101
116
 
102
117
  ```
103
- Phase 1 (subagent) Phase 2 (main context)
104
- ───────────────────── ──────────────────────
105
- Step 1: brainstorm ──STOP──┐ Step 9: compact
106
- Step 2: constitution ─STOP─┤ Step 10: implement (ralph-loop)
107
- Step 3: CLAUDE.md sync ────┤ Step 11: verify (via step 10)
108
- Step 4: specify ──────STOP─┤
109
- Step 5: plan ─────────STOP─┤
110
- Step 6: tasks ────────STOP─┤
111
- Step 7: analyze ───────────┤
112
- Step 8: commit & push ─────┘
118
+ Phase 1 (subagent) Phase 2 (main context)
119
+ ────────────────────────────── ──────────────────────────────
120
+ Step 1: brainstorm ──STOP── commit Step 8: compact
121
+ Step 2: constitution ─STOP─┐ Step 9: implement (ralph-loop)
122
+ Step 3: CLAUDE.md sync ────┘ commit commit per task
123
+ Step 4: specify ──────STOP── commit Step 10: verify ── commit
124
+ Step 5: plan ─────────STOP── commit Step 11: merge to main + push
125
+ Step 6: tasks ────────STOP── commit
126
+ Step 7: analyze ──────────── commit
113
127
  ```