用途:在项目中安装并配置 BMad 模块(本技能对应 BMad Samples,模块代码 sam)。模块名称、代码、版本来自 ./assets/module.yaml。用户可通过“安装 samples 模块”“配置 BMad Samples”等请求触发。
主要能力:读取模块元数据与变量定义;收集用户偏好并写入三个文件:{project-root}/_bmad/config.yaml(共享项目配置,含核心设置与各模块分区)、{project-root}/_bmad/config.user.yaml(个人设置,如 user_name、communication_language 及标记 user_setting: true 的模块变量,建议纳入 gitignore)、{project-root}/_bmad/module-help.csv(注册模块能力供帮助系统使用)。配置脚本采用反僵尸模式,写入前先移除该模块已有条目。支持识别独立模块配置(_bmad/sam/config.yaml、_bmad/core/config.yaml)并进行全新安装合并或旧版迁移。
使用方式:激活后读取 module.yaml;检查目标配置是否存在以判断是更新还是安装;若无参数则交互式询问配置项(含默认值,可一次性回复需修改的值),若提供参数(如接受全部默认、--headless、内联值)则跳过交互但末尾仍显示确认摘要。默认值优先级:现有新配置 > 旧配置 > module.yaml 默认值。将答案写入临时 JSON 后运行脚本(路径参数中的 {project-root} 需替换为真实项目根目录): 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 sam 随后按配置创建输出目录,并运行 cleanup-legacy.py 清理安装包目录: uv run ./scripts/cleanup-legacy.py --bmad-dir "{project-root}/_bmad" --module-code sam --also-remove _config --skills-dir "{project-root}/.claude/skills" 最后依据脚本 JSON 输出展示写入结果并显示 module_greeting。
限制与注意:配置文件中的值保留字面量 {project-root} 标记,不得替换;但传给脚本的文件系统路径参数必须解析为真实路径,否则脚本会报错。脚本退出非零时应显示错误并停止。清理脚本具幂等性,缺失目录不算错误。收集到 user_name 与 communication_language 后,会话余下部分应始终按该姓名与语言与用户交流。其他具体细节(如版本号、变量清单)需参考 module.yaml,资料未提供。