BMAD-METHOD/.github
pbean a0fba4b824 fix(bmad-module): make skill self-contained so it works after npx install
The skill is copied into _bmad/core/skills/bmad-module/ by the installer,
which strips node_modules, ships no package.json under the skill, and never
runs npm install there. Bare `import 'yaml'`/`import 'semver'` therefore
crashed at module load (ERR_MODULE_NOT_FOUND, exit 1) before any structured
exit code could fire. Every other installed script is zero-third-party-dep.

- Vendor the real yaml@2.8.4 as a deterministic esbuild single-file bundle
  (scripts/lib/vendor/yaml.mjs), imported by relative path. Guarantees
  byte-identical manifest.yaml round-trips with BMAD core's writer, which uses
  the same library + options (tools/installer/core/manifest.js).
- Drop semver for a node:-only semver-lite.mjs (valid/validRange),
  parity-tested against the real semver across 469 cases (400 fuzzed).
- Fix a third bare yaml import that the original report missed (frontmatter.mjs).
- Make bmad-module.mjs a zero-import launcher that maps any load failure to a
  new documented EXIT.TOOLING (5) with reinstall guidance instead of leaking a
  raw ESM stack trace; the verb dispatcher moves to cli.mjs.
- Enforce vendor freshness so a yaml/esbuild bump can't ship a stale bundle:
  build-vendor.mjs --check is wired into npm test (pre-commit), npm run quality,
  and the quality.yaml CI validate job. Adds vendor:build / vendor:check scripts.
- Ignore the generated vendor/ dir in eslint + prettier; document the rationale
  in SKILL.md, README.md, and vendor/README.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 17:29:46 -07:00
..
ISSUE_TEMPLATE fix: correct docs domain to docs.bmad-method.org (#1777) 2026-02-27 13:03:16 -06:00
scripts chore(discord): suppress link embeds and handle truncated URLs (#1126) 2025-12-15 07:19:44 +08:00
workflows fix(bmad-module): make skill self-contained so it works after npx install 2026-05-23 17:29:46 -07:00
CODE_OF_CONDUCT.md moved code of conduct to github folder, readme links to it 2025-12-07 14:55:44 -06:00
FUNDING.yaml feat: v6.0.0-alpha.0 - the future is now 2025-09-28 23:17:07 -05:00
PULL_REQUEST_TEMPLATE.md docs: add pull request template (#1554) 2026-02-06 07:29:19 -06:00