BMAD-METHOD/.github
Alex Verkhovsky 513f440a23
refactor(installer): restructure installer with clean separation of concerns (#2129)
* refactor(installer): restructure installer with clean separation of concerns

Move tools/cli/ to tools/installer/ with major structural cleanup:

- InstallPaths async factory for path resolution and directory creation
- Config value object (frozen) replaces mutable config bag
- ExistingInstall value object replaces stateful Detector class
- OfficialModules + CustomModules + ExternalModuleManager replace monolithic ModuleManager
- install() is prompt-free; all user interaction in ui.js
- Update state returned explicitly instead of mutating customConfig
- Delete dead code: dependency-resolver, _base-ide, IdeConfigManager,
  platform-codes helpers, npx wrapper, xml-utils
- Flatten directory structure: custom/handler → custom-handler,
  tools/cli/ → tools/installer/, lib/ directories removed
- Update all path references in package.json, tests, CI, and docs

* fix(installer): guard ExistingInstall.version and surface module.yaml errors

Guard ExistingInstall.version access with .installed check in
uninstall.js, ui.js, and installer.js to prevent throwing on
empty/partial _bmad dirs. Surface invalid module.yaml parse errors
as warnings instead of silently returning empty results.
2026-03-27 06:50:07 -06: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 refactor(installer): restructure installer with clean separation of concerns (#2129) 2026-03-27 06:50:07 -06: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