title: "BMad 方法自定义指南"
自定义 BMad 方法及其核心以满足您的需求,同时仍能获得更新和增强功能,这是 BMad 生态系统中的一个关键理念。
此处概述的自定义指南虽然针对理解 BMad 方法自定义,但也适用于 BMad 方法中的任何其他模块使用。
自定义的类型
自定义包括代理自定义、工作流/技能自定义,以及添加供现有代理使用的新 MCP 或技能。除此之外,完全另一领域的自定义涉及创建/添加您自己的相关 BMad 构建器工作流、技能、代理,甚至可能是您自己的全新模块以补充 BMad 方法模块。
警告:按照本指南规定的方式进行自定义,将允许您继续获得更新,而不必担心丢失自定义更改。随着 BMad 模块的进步,通过继续获取更新,您将能够随着系统的改进而不断发展。
代理自定义
代理自定义领域
- 更改代理名称、角色或说话方式
- 添加项目特定的记忆或上下文
- 向自定义或内联提示、技能或自定义 BMad 工作流添加自定义菜单项
- 定义代理启动时发生的关键操作以保持行为一致
如何自定义代理
1. 定位自定义文件
安装后,在以下位置找到代理自定义文件:
_bmad/_config/agents/
├── core-bmad-master.customize.yaml
├── bmm-dev.customize.yaml
├── bmm-pm.customize.yaml
└── ... (每个安装的代理一个文件)2. 编辑任何代理
打开您想要修改的代理的 .customize.yaml 文件。所有部分都是可选的 - 仅自定义您需要的部分。
3. 重建代理
编辑后,至关重要的是重建代理以应用更改:
bash
npx bmad-method install然后您可以:
- 选择
Quick Update- 这还将确保所有包都是最新的,并编译所有代理以包含任何更新或自定义 - 选择
Rebuild Agents- 这将仅重建并将自定义应用于代理,而不拉取最新内容
Beta 发布后不久将会有额外的工具,允许安装单个代理、工作流、技能和模块,而无需使用完整的 bmad 安装程序。
可以自定义哪些代理属性?
代理名称
更改代理如何介绍自己:
yaml
agent:
metadata:
name: 'Spongebob' # 默认: "Amelia"角色 (Persona)
替换代理的个性、角色和沟通风格:
yaml
persona:
role: 'Senior Full-Stack Engineer'
identity: 'Lives in a pineapple (under the sea)'
communication_style: 'Spongebob annoying'
principles:
- 'Never Nester, Spongebob Devs hate nesting more than 2 levels deep'
- 'Favor composition over inheritance'注意: persona 部分替换整个默认角色(不合并)。
记忆 (Memories)
添加代理将永远记住的持久上下文:
yaml
memories:
- 'Works at Krusty Krab'
- 'Favorite Celebrity: David Hasslehoff'
- 'Learned in Epic 1 that its not cool to just pretend that tests have passed'自定义菜单项
您在此处添加的任何自定义项目都将包含在代理显示菜单中。
yaml
menu:
- trigger: my-workflow
workflow: '{project-root}/my-custom/workflows/my-workflow.yaml'
description: My custom workflow
- trigger: deploy
action: '#deploy-prompt'
description: Deploy to production关键操作
添加在代理启动前执行的指令:
yaml
critical_actions:
- 'Check the CI Pipelines with the XYZ Skill and alert user on wake if anything is urgently needing attention'自定义提示
为 action="#id" 菜单处理程序定义可重用的提示:
yaml
prompts:
- id: deploy-prompt
content: |
Deploy the current branch to production:
1. Run all tests
2. Build the project
3. Execute deployment script故障排除
更改未显示?
- 确保编辑后运行了
npx bmad-method build <agent-name> - 检查 YAML 语法是否有效(缩进很重要!)
- 验证代理名称是否与文件名模式匹配
代理未加载?
- 检查 YAML 语法错误
- 如果您取消注释了必填字段,请确保它们未留空
- 尝试恢复到模板并重建
需要重置?
- 从
.customize.yaml文件中删除内容(或删除文件) - 运行
npx bmad-method build <agent-name>以重新生成默认值
工作流自定义
关于自定义现有 BMad 方法工作流和技能的信息即将推出。
模块自定义
关于如何构建扩展模块以增强 BMad,或进行其他现有模块自定义的信息即将推出。