bmad-method 6.10.1-next.24 → 6.10.1-next.26

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method",
4
- "version": "6.10.1-next.24",
4
+ "version": "6.10.1-next.26",
5
5
  "description": "Breakthrough Method of Agile AI-driven Development",
6
6
  "keywords": [
7
7
  "agile",
@@ -40,10 +40,11 @@
40
40
  "lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
41
41
  "lint:md": "markdownlint-cli2 \"**/*.md\"",
42
42
  "prepare": "command -v husky >/dev/null 2>&1 && husky || exit 0",
43
- "quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run test:install && npm run test:urls && npm run test:renderer && npm run validate:refs && npm run validate:skills && npm run docs:validate-sidebar",
43
+ "quality": "npm run format:check && npm run lint && npm run lint:md && npm run docs:build && npm run test:install && npm run test:urls && npm run test:renderer && npm run test:dev-auto-contract && npm run validate:refs && npm run validate:skills && npm run docs:validate-sidebar",
44
44
  "rebundle": "node tools/installer/bundlers/bundle-web.js rebundle",
45
- "test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:channels && npm run test:renderer && npm run test:skills && npm run lint && npm run lint:md && npm run format:check",
45
+ "test": "npm run test:refs && npm run test:install && npm run test:urls && npm run test:channels && npm run test:renderer && npm run test:dev-auto-contract && npm run test:skills && npm run lint && npm run lint:md && npm run format:check",
46
46
  "test:channels": "node test/test-installer-channels.js",
47
+ "test:dev-auto-contract": "node test/test-dev-auto-contract.js",
47
48
  "test:install": "node test/test-installation-components.js",
48
49
  "test:refs": "node test/test-file-refs-csv.js",
49
50
  "test:renderer": "uv run --python 3.11 python -m unittest src/scripts/tests/test_config_utils.py src/scripts/tests/test_resolve_config.py src/scripts/tests/test_resolve_customization.py && node test/test-quick-dev-renderer.js && node test/test-dev-auto-renderer.js",
@@ -87,4 +87,4 @@ Outcomes, in order:
87
87
  - **Key-screen mocks rendered.** Key-screens tool → `.working/` for surfaces where layout drives behavior or anchors visual language.
88
88
  - **Mock coverage confirmed.** Walk every IA surface; classify *mocked* vs *spine-only*. Ask: *"These will be built from spine tables alone — any need a visual reference?"* Render more if named; log spine-only choices.
89
89
  - **Layout extracted, artifacts promoted.** Distill subagent re-reads each `.working/` and `imports/` artifact; lifts visual decisions into DESIGN.md and behavioral decisions into EXPERIENCE.md. Promote `.working/` keepers to `mockups/` (HTML) or `wireframes/` (Excalidraw); imports stay. Inline relative links at relevant spine sections; state spines-win-on-conflict once.
90
- - **Polished, handed off, closed.** Apply `{workflow.doc_standards}` in order. Execute `{workflow.external_handoffs}`; surface URLs. Set both files' `status: final`, `updated: {date}`. Log finalization via `uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type event --text "spines finalized"`. Share paths. Common next: `bmad-architecture`, `bmad-create-epics-and-stories`, `bmad-dev-story`. Run `{workflow.on_complete}`.
90
+ - **Polished, handed off, closed.** Apply `{workflow.doc_standards}` in order. Execute `{workflow.external_handoffs}`; surface URLs. Set both files' `status: final`, `updated: {date}`. Log finalization via `uv run {project-root}/_bmad/scripts/memlog.py append --workspace {doc_workspace} --type event --text "spines finalized"`. Share paths. Common next: `bmad-architecture`, `bmad-create-epics-and-stories`, `bmad-quick-dev`. Run `{workflow.on_complete}`.
@@ -73,7 +73,7 @@ Walk the sequence; reviewer fixes land before polish.
73
73
  4. **Triage.** Open questions and `[ASSUMPTION]` tags: blockers (unsafe for what's next) resolved one at a time; the rest deferred with a revisit condition in the memlog.
74
74
  5. **Renderings & polish.** The spine is the build deliverable; with it and the memlog now in place, produce any *additional* human-facing artifact the user needs, scoped to the purpose and audience drawn out up front. The up-front question already flagged whether one's needed; if it wasn't, still offer one here, seeding concrete options: an interactive HTML+SVG deck to walk a team through the architecture and drive discussion, a fuller HTML/md solution design, a C4 set, or a view of how the work splits across teams/epics. Build only what they pick, right-sized to that purpose; apply `{workflow.doc_standards}` polish to that prose only, never to the spine.
75
75
  6. **External handoffs.** Run `{workflow.external_handoffs}`; surface returned URLs/IDs. Offer to invoke the `bmad-spec` skill to adopt the spine as a companion, keeping `AD` IDs stable so downstream can cite them.
76
- 7. **Close.** Set the spine's own frontmatter `status: final`, `updated: {date}`; log a `memlog.py append --type event --text "spine finalized"` (the memlog has no status field). Share paths. Next, **lead with `bmad-spec`** — recommend adopting/refreshing the spine as a spec companion (always the top recommendation when a spec was an input, and a useful next step even when it wasn't), then `bmad-create-epics-and-stories` or — epic altitude — `bmad-create-story`; or invoke `bmad-help` to route.
76
+ 7. **Close.** Set the spine's own frontmatter `status: final`, `updated: {date}`; log a `memlog.py append --type event --text "spine finalized"` (the memlog has no status field). Share paths. Next, **lead with `bmad-spec`** — recommend adopting/refreshing the spine as a spec companion (always the top recommendation when a spec was an input, and a useful next step even when it wasn't), then `bmad-create-epics-and-stories` or — epic altitude — `bmad-quick-dev`; or invoke `bmad-help` to route.
77
77
  8. Run `{workflow.on_complete}`.
78
78
 
79
79
  ## Update
@@ -57,14 +57,9 @@ principles = [
57
57
  # in place, new codes append. Each item has exactly one of `skill` (invokes a
58
58
  # registered skill by name) or `prompt` (executes the prompt text directly).
59
59
 
60
- [[agent.menu]]
61
- code = "DS"
62
- description = "Write the next or specified story's tests and code"
63
- skill = "bmad-dev-story"
64
-
65
60
  [[agent.menu]]
66
61
  code = "QD"
67
- description = "Unified quick flow — clarify intent, plan, implement, review, present"
62
+ description = "Implement a feature, fix, or story"
68
63
  skill = "bmad-quick-dev"
69
64
 
70
65
  [[agent.menu]]
@@ -82,11 +77,6 @@ code = "SP"
82
77
  description = "Generate or update the sprint plan that sequences tasks for implementation"
83
78
  skill = "bmad-sprint-planning"
84
79
 
85
- [[agent.menu]]
86
- code = "CS"
87
- description = "Prepare a story with all required context for implementation"
88
- skill = "bmad-create-story"
89
-
90
80
  [[agent.menu]]
91
81
  code = "ER"
92
82
  description = "Party mode review of all work completed across an epic"
@@ -7,6 +7,7 @@ review_loop_iteration: 0 # incremented by step-04 before each review loopback
7
7
  followup_review_recommended: false # set by step-04 on status: done — true if the LLM decided another review pass is worthwhile
8
8
  context: [] # optional: `{project-root}/`-prefixed paths to project-wide standards/docs the implementation agent should load. Keep short — only what isn't already distilled into the spec body.
9
9
  warnings: [] # optional: machine-readable warnings for orchestration, e.g. oversized, multiple-goals
10
+ deferred: [] # append-only machine-readable deferred review findings; each item carries summary/evidence and optional location/severity
10
11
  ---
11
12
 
12
13
  <!-- Aim for 900–1600 tokens. If larger, add `oversized` to frontmatter `warnings` and continue.
@@ -60,12 +60,18 @@ Execute these review layers in parallel wherever their execution methods allow:
60
60
  - **intent_gap** — Root cause is inside `<intent-contract>`. Save the attempted change as a patch file in `{{.implementation_artifacts}}` and reference it from the triage-log entry, then revert code changes. Append the triage-log entry for this pass with `addressed_findings: none`, then HALT with status `blocked`, blocking condition `intent gap`, and include the unresolved questions and the saved patch path.
61
61
  - **bad_spec** — Root cause is outside `<intent-contract>`. Do not modify content inside `<intent-contract>`. Before reverting code: extract KEEP instructions for positive preservation (what worked well and must survive re-derivation). Revert code changes. Read the `## Spec Change Log` in `{spec_file}` and strictly respect all logged constraints when amending the sections outside `<intent-contract>` that contain the root cause. Append a new change-log entry recording: the triggering finding, what was amended, the known-bad state avoided, and the KEEP instructions. Append the triage-log entry for this pass, listing every bad_spec finding that triggered the spec amendment and implementation loopback under `addressed_findings`. Read fully and follow `[[bmad-snapshot:step-03-implement.md]]` to re-derive the code, then this step will run again.
62
62
  - **patch** — Auto-fix. These are the only findings that survive loopbacks. If the step-03 implementation subagent can be re-engaged with its context intact, send it all patch findings in one synchronous message — for each: the file, what is wrong, and what the fix must do. If it cannot be re-engaged, apply the patches yourself. Then re-run the commands in `{spec_file}`'s `## Verification` section (or perform its manual checks); if verification fails and the failure cannot be fixed, HALT with status `blocked` and blocking condition `patch verification failed`. Append the triage-log entry for this pass, listing every patch fixed in this pass under `addressed_findings`.
63
- - **defer** — Append one new entry to `{{.implementation_artifacts}}/deferred-work.md` using this format. Do not modify existing entries or look for duplicates.
64
- ```markdown
65
- - source_spec: `{spec_file}`
66
- summary: <one sentence>
67
- evidence: <why this is real>
63
+ - **defer** — Update the single `deferred` list in `{spec_file}` frontmatter. If the field is absent (including on specs created before this field existed), add it once as an empty list. If it is `deferred: []`, replace that empty value when adding the first item; otherwise append to the existing list. Preserve every existing item, do not look for duplicates, and never add a second `deferred:` key. Serialize free-form values as YAML block scalars so characters such as `:`, `#`, quotes, and line breaks remain data. Each item uses this shape:
64
+ ```yaml
65
+ deferred:
66
+ - summary: >-
67
+ <one sentence>
68
+ evidence: |-
69
+ <why this is real>
70
+ location: >- # optional — file:line or component
71
+ src/foo.py:42
72
+ severity: medium # optional — high | medium | low
68
73
  ```
74
+ After all appends, parse the complete frontmatter as YAML and verify that `deferred` is one list containing every prior item plus the new items with their intended text. Repair serialization errors before continuing.
69
75
  - **reject** — Drop silently.
70
76
 
71
77
  ## Finalize
@@ -18,7 +18,7 @@ Verify `{spec_file}` resolves to a non-empty path and the file exists on disk. I
18
18
 
19
19
  ### Baseline
20
20
 
21
- Capture `baseline_commit` (current HEAD, or `NO_VCS` if version control is unavailable) into `{spec_file}` frontmatter before making any changes.
21
+ Capture `baseline_commit` (current HEAD, or `NO_VCS` if version control is unavailable) into `{spec_file}` frontmatter before making any changes. If the frontmatter already contains `baseline_commit` (resumed run), preserve the existing value — never overwrite it.
22
22
 
23
23
  ### Implement
24
24
 
@@ -149,7 +149,7 @@ Amelia (Developer): "I'm having trouble detecting the completed epic from {sprin
149
149
  <action>PRIORITY 3: Fallback to stories folder</action>
150
150
 
151
151
  <action>Scan {implementation_artifacts} for highest numbered story files</action>
152
- <action>Extract epic numbers from story filenames (pattern: epic-X-Y-story-name.md)</action>
152
+ <action>Extract epic numbers from story filenames (patterns: epic-X-Y-story-name.md and spec-X-Y-story-name.md)</action>
153
153
  <action>Set {{detected_epic}} = highest epic number found</action>
154
154
 
155
155
  <output>
@@ -238,13 +238,13 @@ Amelia (Developer): "Before we start the team discussion, let me review all the
238
238
  Charlie (Senior Dev): "Good idea - those dev notes always have gold in them."
239
239
  </output>
240
240
 
241
- <action>For each story in epic {{epic_number}}, read the complete story file from {implementation_artifacts}/{{epic_number}}-{{story_num}}-*.md</action>
241
+ <action>For each story in epic {{epic_number}}, read the complete story record from {implementation_artifacts}/{{epic_number}}-{{story_num}}-*.md (legacy story files) and {implementation_artifacts}/spec-{{epic_number}}-{{story_num}}-*.md (quick-dev specs)</action>
242
242
 
243
243
  <action>Extract and analyze from each story:</action>
244
244
 
245
245
  **Dev Notes and Struggles:**
246
246
 
247
- - Look for sections like "## Dev Notes", "## Implementation Notes", "## Challenges", "## Development Log"
247
+ - Look for sections like "## Dev Notes", "## Implementation Notes", "## Challenges", "## Development Log" — in quick-dev specs: "## Tasks & Acceptance", "## Code Map", "## Design Notes", "## Spec Change Log"
248
248
  - Identify where developers struggled or made mistakes
249
249
  - Note unexpected complexity or gotchas discovered
250
250
  - Record technical decisions that didn't work out as planned
@@ -1480,7 +1480,7 @@ Retrospective document was saved successfully, but {sprint_status_file} may need
1480
1480
  {{else}}
1481
1481
 
1482
1482
  4. **Begin Epic {{next_epic_num}} when ready**
1483
- - Start creating stories with Developer agent's `create-story`
1483
+ - Start the next epic's stories with Developer agent's `quick-dev`
1484
1484
  - Epic will be marked as `in-progress` automatically when first story is created
1485
1485
  - Ensure all critical path items are done first
1486
1486
  {{/if}}
@@ -181,7 +181,7 @@ development_status:
181
181
  # - done: All stories in epic completed
182
182
  #
183
183
  # Epic Status Transitions:
184
- # - backlog → in-progress: Automatically when first story is created (via create-story)
184
+ # - backlog → in-progress: Automatically when first story starts (via quick-dev's sprint sync)
185
185
  # - in-progress → done: Manually when all stories reach 'done' status
186
186
  #
187
187
  # Story Status:
@@ -202,7 +202,7 @@ development_status:
202
202
  #
203
203
  # WORKFLOW NOTES:
204
204
  # ===============
205
- # - Epic transitions to 'in-progress' automatically when first story is created
205
+ # - Epic transitions to 'in-progress' automatically when first story starts (via quick-dev's sprint sync)
206
206
  # - Stories can be worked in parallel if team capacity allows
207
207
  # - Developer typically creates next story after previous one is 'done' to incorporate learnings
208
208
  # - Dev moves story to 'review', then runs code-review (fresh context, different LLM recommended)
@@ -152,7 +152,7 @@ Enter corrections (e.g., "1=in-progress, 2=backlog") or "skip" to continue witho
152
152
 
153
153
  - IF any story has status "review": suggest `/bmad:bmm:workflows:code-review`
154
154
  - IF any story has status "in-progress" AND no stories have status "ready-for-dev": recommend staying focused on active story
155
- - IF all epics have status "backlog" AND no stories have status "ready-for-dev": prompt `/bmad:bmm:workflows:create-story`
155
+ - IF all epics have status "backlog" AND no stories have status "ready-for-dev": recommend `bmad-quick-dev` to start the first backlog story
156
156
  - IF `last_updated` timestamp is more than 7 days old (or `last_updated` is missing, fall back to `generated`): warn "sprint-status.yaml may be stale"
157
157
  - IF any story key doesn't match an epic pattern (e.g., story "5-1-..." but no "epic-5"): warn "orphaned story detected"
158
158
  - IF any epic has status in-progress but has no associated stories: warn "in-progress epic has no stories"
@@ -161,10 +161,10 @@ Enter corrections (e.g., "1=in-progress, 2=backlog") or "skip" to continue witho
161
161
  <step n="3" goal="Select next action recommendation">
162
162
  <action>Pick the next recommended workflow using priority:</action>
163
163
  <note>When selecting "first" story: sort by epic number, then story number (e.g., 1-1 before 1-2 before 2-1)</note>
164
- 1. If any story status == in-progress → recommend `dev-story` for the first in-progress story
164
+ 1. If any story status == in-progress → recommend `quick-dev` to resume the first in-progress story
165
165
  2. Else if any story status == review → recommend `code-review` for the first review story
166
- 3. Else if any story status == ready-for-dev → recommend `dev-story`
167
- 4. Else if any story status == backlog → recommend `create-story`
166
+ 3. Else if any story status == ready-for-dev → recommend `quick-dev` to start work on the first ready-for-dev story
167
+ 4. Else if any story status == backlog → recommend `quick-dev` to start the first backlog story
168
168
  5. Else if any retrospective status == optional → recommend `retrospective`
169
169
  6. Else → All implementation items done; congratulate the user - you both did amazing work together!
170
170
  <action>Store selected recommendation as: next_story_id, next_workflow_id, next_agent (DEV)</action>
@@ -2,7 +2,7 @@ module,skill,display-name,menu-code,description,action,args,phase,preceded-by,fo
2
2
  BMad Method,_meta,,,,,,,,,false,https://docs.bmad-method.org/llms.txt,
3
3
  BMad Method,bmad-document-project,Document Project,DP,Analyze an existing project to produce useful documentation.,,,anytime,,,false,project-knowledge,*
4
4
  BMad Method,bmad-generate-project-context,Generate Project Context,GPC,Scan existing codebase to generate a lean LLM-optimized project-context.md. Essential for brownfield projects.,,,anytime,,,false,output_folder,project context
5
- BMad Method,bmad-quick-dev,Quick Dev,QQ,Unified intent-in code-out workflow: clarify plan implement review and present.,,,anytime,,,false,implementation_artifacts,spec and project implementation
5
+ BMad Method,bmad-quick-dev,Quick Dev,QQ,Official Phase 4 implementation loop: clarify intent plan implement review and present.,,,4-implementation,bmad-sprint-planning,bmad-code-review,true,implementation_artifacts,spec and project implementation
6
6
  BMad Method,bmad-spec,Spec,SPC,"Use to distill any intent input (brief, PRD, transcript, brain dump, design folder, mixed multi-source) into a succinct, no-fluff SPEC.md contract + companions that downstream work derives from. Locks the WHAT before the HOW. Works for software, game design, research, editorial, policy, business, anything intent-bearing. Validation mode also available.",,[path],anytime,,,false,{output_folder}/specs/spec-{slug},SPEC.md + companion files
7
7
  BMad Method,bmad-correct-course,Correct Course,CC,Navigate significant changes. May recommend start over update PRD redo architecture sprint planning or correct epics and stories.,,,anytime,,,false,planning_artifacts,change proposal
8
8
  BMad Method,bmad-agent-tech-writer,Write Document,WD,"Describe in detail what you want, and the agent will follow documentation best practices. Multi-turn conversation with subprocess for research/review.",write,,anytime,,,false,project-knowledge,document
@@ -20,10 +20,7 @@ BMad Method,bmad-create-epics-and-stories,Create Epics and Stories,CE,,,,3-solut
20
20
  BMad Method,bmad-check-implementation-readiness,Check Implementation Readiness,IR,Ensure PRD UX Architecture and Epics Stories are aligned.,,,3-solutioning,bmad-create-epics-and-stories,,true,planning_artifacts,readiness report
21
21
  BMad Method,bmad-sprint-planning,Sprint Planning,SP,Kicks off implementation by producing a plan the implementation agents will follow in sequence for every story.,,,4-implementation,,,true,implementation_artifacts,sprint status
22
22
  BMad Method,bmad-sprint-status,Sprint Status,SS,Anytime: Summarize sprint status and route to next workflow.,,,4-implementation,bmad-sprint-planning,,false,,
23
- BMad Method,bmad-create-story,Create Story,CS,Story cycle start: Prepare first found story in the sprint plan that is next or a specific epic/story designation.,create,,4-implementation,bmad-sprint-planning,bmad-create-story:validate,true,implementation_artifacts,story
24
- BMad Method,bmad-create-story,Validate Story,VS,Validates story readiness and completeness before development work begins.,validate,,4-implementation,bmad-create-story:create,bmad-dev-story,false,implementation_artifacts,story validation report
25
- BMad Method,bmad-dev-story,Dev Story,DS,Story cycle: Execute story implementation tasks and tests then CR then back to DS if fixes needed.,,,4-implementation,bmad-create-story:validate,,true,,
26
- BMad Method,bmad-code-review,Code Review,CR,Story cycle: If issues back to DS if approved then next CS or ER if epic complete.,,,4-implementation,bmad-dev-story,,false,,
23
+ BMad Method,bmad-code-review,Code Review,CR,Ad hoc review of any code change. Optional extra layer after Quick Dev's built-in review.,,,4-implementation,bmad-quick-dev,,false,,
27
24
  BMad Method,bmad-checkpoint-preview,Checkpoint,CK,Guided walkthrough of a change from purpose and context into details. Use for human review of commits branches or PRs.,,,4-implementation,,,false,,
28
- BMad Method,bmad-qa-generate-e2e-tests,QA Automation Test,QA,Generate automated API and E2E tests for implemented code. NOT for code review or story validation — use CR for that.,,,4-implementation,bmad-dev-story,,false,implementation_artifacts,test suite
25
+ BMad Method,bmad-qa-generate-e2e-tests,QA Automation Test,QA,Generate automated API and E2E tests for implemented code. NOT for code review or story validation — use CR for that.,,,4-implementation,bmad-quick-dev,,false,implementation_artifacts,test suite
29
26
  BMad Method,bmad-retrospective,Retrospective,ER,Optional at epic end: Review completed work lessons learned and next epic or if major issues consider CC.,,,4-implementation,bmad-code-review,,false,implementation_artifacts,retrospective