用途:在项目中安装与配置 BMad Builder 模块,模块身份(名称、代码、版本)取自 ./assets/module.yaml。
主要能力:读取模块元数据并检查是否已存在该模块配置(判断是全新安装、更新还是旧版迁移);收集核心配置(user_name、communication_language、document_output_language、output_folder 等)与模块变量;将结果写入 {project-root}/_bmad/config.yaml(共享项目配置,按模块分节,不写 user_name、communication_language)、{project-root}/_bmad/config.user.yaml(个人设置,建议 gitignore)和 {project-root}/_bmad/module-help.csv(注册帮助条目)。两个写入脚本采用反僵尸模式,先删旧条目再写新值。
用法:激活后先读模块元数据并检测已有配置;如用户提供参数(接受默认、--headless 或内联值)则映射到配置键并跳过交互,但仍显示确认摘要。默认值优先级:现有新配置值 > 旧版配置值 > module.yaml 默认值。写文件时先生成临时 JSON(结构为 {"core": {...}, "module": {...}}),再运行: uv run ./scripts/merge-config.py --config-path "{project-root}/_bmad/config.yaml" --user-config-path "{project-root}/_bmad/config.user.yaml" --module-yaml ./assets/module.yaml --answers {temp-file} --legacy-dir "{project-root}/_bmad" uv run ./scripts/merge-help-csv.py --target "{project-root}/_bmad/module-help.csv" --source ./assets/module-help.csv --legacy-dir "{project-root}/_bmad" --module-code bmb 随后按配置创建尚未存在的输出目录,再执行清理: uv run ./scripts/cleanup-legacy.py --bmad-dir "{project-root}/_bmad" --module-code bmb --also-remove _config --skills-dir "{project-root}/.claude/skills"
限制与注意:配置值内的 {project-root} 是字面令牌,不可替换;但传给脚本的路径参数(--target、--config-path、--user-config-path、--legacy-dir、--bmad-dir、--skills-dir)必须替换为真实项目根路径,否则会写到技能目录下,脚本会因未解析令牌报错。脚本以 JSON 输出结果,任一非零退出时应报错并停止;清理脚本要求旧目录中的技能已存在于 .claude/skills/,且是幂等的,缺失目录不算错误。资料未提供具体版本、收费、支持平台等信息。