Skip to content

chore: sync upstream BMAD-METHOD v6.6.0 → v6.10.0 (plugin v6.10.0.0) - #4

Merged
tgorka merged 6 commits into
mainfrom
chore/sync-upstream-v6.10.0.0
Jul 4, 2026
Merged

chore: sync upstream BMAD-METHOD v6.6.0 → v6.10.0 (plugin v6.10.0.0)#4
tgorka merged 6 commits into
mainfrom
chore/sync-upstream-v6.10.0.0

Conversation

@tgorka

@tgorka tgorka commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Summary

Updates the plugin to upstream BMAD-METHOD v6.10.0 (through v6.7 → v6.10), publishing only the new skill surface — no backwards-compatibility artifacts — and adds a working-repo initializer (/bmad:init).

Upstream sync (102 → 103 skills: 42 BMM + 11 TEA + 4 BMB + 10 CIS + 33 GDS + 3 Loop)

Module Before After
BMAD-METHOD (core) v6.6.0 v6.10.0
TEA v1.17.0 v1.19.0
BMB v1.7.0 v2.1.0
CIS v0.2.0 v0.2.1
GDS v0.4.0 v0.6.0
  • New skills: bmad-prd, bmad-architecture, bmad-ux (intent-based create/update/validate), bmad-spec, bmad-forge-idea, bmad-dev-auto, bmad-eval-runner, gds-gdd/gds-prd/gds-ux, gds-investigate
  • Retired upstream (absent from the regenerated tree): bmad-distillator, bmad-create-ux-design, the GDS create/edit/validate trios
  • Pruned, not shipped: upstream still ships 4 deprecated forwarder shims (bmad-create-prd, bmad-edit-prd, bmad-validate-prd, bmad-create-architecture, slated for removal in v7). The sync now prunes anything whose frontmatter description starts with DEPRECATED, and strips their rows from the runtime manifests.

/bmad:init — working-repo initializer

Skills resolve per-project files from {project-root}/_bmad/ (module config, shared memlog.py / resolve_customization.py scripts — mandatory since v6.9 — and help catalogs) that the immutable plugin cannot provide. New:

  • plugins/bmad/runtime/_bmad/ — installer runtime tree captured at sync time (project name templatized, shim rows stripped, nested .gitignore stored as dot.gitignore so template files aren't excluded from this repo/marketplace clones)
  • plugins/bmad/scripts/init.sh — idempotent (fills missing files only, never overwrites; --dry-run supported); creates _bmad/, _bmad-output/*, docs/, skills/*-artifacts
  • plugins/bmad/commands/init.md/bmad:init slash command

Tooling / QA

  • biome now excludes plugins/bmad/skills/ + runtime/ entirely (v6.10 ships lintable assets biome would reformat, breaking the byte-for-byte mirror)
  • bun run validate additionally enforces the no-deprecated-shims invariant and runtime/init assets
  • New unit tests (tests/plugin-tree.test.ts, tests/init-script.test.ts) wired into CI via test:unit; e2e smoke pool updated to the new skill names
  • Docs refreshed: README (Step 3 init, divergence policy), CHANGELOG 6.10.0.0 with upstream breaking-change matrix, AGENTS.md pipeline steps, docs/bmad-ecosystem.md, docs/manual-testing.md, plugins/bmad/README.md (was still listing the pre-v6.3 agent roster)

Test plan

  • bun run typecheck / bun run lint / bun run validate — clean
  • bun run test:unit — 11/11 pass
  • plugins/bmad/skills/ verified byte-for-byte identical to installer output (minus the 4 pruned shims)
  • Real-session smoke: claude --plugin-dir … -p '/bmad:bmad-help' loads the catalog and recommends /bmad:init
  • Real-session /bmad:init in an empty dir: full _bmad/ structure created, project_name substituted; re-run reports 0 created

🤖 Generated with Claude Code

tgorka and others added 6 commits July 4, 2026 02:28
- pruneDeprecatedSkills(): drop any skill whose frontmatter description
  starts with DEPRECATED — the plugin ships only the current surface,
  no backwards-compatibility forwarders
- captureRuntimeTemplate(): copy the installer's _bmad/ runtime tree
  into plugins/bmad/runtime/_bmad/, templatize the project name as
  __BMAD_PROJECT_NAME__, strip pruned-shim rows from _config/*.csv,
  and store nested .gitignore files as dot.gitignore (a real one would
  exclude sibling template files from this repo's git tree)
- plugins/bmad/runtime/ joins the wipe-and-regenerate cycle
- validate: no-deprecated-shims invariant + runtime/init asset checks
- bump-utils: no spurious version-not-found warnings on idempotent
  re-sync; sync summary recounts files after pruning
- biome: exclude plugins/bmad/skills/ and plugins/bmad/runtime/
  entirely (upstream v6.10 ships lintable assets biome would reformat,
  breaking the byte-for-byte mirror)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Skills resolve per-project files from {project-root}/_bmad/ (module
config, shared scripts like memlog.py / resolve_customization.py —
mandatory since upstream v6.9's canonical memlog) and write artifacts
to configured output folders. The immutable plugin cannot provide
those files, so:

- plugins/bmad/scripts/init.sh: idempotent initializer — fills in
  missing _bmad/ files from the runtime template (never overwrites),
  substitutes the real project name, restores dot.gitignore →
  .gitignore, creates default output folders (_bmad-output/*, docs/,
  skills/*-artifacts). Supports --dry-run and a target-dir argument.
- plugins/bmad/commands/init.md: /bmad:init slash command wrapping
  the script via ${CLAUDE_PLUGIN_ROOT}
- plugin.json: declare the commands directory

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Regenerated plugins/bmad/skills/ from npx bmad-method@6.10.0 install
--tools claude-code. Module bumps: TEA v1.17.0 → v1.19.0, BMB v1.7.0 →
v2.1.0, CIS v0.2.0 → v0.2.1, GDS v0.4.0 → v0.6.0.

Skill count 102 → 100 (42 BMM + 11 TEA + 4 BMB + 10 CIS + 33 GDS):

- new: bmad-prd, bmad-architecture, bmad-ux, bmad-spec,
  bmad-forge-idea, bmad-dev-auto, bmad-eval-runner, gds-gdd, gds-prd,
  gds-ux, gds-investigate
- retired upstream: bmad-distillator, bmad-create-ux-design, the GDS
  create/edit/validate trios (consolidated into intent-based skills)
- pruned deprecated shims (not shipped): bmad-create-prd,
  bmad-edit-prd, bmad-validate-prd, bmad-create-architecture

Also captures the installer's _bmad/ runtime tree as
plugins/bmad/runtime/_bmad/ (40 files) for /bmad:init, and adds the
test:unit script to package.json alongside the version bump.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- tests/plugin-tree.test.ts: no deprecated shims survive, retired
  skills absent, v6.7–v6.10 surface present, runtime template
  complete and templatized, manifest hygiene, plugin manifest wiring
- tests/init-script.test.ts: full structure creation, project-name
  substitution, idempotency (never overwrites), --dry-run
- e2e smoke pool: bmad-create-prd → bmad-prd, bmad-create-architecture
  → bmad-architecture; added bmad-spec and bmad-forge-idea
- CI: run bun run validate and bun run test:unit (e2e still needs the
  claude CLI and stays manual)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- README: 100-skill breakdown, intent-based planning skills, Step 3
  /bmad:init walkthrough, documented divergences from raw installer
  output (shim pruning + runtime template), refreshed comparison table
- CHANGELOG: 6.10.0.0 entry with upstream breaking-change matrix
  (v6.7 → v6.10)
- AGENTS.md: sync pipeline steps (prune + runtime capture), test:unit,
  never-hand-edit warning for generated trees
- docs/bmad-ecosystem.md: v6.10.0.0 module inventory (21 personas /
  100 skills), removed references to the deleted pre-6.5 sync layer
- docs/manual-testing.md: rewritten for the current skill surface and
  /bmad:init (was describing the pre-v6.5 instructions.md layout)
- docs/versioning.md: patch counter starts at .0 (matches practice)
- plugins/bmad/README.md: rewritten — still listed the pre-v6.3 agent
  roster (bmad-master, sm, quick-flow-solo-dev) and retired skills

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bmad-loop (upstream v6.10's successor to bmad-automator) is a Python
orchestrator tool, not an npx-installer module — its Claude Code
skills ship inside its own repo under src/bmad_loop/data/skills/
(BMAD module code bmad-loop). Skill count 100 → 103.

- sync: new syncLoopSkills() step clones bmad-code-org/bmad-loop at
  the tag pinned in .upstream-versions/loop.json (--loop-tag to
  override) and copies bmad-loop-{setup,resolve,sweep} into the
  plugin skill tree; loop skills go through the same deprecation
  prune as installer output
- upstream-sources: 'loop' registered → version validation, README
  version table and badge row generated automatically
- sync-upstream.yml: check-loop job watches bmad-loop releases weekly
- tests: bmad-loop-* skills added to the expected current surface
- docs: README (6 modules / 103 skills, third divergence note),
  CHANGELOG, AGENTS.md sync steps, bmad-ecosystem inventory, plugin
  README (bmad-loop-setup quick start)

The orchestrator tool itself is installed per-project by
/bmad:bmad-loop-setup (uv tool install from the bmad-loop repo);
core's bmad-dev-auto remains the inner dev primitive it drives.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tgorka

tgorka commented Jul 4, 2026

Copy link
Copy Markdown
Owner Author

Added the bmad-loop skill module (6539765) per follow-up request:

  • New sixth upstream source: bmad-code-org/bmad-loop @ v0.8.0 (pinned in .upstream-versions/loop.json, --loop-tag to override). bmad-loop is a Python orchestrator tool, not an npx-installer module — sync clones its repo and copies the bundled bmad-loop-{setup,resolve,sweep} skills. Skill count 100 → 103.
  • /bmad:bmad-loop-setup installs/upgrades the orchestrator tool itself (uv tool install) and registers _bmad/ config + help; bmad-loop-resolve handles CRITICAL-escalation resolution; bmad-loop-sweep is the automation-only deferred-work triage.
  • Weekly release watcher gained a check-loop job; README version table + badges gained a Loop row (auto-generated).
  • All gates green: typecheck, lint, validate, 11/11 unit tests, and a real-session smoke check confirming the loop skills register.

🤖 Generated with Claude Code

@tgorka
tgorka merged commit d6b2866 into main Jul 4, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant