135 lines
5.5 KiB
Markdown
135 lines
5.5 KiB
Markdown
---
|
||
title: "既有项目"
|
||
description: 如何在现有代码库中使用 BMad Method
|
||
sidebar:
|
||
order: 6
|
||
---
|
||
|
||
在现有项目和遗留代码库上工作时,有效使用 BMad Method。
|
||
|
||
本指南涵盖了使用 BMad Method 接入现有项目的核心工作流程。
|
||
|
||
:::note[前置条件]
|
||
- 已安装 BMad Method(`npx bmad-method install`)
|
||
- 一个你想要处理的现有代码库
|
||
- 访问 AI 驱动的 IDE(Claude Code 或 Cursor)
|
||
:::
|
||
|
||
## 步骤 1:清理已完成的规划产物
|
||
|
||
如果你通过 BMad 流程完成了所有 PRD 史诗和用户故事,请清理这些文件。归档它们、删除它们,或者在需要时依赖版本历史。不要将这些文件保留在:
|
||
|
||
- `docs/`
|
||
- `_bmad-output/planning-artifacts/`
|
||
- `_bmad-output/implementation-artifacts/`
|
||
|
||
## 步骤 2:创建项目上下文
|
||
|
||
:::tip[推荐用于既有项目]
|
||
生成 `project-context.md` 以捕获你现有代码库的模式和约定。这确保 AI 智能体在实施变更时遵循你既定的实践。
|
||
:::
|
||
|
||
运行生成项目上下文工作流程:
|
||
|
||
```bash
|
||
/bmad-bmm-generate-project-context
|
||
```
|
||
|
||
这将扫描你的代码库以识别:
|
||
- 技术栈和版本
|
||
- 代码组织模式
|
||
- 命名约定
|
||
- 测试方法
|
||
- 框架特定模式
|
||
|
||
你可以查看和完善生成的文件,或者如果你更喜欢,可以在 `_bmad-output/project-context.md` 手动创建它。
|
||
|
||
[了解更多关于项目上下文](../explanation/project-context.md)
|
||
|
||
## 步骤 3:维护高质量项目文档
|
||
|
||
你的 `docs/` 文件夹应包含简洁、组织良好的文档,准确代表你的项目:
|
||
|
||
- 意图和业务理由
|
||
- 业务规则
|
||
- 架构
|
||
- 任何其他相关的项目信息
|
||
|
||
对于复杂项目,考虑使用 `document-project` 工作流程。它提供运行时变体,将扫描你的整个项目并记录其实际当前状态。
|
||
|
||
## 步骤 3:获取帮助
|
||
|
||
### BMad-Help:你的起点
|
||
|
||
**随时运行 `bmad-help`,当你不确定下一步该做什么时。** 这个智能指南:
|
||
|
||
- 检查你的项目以查看已经完成了什么
|
||
- 根据你安装的模块显示选项
|
||
- 理解自然语言查询
|
||
|
||
```
|
||
/bmad-help 我有一个现有的 Rails 应用,我应该从哪里开始?
|
||
/bmad-help quick-flow 和完整方法有什么区别?
|
||
/bmad-help 显示我有哪些可用的工作流程
|
||
```
|
||
|
||
BMad-Help 还会在**每个工作流程结束时自动运行**,提供关于下一步该做什么的清晰指导。
|
||
|
||
### 选择你的方法
|
||
|
||
根据变更范围,你有两个主要选项:
|
||
|
||
| 范围 | 推荐方法 |
|
||
| ------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
|
||
| **小型更新或添加** | 使用 `quick-flow-solo-dev` 创建技术规范并实施变更。完整的四阶段 BMad Method 可能有些过度。 |
|
||
| **重大变更或添加** | 从 BMad Method 开始,根据需要应用或多或少的严谨性。 |
|
||
|
||
### 在创建 PRD 期间
|
||
|
||
在创建简报或直接进入 PRD 时,确保智能体:
|
||
|
||
- 查找并分析你现有的项目文档
|
||
- 阅读关于你当前系统的适当上下文
|
||
|
||
你可以明确地指导智能体,但目标是确保新功能与你的现有系统良好集成。
|
||
|
||
### UX 考量
|
||
|
||
UX 工作是可选的。决定不取决于你的项目是否有 UX,而取决于:
|
||
|
||
- 你是否将处理 UX 变更
|
||
- 是否需要重要的新 UX 设计或模式
|
||
|
||
如果你的变更只是对你满意的现有屏幕进行简单更新,则不需要完整的 UX 流程。
|
||
|
||
### 架构考量
|
||
|
||
在进行架构工作时,确保架构师:
|
||
|
||
- 使用适当的已记录文件
|
||
- 扫描现有代码库
|
||
|
||
在此处要密切注意,以防止重新发明轮子或做出与你现有架构不一致的决定。
|
||
|
||
## 更多信息
|
||
|
||
- **[快速修复](./quick-fixes.md)** - 错误修复和临时变更
|
||
- **[既有项目 FAQ](../explanation/established-projects-faq.md)** - 关于在既有项目上工作的常见问题
|
||
|
||
---
|
||
## 术语说明
|
||
|
||
- **BMad Method**:BMad 方法。一种结构化的软件开发方法论,用于指导从分析到实施的完整流程。
|
||
- **PRD**:产品需求文档(Product Requirements Document)。描述产品功能、需求和目标的文档。
|
||
- **epic**:史诗。大型功能或用户故事的集合,通常需要较长时间完成。
|
||
- **story**:用户故事。描述用户需求的简短陈述,通常遵循"作为...我想要...以便于..."的格式。
|
||
- **agent**:智能体。在人工智能与编程文档中,指具备自主决策或执行能力的单元。
|
||
- **IDE**:集成开发环境(Integrated Development Environment)。提供代码编辑、调试、构建等功能的软件工具。
|
||
- **UX**:用户体验(User Experience)。用户在使用产品或服务过程中的整体感受和交互体验。
|
||
- **tech-spec**:技术规范(Technical Specification)。描述技术实现细节、架构设计和开发标准的文档。
|
||
- **quick-flow**:快速流程。BMad Method 中的一种简化工作流程,适用于小型变更或快速迭代。
|
||
- **legacy codebase**:遗留代码库。指历史遗留的、可能缺乏文档或使用过时技术的代码集合。
|
||
- **project context**:项目上下文。描述项目技术栈、约定、模式等背景信息的文档。
|
||
- **artifact**:产物。在开发过程中生成的文档、代码或其他输出物。
|
||
- **runtime variant**:运行时变体。在程序运行时可选择或切换的不同实现方式或配置。
|