跳转到内容
🤖 Consolidated, AI-optimized BMAD docs: llms-full.txt. Fetch this plain text file for complete context.

既有项目

在现有项目和遗留代码库上工作时,有效使用 BMad Method。

本指南涵盖了使用 BMad Method 接入现有项目的核心工作流程。

如果你通过 BMad 流程完成了所有 PRD 史诗和用户故事,请清理这些文件。归档它们、删除它们,或者在需要时依赖版本历史。不要将这些文件保留在:

  • docs/
  • _bmad-output/planning-artifacts/
  • _bmad-output/implementation-artifacts/

运行生成项目上下文工作流程:

Terminal window
/bmad-bmm-generate-project-context

这将扫描你的代码库以识别:

  • 技术栈和版本
  • 代码组织模式
  • 命名约定
  • 测试方法
  • 框架特定模式

你可以查看和完善生成的文件,或者如果你更喜欢,可以在 _bmad-output/project-context.md 手动创建它。

了解更多关于项目上下文

你的 docs/ 文件夹应包含简洁、组织良好的文档,准确代表你的项目:

  • 意图和业务理由
  • 业务规则
  • 架构
  • 任何其他相关的项目信息

对于复杂项目,考虑使用 document-project 工作流程。它提供运行时变体,将扫描你的整个项目并记录其实际当前状态。

随时运行 bmad-help,当你不确定下一步该做什么时。 这个智能指南:

  • 检查你的项目以查看已经完成了什么
  • 根据你安装的模块显示选项
  • 理解自然语言查询
bmad-help 我有一个现有的 Rails 应用,我应该从哪里开始?
bmad-help quick-flow 和完整方法有什么区别?
bmad-help 显示我有哪些可用的工作流程

BMad-Help 还会在每个工作流程结束时自动运行,提供关于下一步该做什么的清晰指导。

根据变更范围,你有两个主要选项:

范围推荐方法
小型更新或添加使用 quick-flow-solo-dev 创建技术规范并实施变更。完整的四阶段 BMad Method 可能有些过度。
重大变更或添加从 BMad Method 开始,根据需要应用或多或少的严谨性。

在创建简报或直接进入 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:运行时变体。在程序运行时可选择或切换的不同实现方式或配置。