BMAD-METHOD/tools/installer/modules
Brian Madison 65bba449a7 feat(installer): channel-based version resolution for external modules
Adds stable/next/pinned channel resolution so external/community modules
install at released git tags by default instead of tracking main HEAD.
Manifest now records channel, resolved version, and SHA per module for
reproducible installs.

CLI flags: --channel, --all-stable, --all-next, --next=CODE (repeatable),
--pin CODE=TAG (repeatable). Precedence: pin > next > channel > registry
default > stable. --yes accepts patch/minor upgrades but refuses majors.

Interactive "Ready to install (all stable)?" gate with a per-module
picker (stable/next/pin) when declined. Re-install prompts classify tag
diffs as patch/minor/major with semver-class-dependent defaults.
Legacy version:null manifests get a one-time migration prompt.

Custom modules gain an optional @<ref> URL suffix for pinning (https,
ssh, /tree/<ref>/subdir forms supported; local paths rejected).
Community modules honor --next/--pin overrides with a curator-bypass
warning; default path still enforces the approved SHA.

Quick-update now reads the manifest's recorded channel per module so
pinned installs don't silently roll forward.
2026-04-23 19:22:46 -05:00
..
channel-plan.js feat(installer): channel-based version resolution for external modules 2026-04-23 19:22:46 -05:00
channel-resolver.js feat(installer): channel-based version resolution for external modules 2026-04-23 19:22:46 -05:00
community-manager.js feat(installer): channel-based version resolution for external modules 2026-04-23 19:22:46 -05:00
custom-module-manager.js feat(installer): channel-based version resolution for external modules 2026-04-23 19:22:46 -05:00
external-manager.js feat(installer): channel-based version resolution for external modules 2026-04-23 19:22:46 -05:00
official-modules.js feat(installer): channel-based version resolution for external modules 2026-04-23 19:22:46 -05:00
plugin-resolver.js fix(installer): replace fs-extra with native node:fs to prevent file loss 2026-04-13 00:44:28 -05:00
registry-client.js feat(installer): use GitHub API as primary fetch with raw CDN fallback (#2248) 2026-04-18 08:53:23 -07:00
registry-fallback.yaml feat(installer): channel-based version resolution for external modules 2026-04-23 19:22:46 -05:00
version-resolver.js fix: bmad tea instal version (#2298) 2026-04-22 11:03:20 -05:00