--- 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_cn.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_cn.md)** - 错误修复和临时变更 - **[既有项目 FAQ](../explanation/established-projects-faq_cn.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**:运行时变体。在程序运行时可选择或切换的不同实现方式或配置。