Files
BMAD-METHOD/bmad-modules.yaml
T
Brian Madison ce6d55c5fc fix(installer): submit the path shown and retire WDS from the picker
Directory prompt

The installation-directory prompt was a clack AutocompletePrompt whose
render() drew only the text line. The candidate list existed but was never
shown, and Enter returns the focused option rather than the typed text.
Focus was sticky: it only reset when the previously focused value left the
list, so a subdirectory selected while narrowing survived deleting back to
the parent. Typing /path/to/workspace could install to
/path/to/workspace/some-child with no sign of it on screen.

Rebuilt on TextPrompt so the input line is the value:

- the candidate list is visible, windowed, with an active-row marker
- arrow keys and Tab write the highlighted candidate onto the input line
- the list is frozen against the last typed text while browsing, so arrows
  walk siblings instead of descending (this also unsticks Tab cycling)
- index -1 is the typed text, so backing out of the list restores it
- Tab completes to real directories only, skipping "Create/use:" entries
- directory() takes optional input/output streams so it is testable

Module registry

- WDS is marked deprecated: hidden from the picker unless already
  installed, shown with a notice when it is, never removed and still
  resolvable from its source so existing installs keep updating
- deprecation notices now reach the CLI paths (--modules, --yes) and
  quick-update, which never render the picker's option hints
- picker order is now bmm, bmb, cis, tea, bmad-loop, gds
- the core row is hidden; it was a locked always-on checkbox. core is
  still added to the result, and the picker no longer requires a
  selection so a core-only install stays possible
2026-08-03 01:01:41 -05:00

134 lines
5.8 KiB
YAML

# Official module registry — the single source of truth for which modules
# the BMad installer offers and how they are displayed.
#
# Order here determines display order in the installer picker (after the
# built-in core and bmm entries, which are loaded from local module.yaml).
#
# default_channel (optional) — the install channel when the user does not
# override with --channel/--pin/--next. Valid values: stable | next.
# Omit to inherit the installer's hardcoded default (stable).
#
# deprecated (optional, default false) — when true, the module is hidden from
# the installer picker UNLESS it is already installed (so existing users can
# still see/manage it, but new users are not offered it).
# deprecation-message (optional) — surfaced in the picker hint for a deprecated
# module that is still installed; use it to point users to the replacement.
#
# marketplace-plugin (optional, default false) — when true, the module's
# installable skills are resolved from its .claude-plugin/marketplace.json via
# the plugin resolver (instead of copying the single module-definition dir).
# Use this for modules whose module.yaml does not sit alongside the skill
# folders. module-definition should still point at the real module.yaml so
# config/version lookups work.
#
# post-install-message (optional) — an "action needed" notice shown to the user
# after install completes, once for each install run that includes the module.
# Interactive installs require the user to acknowledge it (press Enter);
# non-interactive (--yes) installs print it and continue. Use for required
# follow-up steps (e.g. "run the X setup skill").
#
# aliases (optional) — prior `code` values this module was registered under.
# An existing install recorded under an alias resolves to this entry (source,
# name, description, post-install message) instead of being orphaned as
# "no source available" when the code changes. quick-update also migrates the
# install to the new code and removes the stale `_bmad/<alias>/` directory.
modules:
bmad-builder:
url: https://github.com/bmad-code-org/bmad-builder
module-definition: skills/module.yaml
code: bmb
name: "BMad Builder"
description: "Build AI agents, workflows, and modules from a conversation"
defaultSelected: false
type: bmad-org
npmPackage: bmad-builder
default_channel: stable
bmad-creative-intelligence-suite:
url: https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite
module-definition: src/module.yaml
code: cis
name: "BMad Creative Intelligence Suite"
description: "Brainstorming, ideation, storytelling, design thinking, and problem-solving"
defaultSelected: false
type: bmad-org
npmPackage: bmad-creative-intelligence-suite
default_channel: stable
bmad-method-test-architecture-enterprise:
url: https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise
module-definition: src/module.yaml
code: tea
name: "BMad Test Architect"
description: "Quality strategy, test automation, and release gates for enterprise teams"
defaultSelected: false
type: bmad-org
npmPackage: bmad-method-test-architecture-enterprise
default_channel: stable
bmad-loop:
url: https://github.com/bmad-code-org/bmad-loop
module-definition: src/bmad_loop/data/skills/bmad-loop-setup/assets/module.yaml
code: bmad-loop
# bauto is the pre-rename code (module was bmad-auto before both the repo
# and its contents were renamed to bmad-loop); keeps existing bauto
# installs migrating forward instead of being orphaned.
aliases: [bauto]
name: "BMad Loop"
description: "Deterministic, Python-based unattended dev loop with adversarial review"
defaultSelected: false
type: bmad-org
default_channel: stable
# Skills live outside a single module.yaml dir; resolve them from
# .claude-plugin/marketplace.json via the plugin resolver (see external-manager).
marketplace-plugin: true
post-install-message: |
BMad Loop installed. To finish setup, run the bmad-loop-setup skill
from your agent:
> use the bmad-loop-setup skill
It installs the bmad-loop orchestrator tool and wires up the per-project
hooks and policy. The automation skills don't run until setup completes.
bmad-game-dev-studio:
url: https://github.com/bmad-code-org/bmad-module-game-dev-studio.git
module-definition: src/module.yaml
code: gds
name: "BMad Game Dev Studio"
description: "Game design and development for Unity, Unreal, Godot, and Phaser."
defaultSelected: false
type: bmad-org
npmPackage: bmad-game-dev-studio
default_channel: stable
# --- Deprecated: hidden from the picker unless already installed ---
bmad-automator:
url: https://github.com/bmad-code-org/bmad-automator
module-definition: skills/module.yaml
code: automator
name: "BMad Automator Epic Builder Experimental"
description: "EXPERIMENTAL: only supports claude and codex currently"
defaultSelected: false
type: experimental
npmPackage: bmad-story-automator
default_channel: next
deprecated: true
deprecation-message: "BMad Automator has been deprecated and is replaced by BMad Loop (bmad-loop). Install BMad Loop instead."
bmad-method-wds-expansion:
url: https://github.com/bmad-code-org/bmad-method-wds-expansion
module-definition: src/module.yaml
code: wds
plugin_name: bmad-wds # WDS marketplace.json declares the plugin under this name
name: "Whiteport Design Studio"
description: "Strategic UX and Design first planning methodology"
defaultSelected: false
type: bmad-org
npmPackage: bmad-wds
default_channel: stable
deprecated: true
deprecation-message: "Whiteport Design Studio is no longer receiving updates. Its capabilities are being folded into BMad Method (bmm) as enhanced UX features. Your existing install is kept as-is."