用途:在项目中安装并配置 BMad 模块,模块名称、代码与版本读取自 ./assets/module.yaml(code 字段为模块标识)。收集用户偏好后写入三个文件:{project-root}/_bmad/config.yaml(共享项目配置,含核心设置如 output_folder、document_output_language,以及各模块元数据与专属值)、{project-root}/_bmad/config.user.yaml(个人设置,如 user_name、communication_language 及标记 user_setting: true 的模块变量)、{project-root}/_bmad/module-help.csv(注册模块帮助能力)。配置值中 {project-root} 为字面标记,不替换为实际路径。
主要能力:激活时检查已有配置,区分全新安装、更新与旧版迁移;检测 {project-root}/_bmad/{module-code}/config.yaml 与 {project-root}/_bmad/core/config.yaml 等旧版配置并合并清理;支持通过参数(如接受全部默认、--headless 或内联值)跳过交互提问。默认值优先级:现有新配置 > 旧版配置 > module.yaml 默认值。
使用方式:写临时 JSON(结构为 {"core": {...}, "module": {...}},core 已存在则省略),随后运行两个脚本(可并行): python3 ./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" python3 ./scripts/merge-help-csv.py --target "{project-root}/_bmad/module-help.csv" --source ./assets/module-help.csv --legacy-dir "{project-root}/_bmad" --module-code {module-code} 脚本非零退出需报错并停止。之后按配置创建输出目录,再运行清理脚本: python3 ./scripts/cleanup-legacy.py --bmad-dir "{project-root}/_bmad" --module-code {module-code} --also-remove _config --skills-dir "{project-root}/.claude/skills" 清理脚本会先校验旧目录中的技能已存在于 .claude/skills/,且为幂等操作;缺失目录不算错误。最后展示写入结果与 module_greeting。
适用场景:需要把 BMad 模块接入项目、统一配置与帮助注册,或从旧版每模块配置迁移到新格式时使用。
限制:具体支持平台、收费、价格未提供;脚本完整用法可用 ./scripts/merge-config.py --help 或 ./scripts/merge-help-csv.py --help 查看。