BMAD-METHOD/docs
Brian 7ee5fa313b
fix(installer): require --tools for fresh --yes installs; remove --tools none (#2346)
* fix(installer): require --tools for fresh --yes installs; remove --tools none (closes #2326)

Fresh non-interactive installs without --tools previously produced a
config-only install (~35 files vs ~1400 in the manifest) with no warning
and a "BMAD is ready to use" success card, leaving slash commands
unreachable. --tools none was an explicit opt-in for the same broken
state.

Now: fresh install + -y without --tools throws a helpful error pointing
at --list-tools. --tools none is rejected as an unknown ID. Empty and
typo'd tool IDs are also rejected. Existing-install paths (--action
update, quick-update, modify) are unchanged - they continue to reuse
previously-configured tools when --tools is omitted.

Adds --list-tools flag that prints all 42 supported tool IDs (id, name,
target_dir, preferred star) sourced from platform-codes.yaml.

English docs updated; localized docs (vi-vn, fr, cs, etc.) will sync via
the normal translation pass.

* fix(installer): address review for #2326 — single source of truth, drop dead code, add tests

- Refactor formatPlatformList to use IdeManager so --list-tools and --tools
  validation see the same set of platforms. Eliminates the drift where suspended
  platforms appeared in --list-tools but were rejected at validation.
- Drop unused getValidPlatformIds export.
- Flatten redundant block scope around the throw in the --yes-without-tools
  branch (refactor leftover).
- Drop dead String() defensive cast (Commander always passes a string).
- Add Test Suite 42: 8 unit tests covering _parseToolsFlag empty/whitespace/
  unknown/typo cases plus an integration check that --list-tools output and
  --tools validation agree on the ID set.

* fix(installer): close --tools "" bypass and drop hardcoded tool count

- Replace truthy `if (options.tools)` guard with `!== undefined` in both
  upgrade and fresh-install branches. Empty string now reaches
  _parseToolsFlag and produces the specific "passed empty" error
  instead of falling through to a generic message (fresh-install) or
  being silently ignored (existing-install).
- Drop the hardcoded "42 supported tools" count from the prereqs in
  install-bmad.md so the doc doesn't drift as platform-codes.yaml
  changes.

Addresses augment / coderabbit review on #2346.
2026-04-27 23:01:23 -05:00
..
cs feat(installer): expand to 42 platforms with shared target_dir coordination (#2313) 2026-04-25 21:14:00 -05:00
explanation feat(core-skills): add bmad-customize — guided authoring for _bmad/custom overrides (#2289) 2026-04-20 22:14:54 -05:00
fr docs(fr): sync translations with upstream and fix sidebar ordering (#2231) 2026-04-09 20:58:43 -07:00
how-to fix(installer): require --tools for fresh --yes installs; remove --tools none (#2346) 2026-04-27 23:01:23 -05:00
reference fix(docs): update stale Analyst triggers and add PRFAQ link (#2238) 2026-04-09 22:18:08 -07:00
tutorials chore: remove SM agent (Bob) and migrate to Developer agent (#2186) 2026-04-02 12:25:24 -07:00
vi-vn Fix installer custom modules http (#2344) 2026-04-27 19:58:38 -05:00
zh-cn Fix installer custom modules http (#2344) 2026-04-27 19:58:38 -05:00
404.md fix(docs): comprehensive documentation site review fixes (#1578) 2026-02-08 11:58:22 -06:00
_STYLE_GUIDE.md chore: remove SM agent (Bob) and migrate to Developer agent (#2186) 2026-04-02 12:25:24 -07:00
index.md feat(skills): TOML-based agent and workflow customization (#2284) 2026-04-19 19:30:29 -05:00
roadmap.mdx feat(docs): add public roadmap and improve site navigation 2026-02-22 19:41:57 -06:00