1019 lines
19 KiB
Markdown
1019 lines
19 KiB
Markdown
# 06 - BMAD-METHOD 使用指南
|
||
|
||
## 1. 安装和配置
|
||
|
||
### 1.1 前置要求
|
||
|
||
**系统要求**:
|
||
```
|
||
操作系统: Linux, macOS, Windows
|
||
Node.js: >= 20.0.0 (推荐 22.x)
|
||
npm: 自带于 Node.js
|
||
磁盘空间: ~100 MB (包含所有模块)
|
||
```
|
||
|
||
**开发环境**:
|
||
```
|
||
IDE: 以下任一
|
||
├── Claude Code (推荐)
|
||
├── Cursor
|
||
├── Windsurf
|
||
├── VS Code + Copilot
|
||
└── 其他 11 个 IDE
|
||
|
||
LLM 访问:
|
||
├── Claude API (推荐 Sonnet 4.5)
|
||
├── OpenAI API (GPT-4)
|
||
├── 或 IDE 内置的 LLM
|
||
└── 推荐 200k+ 上下文窗口
|
||
```
|
||
|
||
### 1.2 安装步骤
|
||
|
||
#### 步骤 1: 安装 Node.js
|
||
|
||
**macOS**:
|
||
```bash
|
||
# 使用 Homebrew
|
||
brew install node@22
|
||
|
||
# 或下载安装包
|
||
# https://nodejs.org/
|
||
```
|
||
|
||
**Linux (Ubuntu/Debian)**:
|
||
```bash
|
||
# 使用 nvm (推荐)
|
||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
|
||
nvm install 22
|
||
nvm use 22
|
||
|
||
# 或使用包管理器
|
||
sudo apt update
|
||
sudo apt install nodejs npm
|
||
```
|
||
|
||
**Windows**:
|
||
```
|
||
下载安装包: https://nodejs.org/
|
||
运行安装程序
|
||
```
|
||
|
||
#### 步骤 2: 创建或进入项目目录
|
||
|
||
```bash
|
||
# 新项目
|
||
mkdir my-project
|
||
cd my-project
|
||
|
||
# 或现有项目
|
||
cd existing-project
|
||
```
|
||
|
||
#### 步骤 3: 安装 BMAD
|
||
|
||
```bash
|
||
# v6 Alpha (推荐)
|
||
npx bmad-method@alpha install
|
||
|
||
# 或 稳定 v4
|
||
npx bmad-method install
|
||
```
|
||
|
||
#### 步骤 4: 交互式配置
|
||
|
||
**模块选择**:
|
||
```
|
||
? 选择要安装的模块:
|
||
[x] BMad Method (BMM) - AI 驱动敏捷开发
|
||
[x] BMad Builder (BMB) - 创建自定义组件
|
||
[x] Creative Intelligence Suite (CIS) - 创意工作流
|
||
[ ] BMad Game Development (BMGD) - 游戏开发
|
||
```
|
||
|
||
**基本配置** (BMM):
|
||
```
|
||
? 你的名字: Alice
|
||
? 沟通语言 (communication_language):
|
||
> English
|
||
中文
|
||
Español
|
||
...
|
||
|
||
? 文档输出语言 (document_output_language):
|
||
> English
|
||
中文
|
||
...
|
||
|
||
? 技能水平:
|
||
> Intermediate
|
||
Beginner
|
||
Advanced
|
||
|
||
? 项目轨道默认值:
|
||
> bmad-method (推荐)
|
||
quick-flow
|
||
enterprise-method
|
||
```
|
||
|
||
**IDE 选择**:
|
||
```
|
||
? 选择你的 IDE:
|
||
> Claude Code
|
||
Cursor
|
||
Windsurf
|
||
VS Code + Copilot
|
||
其他...
|
||
```
|
||
|
||
#### 步骤 5: 验证安装
|
||
|
||
```bash
|
||
# 检查安装结果
|
||
ls -la bmad/
|
||
|
||
# 应该看到:
|
||
bmad/
|
||
├── core/
|
||
├── bmm/
|
||
├── bmb/ (如果选择)
|
||
├── cis/ (如果选择)
|
||
└── _cfg/
|
||
```
|
||
|
||
**对于 Claude Code**:
|
||
```bash
|
||
ls -la .claude/commands/
|
||
|
||
# 应该看到大量 .md 文件
|
||
bmad-bmm-workflows-prd.md
|
||
bmad-bmm-workflows-tech-spec.md
|
||
...
|
||
```
|
||
|
||
---
|
||
|
||
## 2. 快速开始指南
|
||
|
||
### 2.1 第一个项目: Bug 修复 (Quick Flow)
|
||
|
||
**目标**: 修复一个验证 Bug,体验 BMAD 流程
|
||
|
||
#### 第 1 步: 初始化工作流
|
||
|
||
```
|
||
1. 在 IDE 中打开项目
|
||
|
||
2. 加载 Analyst 代理
|
||
- Claude Code: 打开 bmad/bmm/agents/analyst.md
|
||
- Cursor: @analyst
|
||
- Windsurf: 类似方式
|
||
|
||
3. 等待代理菜单出现
|
||
|
||
4. 告诉代理:
|
||
用户: "*workflow-init"
|
||
|
||
或自然语言:
|
||
用户: "Run workflow init"
|
||
```
|
||
|
||
#### 第 2 步: 回答 workflow-init 问题
|
||
|
||
```
|
||
代理: "描述你的项目或任务"
|
||
用户: "修复登录页面的 email 验证 Bug"
|
||
|
||
代理: "这是新项目还是现有代码库?"
|
||
用户: "现有代码库"
|
||
|
||
代理: "这个任务的复杂度?"
|
||
用户: "很简单,只是一个小 Bug"
|
||
|
||
代理: "推荐使用 Quick Flow Track,是否同意?"
|
||
用户: "同意"
|
||
|
||
输出: docs/bmm-workflow-status.yaml 被创建
|
||
```
|
||
|
||
#### 第 3 步: 创建 Tech Spec
|
||
|
||
```
|
||
1. 开启新对话 (Fresh Chat)
|
||
|
||
2. 加载 PM 代理
|
||
- 打开 bmad/bmm/agents/pm.md
|
||
|
||
3. 告诉代理:
|
||
用户: "*tech-spec"
|
||
|
||
4. 回答问题:
|
||
代理: "描述 Bug 的现象"
|
||
用户: "用户可以输入无效的 email 格式(如'test@'),
|
||
但系统没有拒绝"
|
||
|
||
代理: "期望的行为是什么?"
|
||
用户: "应该验证 email 格式,显示错误消息"
|
||
|
||
代理: "有哪些测试场景?"
|
||
用户: [描述测试场景]
|
||
|
||
5. 输出: docs/tech-spec.md
|
||
包含:
|
||
- 问题描述
|
||
- 解决方案
|
||
- 3 个 Story
|
||
```
|
||
|
||
#### 第 4 步: 规划 Sprint
|
||
|
||
```
|
||
1. 开启新对话
|
||
|
||
2. 加载 Scrum Master 代理
|
||
- 打开 bmad/bmm/agents/sm.md
|
||
|
||
3. 告诉代理:
|
||
用户: "*sprint-planning"
|
||
|
||
4. 代理自动读取 tech-spec.md
|
||
|
||
5. 选择 Story:
|
||
代理: "以下 Story 要在本 Sprint 完成吗?"
|
||
- Story 1: 添加 email 验证函数
|
||
- Story 2: 更新 UI 错误提示
|
||
- Story 3: 添加测试
|
||
|
||
用户: "全部"
|
||
|
||
6. 输出: docs/sprint-status.yaml
|
||
```
|
||
|
||
#### 第 5 步: 实现 Story
|
||
|
||
```
|
||
对于每个 Story (重复 3 次):
|
||
|
||
1. 开启新对话
|
||
|
||
2. 加载 Developer 代理
|
||
- 打开 bmad/bmm/agents/dev.md
|
||
|
||
3. 告诉代理:
|
||
用户: "*dev-story"
|
||
|
||
4. 代理自动:
|
||
- 读取 sprint-status.yaml
|
||
- 找到下一个 ready 的 Story
|
||
- 读取 Story 详情
|
||
- 开始实现
|
||
|
||
5. 代理实现代码:
|
||
- 创建/修改文件
|
||
- 编写测试
|
||
- 更新文档
|
||
- 更新 Story 状态为 done
|
||
|
||
6. 验证:
|
||
- 运行测试
|
||
- 手动测试
|
||
- Code Review (可选: *story-review)
|
||
```
|
||
|
||
#### 第 6 步: 完成
|
||
|
||
```
|
||
总时间: 2-4 小时
|
||
输出:
|
||
├── docs/tech-spec.md
|
||
├── docs/sprint-status.yaml
|
||
├── docs/Story-001.md
|
||
├── docs/Story-002.md
|
||
├── docs/Story-003.md
|
||
└── 代码修改和测试
|
||
```
|
||
|
||
### 2.2 第二个项目: 新功能 (BMad Method)
|
||
|
||
**目标**: 添加用户通知系统
|
||
|
||
#### 简化流程
|
||
|
||
```
|
||
Phase 1: 分析 (可选)
|
||
├── Analyst: *product-brief
|
||
└── 输出: product-brief.md (4 小时)
|
||
|
||
Phase 2: 规划 (必需)
|
||
├── PM: *create-prd
|
||
├── 输出: PRD.md + Epics.md (12 小时)
|
||
└── UX Designer: *create-ux-design (可选, 16 小时)
|
||
|
||
Phase 3: 方案 (必需)
|
||
├── Architect: *create-architecture
|
||
├── 输出: architecture.md (20 小时)
|
||
└── Architect: *solutioning-gate-check (2 小时)
|
||
|
||
Phase 4: 实现 (迭代)
|
||
├── SM: *sprint-planning
|
||
├── 对每个 Epic:
|
||
│ ├── SM: *epic-tech-context
|
||
│ └── 对每个 Story:
|
||
│ ├── SM: *create-story
|
||
│ ├── SM: *story-ready
|
||
│ ├── Developer: *dev-story
|
||
│ └── Developer: *story-review (可选)
|
||
└── SM: *sprint-retrospective
|
||
|
||
总时间: 2-3 周规划 + 8-12 周实现
|
||
```
|
||
|
||
**详细步骤见**: [04-工作流程.md](./04-工作流程.md) 场景 2
|
||
|
||
---
|
||
|
||
## 3. 常见使用场景
|
||
|
||
### 3.1 场景: 现有代码库添加新功能
|
||
|
||
**挑战**: 现有代码缺少文档
|
||
|
||
**解决方案**:
|
||
|
||
```
|
||
Phase 0: 文档化现有代码 (Brownfield)
|
||
|
||
1. 加载 Architect 代理
|
||
|
||
2. 运行:
|
||
用户: "*brownfield-document"
|
||
|
||
3. 代理引导:
|
||
- 扫描级别选择 (Quick/Standard/Deep)
|
||
- 关注的代码区域
|
||
- 文档输出格式
|
||
|
||
4. 输出: docs/ 目录
|
||
├── system-overview.md
|
||
├── architecture.md
|
||
├── api-reference.md
|
||
└── code-patterns.md
|
||
|
||
然后继续 Phase 1-4 (选择合适的轨道)
|
||
```
|
||
|
||
### 3.2 场景: 团队协作开发
|
||
|
||
**设置**:
|
||
- 团队: 1 PM, 1 Architect, 3 Developers
|
||
- 项目: 电商平台新支付模块
|
||
|
||
**工作流**:
|
||
|
||
```
|
||
Week 1-2: 规划 (PM + Architect)
|
||
├── PM 使用 PM 代理
|
||
│ ├── *create-prd
|
||
│ └── 输出: PRD.md
|
||
│
|
||
└── Architect 使用 Architect 代理
|
||
├── *create-architecture
|
||
└── 输出: architecture.md
|
||
|
||
Week 3: Sprint 规划 (全体)
|
||
├── 使用 Party Mode
|
||
├── /bmad:core:workflows:party-mode
|
||
├── 讨论架构和实现策略
|
||
└── SM 代理 *sprint-planning
|
||
|
||
Week 4-8: 并行开发 (3 Developers)
|
||
├── Developer 1: Epic 1 (支付网关集成)
|
||
├── Developer 2: Epic 2 (订单管理)
|
||
└── Developer 3: Epic 3 (退款流程)
|
||
|
||
每个 Developer:
|
||
├── 使用 SM 代理创建 Story
|
||
├── 使用 Developer 代理实现
|
||
└── 每日同步 sprint-status.yaml
|
||
|
||
Week 9: 集成和测试
|
||
├── 使用 TEA 代理
|
||
├── *test-design
|
||
└── *nfr-assess
|
||
```
|
||
|
||
**协作要点**:
|
||
- 📁 共享 `docs/` 目录 (Git 管理)
|
||
- 📊 共享 `sprint-status.yaml`
|
||
- 🔄 每日同步
|
||
- 💬 使用 Party Mode 做重大决策
|
||
|
||
### 3.3 场景: 技术债务清理
|
||
|
||
**挑战**: 识别和优先级排序技术债务
|
||
|
||
**工作流**:
|
||
|
||
```
|
||
1. 文档化现有系统
|
||
Architect: *brownfield-document (Deep scan)
|
||
|
||
2. 识别问题
|
||
Architect: *architecture
|
||
└── 创建 "理想架构"
|
||
|
||
3. Gap 分析
|
||
使用 Party Mode
|
||
├── 召集 Architect + Developer + TEA
|
||
├── 对比现状和理想
|
||
└── 列出技术债务清单
|
||
|
||
4. 优先级排序
|
||
PM: *create-prd
|
||
└── 将技术债务作为 Epic
|
||
|
||
5. 增量改进
|
||
正常 Sprint 流程
|
||
└── 每个 Sprint 包含 1-2 个技术债务 Story
|
||
```
|
||
|
||
### 3.4 场景: 代码审查和质量保证
|
||
|
||
**使用 Story Review 工作流**:
|
||
|
||
```
|
||
Developer 完成实现后:
|
||
|
||
1. 开启新对话
|
||
|
||
2. 加载 Developer 代理
|
||
|
||
3. 运行:
|
||
用户: "*story-review"
|
||
|
||
4. 代理检查:
|
||
├── 代码符合 Story 要求
|
||
├── 测试覆盖率
|
||
├── 代码质量 (复杂度、可读性)
|
||
├── 安全问题 (基本)
|
||
└── 文档更新
|
||
|
||
5. 输出:
|
||
├── 审查报告
|
||
├── 改进建议
|
||
└── 批准/需要修改
|
||
|
||
6. 如需修改:
|
||
├── Developer 修复
|
||
└── 重新运行 story-review
|
||
```
|
||
|
||
---
|
||
|
||
## 4. 故障排除
|
||
|
||
### 4.1 安装问题
|
||
|
||
#### 问题: "Node.js 版本不兼容"
|
||
|
||
```bash
|
||
# 检查版本
|
||
node --version
|
||
|
||
# 如果 < 20.0.0
|
||
# 使用 nvm 升级
|
||
nvm install 22
|
||
nvm use 22
|
||
```
|
||
|
||
#### 问题: "找不到 bmad 命令"
|
||
|
||
```bash
|
||
# 检查 npm 全局路径
|
||
npm config get prefix
|
||
|
||
# 如果路径不在 PATH 中
|
||
export PATH=$PATH:$(npm config get prefix)/bin
|
||
|
||
# 或使用 npx (推荐)
|
||
npx bmad-method@alpha install
|
||
```
|
||
|
||
#### 问题: "安装卡住不动"
|
||
|
||
```bash
|
||
# 清除 npm 缓存
|
||
npm cache clean --force
|
||
|
||
# 重试
|
||
npx bmad-method@alpha install
|
||
```
|
||
|
||
### 4.2 代理加载问题
|
||
|
||
#### 问题: "代理菜单不显示"
|
||
|
||
**Claude Code**:
|
||
```
|
||
1. 确认文件路径正确
|
||
- bmad/bmm/agents/pm.md 存在
|
||
|
||
2. 重新加载
|
||
- 关闭文件
|
||
- 重新打开
|
||
|
||
3. 检查 Claude Code 设置
|
||
- 确保启用了 MCP
|
||
```
|
||
|
||
**Cursor**:
|
||
```
|
||
1. 使用 @ 符号
|
||
@pm
|
||
|
||
2. 或使用斜杠命令
|
||
/bmad:bmm:agents:pm
|
||
```
|
||
|
||
#### 问题: "工作流找不到文件"
|
||
|
||
**错误信息**:
|
||
```
|
||
Error: Cannot find workflow file at:
|
||
/path/to/bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml
|
||
```
|
||
|
||
**解决方案**:
|
||
```bash
|
||
# 检查文件是否存在
|
||
ls bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml
|
||
|
||
# 如果不存在,重新安装
|
||
npx bmad-method@alpha install
|
||
```
|
||
|
||
### 4.3 工作流执行问题
|
||
|
||
#### 问题: "AI Hallucination - 代理生成不准确信息"
|
||
|
||
**症状**:
|
||
- 引用不存在的文件
|
||
- 重复之前的对话内容
|
||
- 逻辑混乱
|
||
|
||
**解决方案**:
|
||
✅ **使用 Fresh Chat 原则**
|
||
```
|
||
每个工作流使用新对话
|
||
❌ 错误: 在同一对话中连续运行多个工作流
|
||
✅ 正确: 每个工作流开启新对话
|
||
```
|
||
|
||
✅ **减少上下文长度**
|
||
```
|
||
使用 Document Sharding
|
||
- 分片大文档
|
||
- 只加载相关部分
|
||
```
|
||
|
||
✅ **验证输出**
|
||
```
|
||
不要盲目信任 AI
|
||
- 检查生成的代码
|
||
- 验证文档准确性
|
||
- 运行测试
|
||
```
|
||
|
||
#### 问题: "工作流卡在某个步骤"
|
||
|
||
**症状**:
|
||
- 代理不继续执行
|
||
- 等待很长时间无响应
|
||
|
||
**解决方案**:
|
||
```
|
||
1. 检查 LLM 配额
|
||
- API 限制
|
||
- Token 限制
|
||
|
||
2. 提供缺失的信息
|
||
- 代理可能在等待回答
|
||
|
||
3. 重新触发
|
||
- 重新运行工作流
|
||
- 使用新对话
|
||
```
|
||
|
||
#### 问题: "状态文件不同步"
|
||
|
||
**症状**:
|
||
- sprint-status.yaml 显示错误状态
|
||
- 工作流找不到 Story
|
||
|
||
**解决方案**:
|
||
```bash
|
||
# 手动检查和修复
|
||
cat docs/sprint-status.yaml
|
||
|
||
# 如果损坏,备份并重新生成
|
||
cp docs/sprint-status.yaml docs/sprint-status.yaml.bak
|
||
|
||
# 重新运行 sprint-planning
|
||
# 使用 SM 代理: *sprint-planning
|
||
```
|
||
|
||
### 4.4 性能问题
|
||
|
||
#### 问题: "工作流执行很慢"
|
||
|
||
**可能原因和解决方案**:
|
||
|
||
```
|
||
原因 1: 文档太大
|
||
解决: 使用 Document Sharding
|
||
├── 手动分片
|
||
└── 或使用 shard-doc 工具
|
||
|
||
原因 2: 上下文窗口太大
|
||
解决: Fresh Chat + 减少输入文档
|
||
|
||
原因 3: LLM 模型慢
|
||
解决:
|
||
├── 切换到更快的模型
|
||
└── 或使用本地 LLM
|
||
```
|
||
|
||
---
|
||
|
||
## 5. IDE 集成详解
|
||
|
||
### 5.1 Claude Code
|
||
|
||
**安装后结构**:
|
||
```
|
||
.claude/
|
||
└── commands/
|
||
├── bmad-bmm-workflows-prd.md
|
||
├── bmad-bmm-workflows-tech-spec.md
|
||
├── bmad-bmm-workflows-dev-story.md
|
||
└── ... (所有工作流)
|
||
```
|
||
|
||
**使用方式**:
|
||
|
||
**方式 1: 加载代理**
|
||
```
|
||
1. 在 Claude Code 中打开:
|
||
bmad/bmm/agents/pm.md
|
||
|
||
2. 等待代理激活
|
||
|
||
3. 使用快捷命令:
|
||
用户: "*create-prd"
|
||
```
|
||
|
||
**方式 2: 直接斜杠命令**
|
||
```
|
||
用户: /bmad:bmm:workflows:prd
|
||
```
|
||
|
||
**方式 3: Party Mode**
|
||
```
|
||
用户: /bmad:core:workflows:party-mode
|
||
```
|
||
|
||
### 5.2 Cursor
|
||
|
||
**安装后结构**:
|
||
```
|
||
.cursor/
|
||
└── rules/
|
||
├── bmad-bmm-agents-pm.md
|
||
└── ... (所有代理)
|
||
```
|
||
|
||
**使用方式**:
|
||
|
||
```
|
||
方式 1: @ 符号
|
||
用户: @pm
|
||
|
||
方式 2: 打开代理文件
|
||
打开 bmad/bmm/agents/pm.md
|
||
|
||
方式 3: 使用 Rules
|
||
Cursor 自动加载 .cursor/rules/
|
||
```
|
||
|
||
### 5.3 Windsurf
|
||
|
||
**安装后结构**:
|
||
```
|
||
.windsurf/
|
||
└── workflows/
|
||
├── bmad-bmm-workflows-prd.yaml
|
||
└── ... (所有工作流)
|
||
```
|
||
|
||
**使用方式**:
|
||
```
|
||
类似 Cursor
|
||
支持 @ 符号和文件打开
|
||
```
|
||
|
||
### 5.4 VS Code + Copilot
|
||
|
||
**安装后结构**:
|
||
```
|
||
.github/
|
||
└── copilot/
|
||
└── bmad/
|
||
├── agents/
|
||
└── workflows/
|
||
```
|
||
|
||
**使用方式**:
|
||
```
|
||
1. 打开 Copilot Chat
|
||
|
||
2. 引用代理文件:
|
||
@workspace bmad/bmm/agents/pm.md
|
||
|
||
3. 然后使用快捷命令:
|
||
*create-prd
|
||
```
|
||
|
||
---
|
||
|
||
## 6. 高级技巧
|
||
|
||
### 6.1 自定义代理语言和风格
|
||
|
||
**编辑配置**:
|
||
```yaml
|
||
# bmad/_cfg/agents/pm-customize.yaml
|
||
persona:
|
||
name: "张明" # 覆盖 "John"
|
||
communication_style: "正式专业,使用中文"
|
||
|
||
# 或保持英文名但用中文交流
|
||
name: "John"
|
||
communication_style: "Professional, communicates in Chinese"
|
||
```
|
||
|
||
**生效方式**:
|
||
```
|
||
定制文件在 bmad/_cfg/agents/
|
||
更新 BMAD 时保留这些定制
|
||
```
|
||
|
||
### 6.2 Document Sharding 使用
|
||
|
||
**何时使用**:
|
||
- PRD > 30KB
|
||
- Architecture > 20KB
|
||
- Epic 文档 > 15KB
|
||
|
||
**如何分片**:
|
||
|
||
```
|
||
方式 1: 使用 shard-doc 工具 (BMad 提供)
|
||
bmad/core/tools/shard-doc/
|
||
|
||
方式 2: 手动分片
|
||
docs/PRD.md → docs/PRD/
|
||
├── index.md (目录)
|
||
├── 01-overview.md
|
||
├── 02-requirements.md
|
||
└── 03-epics.md
|
||
|
||
方式 3: 在工作流中自动处理
|
||
工作流会自动检测和使用分片版本
|
||
```
|
||
|
||
### 6.3 创建自定义工作流
|
||
|
||
**使用 BMB**:
|
||
|
||
```
|
||
1. 加载 BMad Builder 代理
|
||
bmad/bmb/agents/bmad-builder.md
|
||
|
||
2. 运行:
|
||
用户: "*create-workflow"
|
||
|
||
3. 回答向导问题:
|
||
- 工作流名称: "code-migration"
|
||
- 用途: "迁移代码到新框架"
|
||
- 输入: "旧代码、新框架文档"
|
||
- 输出: "迁移计划、新代码"
|
||
- 步骤: [定义多个步骤]
|
||
|
||
4. 输出:
|
||
bmad/custom/workflows/code-migration/
|
||
├── workflow.yaml
|
||
├── instructions.md
|
||
└── templates/
|
||
```
|
||
|
||
### 6.4 多项目管理
|
||
|
||
**场景**: 同时管理多个项目
|
||
|
||
**推荐结构**:
|
||
```
|
||
workspace/
|
||
├── project-a/
|
||
│ ├── bmad/
|
||
│ ├── docs/
|
||
│ └── src/
|
||
│
|
||
├── project-b/
|
||
│ ├── bmad/
|
||
│ ├── docs/
|
||
│ └── src/
|
||
│
|
||
└── shared-bmad-modules/
|
||
└── custom-modules/
|
||
├── enterprise-security/
|
||
└── company-standards/
|
||
```
|
||
|
||
**复用自定义模块**:
|
||
```bash
|
||
# 在 project-a 中
|
||
ln -s ../../shared-bmad-modules/enterprise-security \
|
||
bmad/enterprise-security
|
||
|
||
# 或复制
|
||
cp -r ../shared-bmad-modules/enterprise-security \
|
||
bmad/enterprise-security
|
||
```
|
||
|
||
---
|
||
|
||
## 7. 最佳实践总结
|
||
|
||
### 7.1 工作流执行
|
||
|
||
✅ **DO (推荐做法)**:
|
||
- 每个工作流使用新对话 (Fresh Chat)
|
||
- 按照 Phase 1→2→3→4 顺序
|
||
- 一次只实现一个 Story
|
||
- 完成后立即更新状态文件
|
||
- 定期运行 workflow-status 检查进度
|
||
|
||
❌ **DON'T (避免做法)**:
|
||
- 在同一对话中连续运行多个工作流
|
||
- 跳过必需的 Phase
|
||
- 同时开发多个 Story
|
||
- 手动编辑状态文件 (让代理更新)
|
||
- 忽略代理的建议和警告
|
||
|
||
### 7.2 文档管理
|
||
|
||
✅ **DO**:
|
||
- 将 docs/ 目录纳入版本控制
|
||
- 大文档使用 Sharding
|
||
- 保持文档与代码同步
|
||
- 定期审查和更新文档
|
||
|
||
❌ **DON'T**:
|
||
- 将 bmad/ 目录纳入版本控制 (可选 .gitignore)
|
||
- 手动编辑生成的文档 (通过工作流更新)
|
||
- 删除旧版本文档 (可以归档)
|
||
|
||
### 7.3 团队协作
|
||
|
||
✅ **DO**:
|
||
- 共享配置 (bmad/bmm/config.yaml)
|
||
- 统一使用相同的 BMAD 版本
|
||
- 共享状态文件 (sprint-status.yaml)
|
||
- 使用 Party Mode 做重大决策
|
||
- 定期团队培训和分享
|
||
|
||
❌ **DON'T**:
|
||
- 各自使用不同的工作流版本
|
||
- 不同步状态文件
|
||
- 独立决策影响整体架构的更改
|
||
|
||
### 7.4 质量保证
|
||
|
||
✅ **DO**:
|
||
- 使用 story-review 审查代码
|
||
- 运行自动化测试
|
||
- 使用 solutioning-gate-check 验证一致性
|
||
- 定期 retrospective
|
||
- 验证 AI 输出的准确性
|
||
|
||
❌ **DON'T**:
|
||
- 盲目信任 AI 生成的代码
|
||
- 跳过测试步骤
|
||
- 忽略质量门禁
|
||
- 不做 Code Review
|
||
|
||
---
|
||
|
||
## 8. 学习资源
|
||
|
||
### 8.1 官方资源
|
||
|
||
**文档**:
|
||
- 📚 [BMM 完整文档](../src/modules/bmm/docs/README.md)
|
||
- 🚀 [Quick Start Guide](../src/modules/bmm/docs/quick-start.md)
|
||
- 🤖 [Agents Guide](../src/modules/bmm/docs/agents-guide.md)
|
||
- 📖 [FAQ](../src/modules/bmm/docs/faq.md)
|
||
|
||
**视频**:
|
||
- 🎥 [YouTube Channel](https://www.youtube.com/@BMadCode)
|
||
- 教程即将发布 (v6)
|
||
|
||
**社区**:
|
||
- 💬 [Discord](https://discord.gg/gk8jAdXWmj)
|
||
- #general-dev - 技术讨论
|
||
- #bugs-issues - Bug 报告
|
||
|
||
### 8.2 学习路径
|
||
|
||
**初学者** (Week 1):
|
||
```
|
||
Day 1: 安装和配置
|
||
Day 2: Quick Flow 教程
|
||
Day 3-4: 实践 Bug 修复项目
|
||
Day 5: BMad Method 概念学习
|
||
```
|
||
|
||
**中级用户** (Week 2-4):
|
||
```
|
||
Week 2: 完整 BMad Method 项目
|
||
Week 3: 学习所有 12 个代理
|
||
Week 4: 尝试自定义工作流
|
||
```
|
||
|
||
**高级用户** (Month 2+):
|
||
```
|
||
学习 BMB (创建自定义模块)
|
||
Party Mode 高级用法
|
||
企业集成和定制
|
||
贡献社区
|
||
```
|
||
|
||
### 8.3 示例项目
|
||
|
||
**官方示例**:
|
||
```
|
||
待发布 - 关注 GitHub 仓库
|
||
```
|
||
|
||
**社区示例**:
|
||
```
|
||
Discord #showcase 频道
|
||
分享你的项目!
|
||
```
|
||
|
||
---
|
||
|
||
## 9. 获取帮助
|
||
|
||
### 9.1 遇到问题时
|
||
|
||
**步骤 1: 查看文档**
|
||
- 本研究报告
|
||
- 官方文档
|
||
- FAQ
|
||
|
||
**步骤 2: 搜索已知问题**
|
||
- GitHub Issues
|
||
- Discord 历史消息
|
||
|
||
**步骤 3: 社区求助**
|
||
- Discord #bugs-issues 频道
|
||
- 描述问题和上下文
|
||
- 附上错误信息和截图
|
||
|
||
**步骤 4: 提交 Issue**
|
||
- GitHub Issues
|
||
- 使用 Bug Report 模板
|
||
- 详细的复现步骤
|
||
|
||
### 9.2 联系方式
|
||
|
||
- 💬 **Discord**: https://discord.gg/gk8jAdXWmj
|
||
- 🐛 **GitHub**: https://github.com/bmad-code-org/BMAD-METHOD/issues
|
||
- 📧 **Email**: (查看 GitHub 仓库)
|
||
|
||
---
|
||
|
||
## 10. 小结
|
||
|
||
关键要点:
|
||
|
||
✅ **安装简单** - npx 命令即可
|
||
✅ **Fresh Chat** - 每个工作流新对话
|
||
✅ **按Phase执行** - 1→2→3→4
|
||
✅ **验证输出** - 不盲目信任 AI
|
||
✅ **团队协作** - 共享文档和状态
|
||
✅ **持续学习** - 文档、视频、社区
|
||
|
||
**下一步**: 阅读 [07-总结建议.md](./07-总结建议.md) 了解整体评估
|