BMAD-METHOD/docs/zh-cn/how-to
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
..
customize-bmad.md docs(zh-cn): refine story 2.5 and 2.6 how-to guides (#2097) 2026-03-23 19:20:03 -06:00
established-projects.md docs(zh-cn): refine established project guides (#2096) 2026-03-22 10:27:41 -06:00
get-answers-about-bmad.md docs(zh-cn): refine help and quick-fixes guides (#2095) 2026-03-22 10:06:58 -06:00
install-bmad.md docs(zh-cn): refine install and non-interactive guides (#2094) 2026-03-22 10:24:31 -06:00
non-interactive-installation.md refactor(installer): restructure installer with clean separation of concerns (#2129) 2026-03-27 06:50:07 -06:00
project-context.md docs(zh-cn): refine established project guides (#2096) 2026-03-22 10:27:41 -06:00
quick-fixes.md docs(zh-cn): refine help and quick-fixes guides (#2095) 2026-03-22 10:06:58 -06:00
shard-large-documents.md docs(zh-cn): refine story 2.5 and 2.6 how-to guides (#2097) 2026-03-23 19:20:03 -06:00
upgrade-to-v6.md docs(zh-cn): refine story 2.5 and 2.6 how-to guides (#2097) 2026-03-23 19:20:03 -06:00