BMAD-METHOD/tools/installer/modules
Brian Madison 14f9b8a851 feat(installer): interactive channel switch, upgrade refusal, unified docs
Builds on the channel-resolution foundation. The installer now lets users
flip a module between stable, next, and pinned after install — either
interactively via a "Review channel assignments?" gate, or by flag. Quick
and modify re-installs classify stable upgrades; under non-interactive
flows, patches and minors apply automatically but majors are refused with
a pointer to --pin.

Fallback behavior for GitHub rate-limit / network failures is now cache-
aware: re-installs reuse the recorded ref silently; fresh installs abort
with actionable guidance (set GITHUB_TOKEN or use --next/--pin). Bundled
modules (core, bmm) warn when targeted by --pin or --next so users aren't
left wondering why the flag had no effect.

Install summary labels no longer mangle "main" into "vmain"; next-channel
entries render as "main @ <short-sha>" instead. Bundled modules are now
correctly skipped from all channel prompts and tag-API lookups.

Docs consolidated into a single how-to. install-bmad.md now covers the
interactive flow, the channel model (stable/next/pinned plus the npm
dist-tag axis for core/bmm), the re-install upgrade prompts, the full
flag reference, copy-paste recipes, and troubleshooting. The old
non-interactive-installation.md is reduced to a redirect stub.
2026-04-23 20:51:30 -05:00
..
channel-plan.js feat(installer): interactive channel switch, upgrade refusal, unified docs 2026-04-23 20:51:30 -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): interactive channel switch, upgrade refusal, unified docs 2026-04-23 20:51:30 -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