bmad-bmb-setup
Module Setup
Overview
Installs and configures a BMad module into a project. Module identity (name, code, version) comes from ./assets/module.yaml. Collects user preferences and writes them to three files:
{project-root}/_bmad/config.yaml— shared project config: core settings at root (e.g.output_folder,document_output_language) plus a section per module with metadata and module-specific values. User-only keys (user_name,communication_language) are never written here.{project-root}/_bmad/config.user.yaml— personal settings intended to be gitignored:user_name,communication_language, and any module variable markeduser_setting: truein./assets/module.yaml. These values live exclusively here.{project-root}/_bmad/module-help.csv— registers module capabilities for the help system.
Both config scripts use an anti-zombie pattern — existing entries for this module are removed before writing fresh ones, so stale values never persist.
{project-root} is a literal token in config values (the data written into the files above) — never substitute it there. It signals to the consuming LLM that the value is relative to the project root, not the skill root. This does not apply to filesystem path arguments passed to the scripts below (--target, --config-path, --user-config-path, --legacy-dir, --bmad-dir, --skills-dir): those are real paths, so you must resolve {project-root} to the actual project root before running, or the scripts will write to a literal {project-root}/ directory under the skill folder. The scripts reject an unresolved token with an error.