github bmad-code-org/bmad-builder v2.2.0
BMad Builder v2.2.0

3 hours ago

🐛 Fixes

  • uv run conversion finished across the remaining skills — v2.1.0 claimed uv run was standardized across builder scripts, but #98 reached only bmad-agent-builder and bmad-workflow-builder. bmad-bmb-setup, bmad-module-builder, and bmad-eval-runner were missed. This converts the remaining 57 invocations across skills/, samples/, and docs/how-to/. It matters beyond consistency: a bare python3 is not guaranteed to be 3.11+, which BMad's shared resolve_customization.py requires for tomllib, and uv run reads a script's own requires-python and provisions a matching interpreter (#105).

  • Emitted templates no longer pass the defect on — five of the fixes are in assets/setup-skill-template/ and assets/standalone-module-template/, so every module scaffolded by bmad-module-builder stops inheriting bare-python3 invocations. This also closes a visible seam: init-sanctum-template.py had been converted in #98, but the three samples/*/scripts/init-sanctum.py copies generated from it still said python3 (#105).

  • pytest docstrings call uv run --with pytest -m pytest — the eval-runner and workflow-builder test files carry no PEP 723 block, so uv run -m pytest alone has nothing to resolve pytest from. Matches the convention in BMAD-METHOD (#105).

  • README Python badge corrected to >=3.11 — it advertised >=3.10, a floor that cannot run the shared resolver (#105).

🔧 Maintenance

  • Marketplace plugin versions synced to 2.2.0 — nothing in the release workflow touches .claude-plugin/marketplace.json, so its versions drift from package.json unless bumped by hand.

Notes

  • Deliberately unconverted: the two anti-pattern cells in docs/explanation/ (scripts-in-skills.md, labelled Fragile, and skill-authoring-best-practices.md, labelled "do not modify") — they teach what not to do; the "runs under a bare python3" prose in count_tokens.py and prepass.py, which describes a script's lack of third-party dependencies rather than invoking anything; and the per-script requires-python floors, which are correct as written.

Don't miss a new bmad-builder release

NewReleases is sending notifications on new releases.