BMAD-METHOD实战笔记_20260213112550

一、中大型多端项目的 BMAD 实操全步骤

BMAD 官方仓库https://github.com/bmad-code-org/BMAD-METHOD(Breakthrough Method for Agile AI Driven Development,文档与更新以仓库为准。)



0. 前置准备(适配中大型多端项目)

先完成基础环境和 BMAD 配置,适配多端技术栈:

  1. 安装 Cursor(推荐 AI 开发环境)

    • 下载:打开 Cursor 官网 下载并安装 Cursor 编辑器(基于 VS Code,内置 AI 能力);
    • 打开项目:用 Cursor 打开你的项目根目录(File → Open Folder);
    • 使用 BMAD:在项目内执行 npx bmad-method install 后,Cursor 会识别 _bmad.cursor 下的命令,在聊天或命令面板中可使用 /bmad-help/product-brief/dev-story 等;
    • 若命令未出现:确认安装路径为项目根目录,且存在 _bmad.cursor/commands 目录,必要时重启 Cursor。
  2. 环境准备

    • 本地安装:Node.js ≥20(BMAD 基础)、JDK 17+(SpringBoot)、Vue CLI/Vite(Web 端)、HBuilderX(Uniapp)、Maven/Gradle(后端构建);

    • BMAD 增强安装:除核心 BMAD Method 模块外,安装 Test Architect (TEA)(企业级测试)、BMAD Builder(自定义多端工作流);

      bash 复制代码
      npx bmad-method install --modules BMM,TEA,BMB
  3. BMAD 初始化多端项目

    在空项目根目录(建议按「前端/后端/小程序」分目录)执行:

    bash 复制代码
    npx bmad-method init --project-type multi-end --tech-stack vue-ts,springboot,uniapp

    该命令会生成 BMAD 多端项目配置文件(bmad.config.json),自动关联对应技术栈的智能体(前端架构师、Java 后端工程师、Uniapp 开发、测试工程师等)。

1. 项目全局规划(BMAD 完整规划流起点)

核心目标:明确多端项目的核心目标、边界、架构原则,替代传统「需求文档+架构设计」环节。

  • 执行 BMAD 命令:

    复制代码
    /product-brief

    按 AI 提问回答(示例,可根据你的实际项目调整):

    AI 提问 回答示例(多端电商后台+小程序为例)
    产品名称? 多端电商管理系统(Web 运营端+小程序用户端+SpringBoot 接口层)
    核心目标? Web 端供运营管理商品/订单,小程序供用户下单,后端提供统一接口,数据互通
    多端核心诉求? Web 端(Vue+TS):权限管理、商品CRUD、订单统计;小程序(Uniapp):下单、支付、个人中心;后端(SpringBoot):接口统一、权限校验、数据持久化
    技术约束? Web 端用 Vue3+Pinia+TypeScript,后端用 SpringBoot 3+MyBatis-Plus,小程序基于 Uniapp 适配微信/支付宝
    非功能需求? 接口响应时间<500ms,小程序兼容微信基础库≥2.30,Web 端适配主流浏览器
  • 接着执行架构设计命令(调用多智能体协作):

    复制代码
    /create-architecture --party-mode "前端架构师,Java架构师,测试架构师,PM"

    ✅ 预期输出:

    • 多端整体架构图(前端→后端接口→数据库的交互流程);
    • 各端技术架构细节(Web 端:Vue3 组件拆分、路由设计;后端:分层架构(Controller/Service/Mapper)、接口规范;小程序:页面结构、分包策略);
    • 数据流转规则(比如用户登录态在多端的同步方式、接口统一返回格式);
    • 数据库设计(核心表:用户表、商品表、订单表,含字段及关联关系)。
2 中大型项目基础设施(数据库、缓存、工作流)

中大型项目除多端与接口外,通常需要明确数据库缓存流程引擎的选型与落地方式,并在 BMAD 的架构与 Story 中体现。

  • 数据库

    • 选型与规范 :在 /create-architecture/create-prd 中明确主库选型(如 MySQL 8 / PostgreSQL)、字符集、命名规范(表/字段)、是否分库分表、读写分离等;输出「数据库设计」小节或独立文档(表结构、索引、迁移策略)。
    • 落地方式 :在 Epic/Story 中拆分为「建表与迁移脚本」「核心 CRUD 接口与 SQL」「数据一致性约束」等;/dev-story 开发后端时引用架构中的表结构,生成 MyBatis-Plus 实体/Mapper 或 JPA 实体,并编写 Flyway/Liquibase 迁移脚本,保证库表与代码一致。
    • 性能与安全 :在 /code-review 中关注慢查询、缺失索引、SQL 注入;TEA 测试可覆盖关键查询与事务场景。
  • 缓存

    • 选型与策略:架构中明确缓存方案(如 Redis 单机/集群)、使用场景(会话、热点数据、分布式锁、接口防重等)、过期与更新策略(Cache-Aside、过期时间、与 DB 一致性)。
    • 落地方式 :在 Story 中拆出「Redis 配置与连接」「某业务缓存封装」「缓存失效与 DB 回源」等;/dev-story 生成 SpringBoot + Redis(或 Spring Cache + Redis)配置及业务侧缓存代码,并在架构文档中记录 Key 命名规范、序列化方式。
    • 运维与监控:部署阶段配置 Redis 高可用与监控;代码审查时检查缓存穿透/击穿/雪崩的防护(空值缓存、互斥锁、限流等)。
  • Flowable 工作流

    • 选型与定位:适用于审批流、业务流程(请假、报销、订单状态机、工单流转等)。在架构中明确:使用 Flowable 作为流程引擎、部署方式(内嵌/独立服务)、与现有用户/权限体系的集成方式(用户组、候选人、网关表达式)。
    • 流程设计 :在 /create-architecture 或需求阶段输出核心流程的 BPMN 2.0 描述(或流程图),定义流程 Key、节点、网关、监听器;可单独建「流程定义」仓库或目录,与业务代码一起纳入版本管理。
    • 与 BMAD 的配合 :将「流程定义部署」「流程实例发起与查询」「任务认领/完成」「历史与报表」拆成 Epic/Story;/dev-story 时指定技术栈含 Flowable,生成流程部署接口、任务列表/办理接口、与前端联调所需 API;测试覆盖关键流程分支与边界(驳回、转办、超时等)。
    • 扩展点:若涉及复杂业务规则(如多级审批、会签、动态候选人),在架构中预留扩展点(监听器、委托表达式、服务任务),并在 Story 中明确实现方式,便于 AI 生成一致代码。

预期产出:架构文档中具备「数据库设计」「缓存策略」「流程引擎与 Flowable 使用规范」;Epic/Story 列表中包含对应开发与测试任务;开发与评审阶段有据可依。

3. 需求拆分与迭代规划(适配敏捷开发)

核心目标:将全局需求拆分为可迭代的「大功能(Epic)」和「小任务(Story)」,明确迭代周期。

  • 执行命令:

    复制代码
    /create-epics-and-stories

    AI 会自动拆分出多端对应的 Epic 和 Story,示例:

    • Epic 1:用户模块(Web 端用户管理 + 小程序用户登录 + 后端用户接口);
    • Epic 2:商品模块(Web 端商品CRUD + 小程序商品展示 + 后端商品接口);
    • 每个 Epic 拆分为 Story(如「Web 端实现商品列表查询」「后端编写商品列表接口」「小程序展示商品列表」)。
  • 迭代规划(确定 Sprint 周期,比如 2 周/迭代):

    复制代码
    /sprint-planning --sprint-number 1 --duration 2w --stories "用户登录(多端),商品列表(多端)"

    ✅ 预期输出:Sprint 1 任务清单、负责人(按端划分)、交付标准、测试要点。

4. 分端模块化开发(核心开发阶段)

按「后端接口 → Web 端 → 小程序端」的顺序开发(后端先行,避免前端等接口),每个端用 BMAD 针对性提效:

4.1 SpringBoot 后端 API 开发
  • 执行命令(调用 Java 后端智能体):

    复制代码
    /dev-story --story "开发用户登录接口" --tech-stack springboot --language java

    告诉 AI 具体要求:「基于 SpringBoot 3 + MyBatis-Plus,开发用户登录接口,包含参数校验、JWT 生成、密码加密,接口返回格式统一为 {code:xx, msg:xx, data:xx}」。

    ✅ 预期输出:

    • 完整的 Controller/Service/Mapper 代码(含 TypeScript 类型定义,供前端复用);
    • 接口测试用例(Postman 脚本);
    • 核心注释(适配团队协作)。
  • 批量生成核心接口:对「商品列表、订单创建」等核心接口,重复上述命令,或用 BMAD Builder 自定义「SpringBoot 接口生成工作流」,批量生成符合规范的代码。

4.2 Vue+TypeScript Web 端开发
  • 执行命令(调用前端智能体,关联后端接口):

    复制代码
    /dev-story --story "开发Web端用户登录页面" --tech-stack vue3-ts --api-spec "后端用户登录接口文档路径/内容"

    告诉 AI 要求:「基于 Vue3 + Element Plus + TypeScript,开发登录页面,包含表单校验、调用后端登录接口、Token 存储、路由守卫」。

    ✅ 预期输出:

    • 完整的 Vue 组件(.vue 文件)、TypeScript 类型定义(.d.ts);
    • 接口请求封装(axios 拦截器);
    • 样式适配(Element Plus 主题)。
  • 组件复用与规范:对「商品列表、分页组件」等通用组件,执行 /create-shared-components 命令,生成可复用的组件库,统一 Web 端代码规范。

4.3 Uniapp 小程序开发
  • 执行命令(调用 Uniapp 智能体,适配多端兼容):

    复制代码
    /dev-story --story "开发小程序用户登录页面" --tech-stack uniapp --adapt-wechat --adapt-alipay

    告诉 AI 要求:「基于 Uniapp,开发小程序登录页面,支持微信授权登录,调用后端登录接口,适配微信/支付宝小程序的样式差异」。
    ✅ 预期输出:

    • Uniapp 页面代码(.vue 文件)、manifest.json 配置(适配多平台);
    • 小程序授权登录逻辑(兼容不同平台的 API 差异);
    • 分包加载配置(避免小程序体积超限)。
5. 多端联调与集成测试(保障多端一致性)

中大型项目的核心风险点在多端联调,需用 BMAD 的测试能力全覆盖:

  1. 代码审查(多端统一)

    复制代码
    /code-review --multi-end --check-consistency "接口参数,数据格式,错误码"

    AI 会对比 Web 端、小程序端调用的接口参数、后端返回的错误码是否统一,指出不一致问题(比如 Web 端用 code:200 表示成功,小程序端用 code:0)。

  2. 企业级测试(TEA 模块)

    复制代码
    /tea-test --scope multi-end --test-type "接口测试,UI测试,兼容性测试"

    ✅ 预期输出:

    • 后端接口自动化测试代码(JUnit 5);
    • Web 端 E2E 测试代码(Cypress);
    • 小程序兼容性测试用例(覆盖不同微信版本);
    • 测试报告(指出接口超时、小程序样式错乱等问题)。
  3. 多端联调排查

    若联调出现问题(比如小程序调用接口跨域、Web 端 Token 失效),执行:

    复制代码
    /debug-story --issue "小程序调用后端接口提示跨域" --tech-stack uniapp,springboot

    AI 会定位问题(如后端未配置跨域),并给出修复代码(SpringBoot 跨域配置类)。

6. 迭代发布与监控
  1. 构建部署脚本生成

    复制代码
    /create-deploy-script --deploy-type "web:nginx,backend:docker,mini:wechat-ci"

    AI 会生成:

    • Web 端打包脚本(npm run build)+ Nginx 配置;
    • 后端 Dockerfile + docker-compose 配置;
    • 小程序上传脚本(微信开发者工具 CI 命令)。
  2. 监控告警配置

    复制代码
    /create-monitor-config --tech-stack springboot --monitor-type "日志,接口耗时,错误率"

    生成 SpringBoot 日志配置(Logback)、接口耗时监控(Micrometer + Prometheus)配置,及时发现线上问题。

二、中大型多端项目的核心风险与应对策略

风险类型 具体表现 应对方案(结合 BMAD 特性)
多端技术栈适配风险 Web/Vue+TS、后端/SpringBoot、小程序/Uniapp 的代码规范、接口格式不一致 1. 用 /create-architecture 生成多端统一规范文档 ;2. 用 /code-review --multi-end 自动校验一致性;3. 自定义 BMAD 工作流,强制接口参数/错误码统一
架构膨胀与失控 中大型项目迭代中,后端分层混乱、前端组件冗余、小程序分包不合理 1. 每个迭代前执行 /architecture-review 校验架构合规性;2. 用 BMAD 的「规模自适应智能」,自动提醒架构冗余点;3. 拆分微模块(如后端按业务拆微服务)
多智能体协作混乱 调用多个智能体(前端/后端/测试)时,需求理解偏差、代码衔接断层 1. 用 --party-mode 让多智能体在同一会话协作,共享上下文;2. 执行 /requirement-sync 同步多端需求理解;3. 指定「主智能体(PM)」统一协调
测试覆盖不足 多端场景多,手动测试漏测(如小程序支付场景、Web 端权限边界) 1. 启用 Test Architect 模块,生成多端全场景测试用例 ;2. 执行 /auto-test 生成自动化测试代码,覆盖接口、UI、兼容性;3. 用 /QA --full 做全量回归测试
迭代进度失控 中大型项目需求多,迭代周期内无法完成多端任务,延期风险高 1. 用 /sprint-planning 自动拆分最小可交付任务(MVP);2. 执行 /progress-tracking 每日生成进度报告,识别阻塞点;3. 优先开发核心接口/页面,非核心功能后置
小程序兼容/性能风险 小程序在不同微信版本、设备上样式错乱、加载慢、体积超限 1. 用 /dev-story --adapt-wechat --performance 生成适配代码;2. 执行 /mini-program-check 自动检测体积/性能问题;3. 生成分包加载、图片懒加载优化代码
后端接口性能风险 中大型项目数据量增加,接口响应慢、数据库查询卡顿 1. 用 /code-review --performance 检测后端慢查询、冗余代码;2. 生成数据库索引优化建议、接口缓存(Redis)代码;3. 监控接口耗时,及时预警
数据库与缓存一致性风险 缓存与 DB 不一致、缓存穿透/击穿、迁移脚本与代码不同步、Flowable 流程与业务状态不一致 1. 在架构中明确缓存更新策略与 Key 规范,Story 中实现 Cache-Aside 与防护;2. 用 Flyway/Liquibase 管理迁移,/dev-story 生成的实体与脚本与架构文档对齐;3. Flowable 流程变更与业务 Story 同步评审,测试覆盖关键分支与回滚场景

三、总结

  1. 核心开发流程 :中大型多端项目需放弃轻量的「快速流」,采用 BMAD 「完整规划流」:安装 Cursor 与 BMAD → 初始化多端配置 → 全局产品/架构规划 → 基础设施(数据库、缓存、Flowable 工作流)设计 → 迭代拆分 → 分端模块化开发 → 多端联调测试 → 发布监控,核心是利用 --party-mode 多智能体协作和 Test Architect 模块保障多端一致性。
  2. 基础设施先行:数据库(表结构、迁移、索引)、缓存(Redis 策略与 Key 规范)、Flowable 工作流(流程定义、集成方式)应在架构阶段明确,并拆成可执行的 Epic/Story,与后端开发、代码评审和测试闭环。
  3. 风险防控核心:围绕「多端一致性」(规范+自动校验)、「架构可控」(定期评审)、「数据库与缓存一致性」(策略+迁移+防护)、「测试全覆盖」(自动化+全场景)展开,用 BMAD 的自定义工作流和规模自适应能力提前规避风险。
  4. 提效关键 :重复的多端代码(如接口类型定义、通用逻辑)通过 BMAD Builder 自定义工作流批量生成;数据库实体与迁移、缓存封装、Flowable 流程接口也可按规范由 /dev-story 生成,减少重复开发,聚焦核心业务逻辑。
相关推荐
2501_901147831 小时前
打家劫舍问题的动态规划解法与性能优化笔记
笔记·算法·动态规划
像豆芽一样优秀2 小时前
Easy-Vibe Task02学习笔记
笔记·学习
wdfk_prog2 小时前
EWMA、加权平均与一次低通滤波的对比与选型
linux·笔记·学习·游戏·ssh
Hello_Embed2 小时前
STM32F030CCT6 开发环境搭建
笔记·stm32·单片机·嵌入式·freertos
蒸蒸yyyyzwd3 小时前
os 计网学习笔记
笔记·学习
Katecat996633 小时前
织物疵点检测与分类:Cascade-Mask-RCNN_RegNetX实验笔记
笔记·数据挖掘
日更嵌入式的打工仔3 小时前
LAN9253中文注释第四/五章
笔记
阿i索4 小时前
流对象输入输出(cin/cout)
c++·笔记·学习
李派森4 小时前
AI大模型之丙午马年运势模型的构建与求解
笔记·算法