既有项目
在现有项目和遗留代码库上工作时,有效使用 BMad Method。
本指南涵盖了使用 BMad Method 接入现有项目的核心工作流程。
步骤 1:清理已完成的规划产物
Section titled “步骤 1:清理已完成的规划产物”如果你通过 BMad 流程完成了所有 PRD 史诗和用户故事,请清理这些文件。归档它们、删除它们,或者在需要时依赖版本历史。不要将这些文件保留在:
docs/_bmad-output/planning-artifacts/_bmad-output/implementation-artifacts/
步骤 2:创建项目上下文
Section titled “步骤 2:创建项目上下文”运行生成项目上下文工作流程:
/bmad-bmm-generate-project-context这将扫描你的代码库以识别:
- 技术栈和版本
- 代码组织模式
- 命名约定
- 测试方法
- 框架特定模式
你可以查看和完善生成的文件,或者如果你更喜欢,可以在 _bmad-output/project-context.md 手动创建它。
步骤 3:维护高质量项目文档
Section titled “步骤 3:维护高质量项目文档”你的 docs/ 文件夹应包含简洁、组织良好的文档,准确代表你的项目:
- 意图和业务理由
- 业务规则
- 架构
- 任何其他相关的项目信息
对于复杂项目,考虑使用 document-project 工作流程。它提供运行时变体,将扫描你的整个项目并记录其实际当前状态。
步骤 3:获取帮助
Section titled “步骤 3:获取帮助”BMad-Help:你的起点
Section titled “BMad-Help:你的起点”随时运行 bmad-help,当你不确定下一步该做什么时。 这个智能指南:
- 检查你的项目以查看已经完成了什么
- 根据你安装的模块显示选项
- 理解自然语言查询
bmad-help 我有一个现有的 Rails 应用,我应该从哪里开始?bmad-help quick-flow 和完整方法有什么区别?bmad-help 显示我有哪些可用的工作流程BMad-Help 还会在每个工作流程结束时自动运行,提供关于下一步该做什么的清晰指导。
选择你的方法
Section titled “选择你的方法”根据变更范围,你有两个主要选项:
| 范围 | 推荐方法 |
|---|---|
| 小型更新或添加 | 使用 quick-flow-solo-dev 创建技术规范并实施变更。完整的四阶段 BMad Method 可能有些过度。 |
| 重大变更或添加 | 从 BMad Method 开始,根据需要应用或多或少的严谨性。 |
在创建 PRD 期间
Section titled “在创建 PRD 期间”在创建简报或直接进入 PRD 时,确保智能体:
- 查找并分析你现有的项目文档
- 阅读关于你当前系统的适当上下文
你可以明确地指导智能体,但目标是确保新功能与你的现有系统良好集成。
UX 工作是可选的。决定不取决于你的项目是否有 UX,而取决于:
- 你是否将处理 UX 变更
- 是否需要重要的新 UX 设计或模式
如果你的变更只是对你满意的现有屏幕进行简单更新,则不需要完整的 UX 流程。
在进行架构工作时,确保架构师:
- 使用适当的已记录文件
- 扫描现有代码库
在此处要密切注意,以防止重新发明轮子或做出与你现有架构不一致的决定。
- 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:运行时变体。在程序运行时可选择或切换的不同实现方式或配置。