BMAD-METHOD 官方模块体系解析:bmb / cis / gds / tea 四大模块、安装器分发机制与版本通道
2026/9/18 18:16:40 网站建设 项目流程

BMAD-METHOD 官方模块体系解析:bmb / cis / gds / tea 四大模块、安装器分发机制与版本通道

【免费下载链接】BMAD-METHODBreakthrough Method for Agile Ai Driven Development项目地址: https://gitcode.com/gh_mirrors/bm/BMAD-METHOD

BMAD-METHOD 的核心功能由内嵌的 core 与 bmm(Agile 套件)提供,而领域化的扩展能力则通过官方模块体系交付:在npx bmad-method install时选择 bmb、cis、gds、tea 四个官方模块之一或多个,安装器会自动完成下载、配置与 IDE 集成。本文基于官方模块参考文档,结合仓库中的安装文档、模块清单与 web bundle 发布清单,完整讲清各模块提供的 Agent 与 Workflow 能力、安装器的模块发现机制、版本通道(stable/next/pinned)控制方式,以及自定义模块的安装与更新流程,帮助读者在实际项目中做出模块选型并稳定复现团队安装。

BMad 的扩展模型:核心 + BMM + 官方模块

BMad 采用"核心 + 模块"的分层架构:

  • core(内置核心模块):BMad 的基础方法论与路由能力,随安装器二进制一起分发,不从外部仓库克隆;
  • bmm(Breakthrough Method of Agile,Agile 套件):软件开发的敏捷流程套件,同样内嵌在安装器包中;
  • 官方模块(bmb / cis / gds / tea):为特定领域提供额外 Agent、Workflow 与任务的可选包,通过独立仓库发布、由安装器按 semver tag 克隆安装。

这种设计的直接体现是仓库中每个 skill 都携带一个 module-manifest.toml,其中module键声明该 skill 所属的模块,knowledge键指明该模块的路由知识文档位置:

module = "toolbox" version = "6.13.0-next" update_source = "github:bmad-code-org/BMAD-METHOD/skills" knowledge = "`references/help.md` in the `bmad` skill"

从源码结构看,安装后的 BMad 帮助 skill(见 bmad 帮助协议)会在每次请求时重新扫描已安装 skill 的module-manifest.toml,按module键把磁盘上的 skill 分组为"当前模块视图",再跟随knowledge指向的文档进行路由。也就是说,磁盘上的 manifest 是模块成员关系的唯一事实来源——未安装的模块不会被报告为缺失成员,这正是模块可选安装机制能成立的前提。

安装:一条命令选择官方模块

安装与选择模块只需一条命令,交互向导会依次询问安装目录、要安装的模块(复选框形式列出 core、bmm、bmb、cis、gds、tea)、是否接受各外部模块的最新稳定 tag、要集成的 AI 工具/IDE,以及各模块的配置项(项目名、语言、输出目录等):

npx bmad-method install

前置条件为 Node.js 20.12+(安装器要求)、Git(克隆外部模块需要),以及一个受支持的 AI 工具(可用npx bmad-method install --list-tools查看全部工具 ID)。详细选项参见安装文档。

官方模块详解

BMad Builder(代码:bmb)

BMad Builder 是"元模块":用来扩展 BMad 框架本身的模块,提供带引导的向导,帮助你创建特定领域的自定义 Agent、Workflow 与模块。

npm 包名:bmad-builder(独立仓库发布)

提供能力:

  • Agent Builder— 创建拥有自定义专业领域与工具访问权限的 AI Agent;
  • Workflow Builder— 设计包含步骤与决策点的结构化流程;
  • Module Builder— 将 Agent 与 Workflow 打包成可分享、可发布的模块;
  • 交互式配置,支持 YAML 配置与 npm 发布。

Builder 的产物(自定义模块)与官方模块走同一条安装通道:先发布到 Git 仓库(或在本地目录开发),其他团队成员用--custom-source <repo-url>安装,见下文"自定义模块安装"一节。

Creative Intelligence Suite(代码:cis)

面向开发前阶段(upfront)的结构化创意、头脑风暴与创新的 AI 工具集。套件提供多个 Agent,基于成熟框架引导头脑风暴、设计思维与问题解决:

npm 包名:bmad-creative-intelligence-suite(独立仓库发布)

提供能力:

  • Innovation Strategist、Design Thinking Coach、Brainstorming Coach三个 Agent;
  • Problem Solver 与 Creative Problem Solver,分别对应系统化思维与横向(lateral)思维;
  • Storyteller 与 Presentation Master,用于叙事构建与演示准备;
  • 头脑风暴框架,包括 SCAMPER、逆向头脑风暴(Reverse Brainstorming)与问题重构(problem reframing)。

SCAMPER 是一个结构化创意技术助记符:Substitute(替代)、Combine(组合)、Adapt(改造)、Modify(修改)、Put to another use(另作他用)、Eliminate(删除)、Reverse(反转),用于系统性地探索一个产品或想法可能的变形以产生创新。

值得注意的是,cis 的头脑风暴能力在仓库中还有一份"Web 分发版":web-bundles/brainstorming-coach(见 web-bundles/bundles.json),把 60 种头脑风暴技术(含 SCAMPER)打包为可安装到 Gemini Gem / ChatGPT Custom GPT 的 web bundle,供订阅用户在不消耗 IDE token 的情况下做规划。

Game Dev Studio(代码:gds)

面向游戏开发的结构化 Workflow,适配 Unity、Unreal、Godot 与自研引擎,支持从原型到大规模生产的规划深度;实现阶段收敛到标准的 Build 实现循环。

npm 包名:bmad-game-dev-studio(独立仓库发布)

提供能力:

  • 游戏设计文档(GDD)生成 Workflow—— GDD 即 Game Design Document,详细描述游戏机制、世界观、角色、关卡与待开发的全部方面;
  • 游戏感知的上下文与规划,直接喂给标准 Build 实现循环;
  • 叙事设计支持:角色、对话与世界观构建;
  • 覆盖 21+ 种游戏类型,并给出引擎特定的架构建议。

Test Architect(TEA,代码:tea)

企业级测试战略、自动化建议与发布门禁决策,由一个专家 Agent(Murat,Master Test Architect and Quality Advisor)加九个结构化 Workflow 组成。TEA 比内置的 QA Workflow 走得更深:基于风险的优先级划分与需求追踪(traceability)。

npm 包名:bmad-method-test-architecture-enterprise(独立仓库发布)

提供能力:

  • Murat Agent(首席测试架构师与质量顾问);
  • 测试设计、ATDD(验收测试驱动开发)、自动化、测试评审与需求追踪的 Workflow;
  • NFR 评估、CI 配置与测试框架脚手架;
  • P0–P3 优先级划分,附带 Playwright Utils 与可选的 MCP 集成。

NFR(Non-Functional Requirement)指描述系统质量约束(性能、安全、可靠性、易用性)而非功能特性本身的需求。

仓库中存在可直接对照的证据:内置的 bmad-qa-generate-e2e-tests skill 是 core 侧的 E2E 测试生成能力,而安装文档明确指出 TEA 的bmad-testarch-automateskill 生成的测试覆盖更重——包含 fixtures、更多测试层级与知识库模式。从源码结构看,两者定位互补:内置 Workflow 面向日常交付的快速验证,TEA 面向需要测试策略与发布门禁的企业场景。

安装结果:_bmad/目录布局与 manifest

无论安装哪些模块,安装完成后项目内都会出现统一的_bmad/结构,自定义模块与官方模块并列存放:

your-project/ ├── _bmad/ │ ├── core/ # 内置核心模块 │ ├── bmm/ # 官方模块(如已选择) │ ├── my-module/ # 你的自定义模块 │ │ ├── my-skill/ │ │ │ └── SKILL.md │ │ └── module-help.csv │ └── _config/ │ └── manifest.yaml # 记录所有模块、版本与来源 └── ...

_bmad/_config/manifest.yaml记录每个模块的确切版本,例如:

modules: - name: bmb version: v1.7.0 # tag;next 通道则记录 "main" channel: stable # stable | next | pinned sha: 86033fc9aeae2ca6d52c7cdb675c1f4bf17fc1c1 source: external repoUrl: https://github.com/bmad-code-org/bmad-builder

其中sha字段对所有基于 Git 的模块(外部、社区、URL 型自定义模块)都会写入;内置模块(core、bmm)与本地路径型自定义模块没有该字段——它们的代码随安装器二进制或本地文件系统走,不存在可克隆的 ref。自定义模块还会记录repoUrl(Git 来源)或localPath(本地来源),供后续更新时重新定位源。

版本通道:stable / next / pinned

对每个外部模块,安装器按三条通道之一解析要安装的版本:

通道安装内容适用人群
stable(默认)已发布的最高 semver tag,排除v2.0.0-alpha.1之类的预发布版本大多数用户
next安装时刻 main 分支的 HEAD贡献者、早期采用者
pinned你指定的特定 tag企业安装、CI 可复现性

通道按模块独立设定,可以混搭:例如让 bmb 跑next而 cis 留在stable。命令行控制方式:

# 企业锁定安装——按字节可复现 npx bmad-method install --yes \ --modules bmm,bmb,cis \ --pin bmb=v1.7.0 --pin cis=v0.2.0 \ --tools claude-code # 前沿体验——外部模块全部切到 main HEAD npx bmad-method install --yes --modules bmm,bmb --all-next --tools claude-code

选项重叠时的优先级为:--pin--next=--next=--channel/--all-*,后者胜注册表默认值(stable)。例如--all-next --pin cis=v0.2.0会把 bmb、gds、tea 都切到 next,同时把 cis 钉在 v0.2.0。

另外注意一个边界:core 与 bmm 没有自己的通道,它们随安装器二进制版本走——npx bmad-method install得到稳定版 core/bmm,npx bmad-method@next install得到预发布 core/bmm;对它们使用--pin bmm=...会无效并被安装器警告。完整的非交互选项表(--set--list-options--action等)见安装文档。

还有一个运维细节值得记录:解析稳定 tag 需要对 GitHub API 的匿名调用(每个外部模块一次),匿名限额为每 IP 每小时 60 次,NAT 后的办公网或 CI runner 池可能耗尽该限额;在环境中设置GITHUB_TOKEN(任意具有公共仓库读权限的 PAT)可将限额提升到每账号每小时 5000 次。

自定义模块安装:discovery 与 direct 两种发现模式

社区模块与自定义模块通过同一个安装器安装,来源可以是任意 Git 仓库或本地目录。交互式安装时,在官方模块选择之后,安装器会询问是否安装自定义或社区模块(Git URL 或本地路径),回答 yes 并输入来源后,安装器列出发现的模块供勾选,已安装的模块会预勾选为更新项。URL 型来源会显示警告:UNVERIFIED MODULE — 该模块未经 BMad 团队审核,只安装你信任的来源

安装器按来源内容选择两种发现模式:

模式触发条件行为
Discovery来源含.claude-plugin/marketplace.json从 manifest 列出全部插件,由你挑选安装哪些
Direct未找到marketplace.json扫描目录中的 skill(含SKILL.md的子目录),作为单个模块解析

需要说明的是,.claude-plugin/marketplace.json只是一条共享的安装器约定,不要求使用 Claude 或其 API,也不改变你实际使用的 AI 工具。

支持的输入类型包括:任意主机的 HTTPS/HTTP URL、带子目录的 URL(.../tree/main/my-module)、SSH URL(git@host:org/repo.git)、带@ref的 URL(...@v1.2.0)、绝对本地路径与~路径。非交互安装使用--custom-source,来源不可解析时会被报告并跳过,其余来源继续安装,多个来源可用逗号分隔。完整来源示例表、非交互配方见添加模块文档。

本地开发自定义模块的典型流程

  1. 用 BMad Builder 的bmad-module-builder脚手架出模块结构;
  2. 用 Builder 工具添加 skills、agents 与 workflows;
  3. 先用本地路径安装快速迭代(本地来源按路径引用而非拷贝缓存,重新安装即取最新改动);
  4. 发布到 Git 仓库,他人用--custom-source <your-repo-url>安装;
  5. 如需支持 discovery 模式,在仓库根加入.claude-plugin/marketplace.json

一个行为细节:若安装后删除了本地源目录,_bmad/中已安装的模块文件会保留,只是更新时该模块被跳过,直到源路径恢复。

模块更新:quick-update 与 update 两条路径

自定义模块参与常规更新流程,区别在于动作类型:

  • Quick Update(--action quick-update:从 manifest 记录的来源刷新已安装模块。源不可用的模块带警告跳过、文件保持原位;Git 源不可达时不刷新、使用缓存的克隆。
  • Full Update(--action update:重走模块选择流程,可增删自定义模块。注意--yes且无--action时,传了--custom-source会默认走 full update 而非 quick update。

更新策略与通道联动:quick-update 只对 stable 通道应用补丁与次版本升级,拒绝主版本升级;pinnednext通道不被 quick-update 触碰,因此钉住的安装不会自行漂移——如果钉住安装确实发生了变化,检查_bmad/_config/manifest.yaml中的channel: pinned及固定的versionsha

安装后的定制面:customize.toml 三层合并

模块不只是"装上即用"——每个可定制 skill 在安装目录内自带customize.toml作为定制 schema(可定制字段的定义文件)。定制走覆盖文件而非编辑已装文件,更新永远不会触碰你的覆盖。解析器按三层读取、高层胜出:

优先级 1(胜): _bmad/custom/<skill>.user.toml (个人,gitignore) 优先级 2: _bmad/custom/<skill>.toml (团队,提交进仓库) 优先级 3(基线): skill 自带的 customize.toml (出厂默认)

合并规则只取决于值形状:标量直接覆盖;表(table)深合并;带code(或id)键的表数组按键合并;其他数组追加。覆盖无法删除基线项,且只写稀疏覆盖(省略的字段继承下层),全量拷贝customize.toml会把今天的默认值锁死,导致后续更新的默认值变更被静默遮蔽。可用bmad-customizeskill 走引导式定制路径。仓库中每个 skill 目录都可以看到这一机制的实体,例如 bmad-agent-pm 的 customize.toml。详见定制文档。

社区模块与 Marketplace

参考文档明确说明:社区模块与模块 Marketplace 处于"即将推出"(à venir)状态,进展关注 BMad 的 GitHub 组织即可。这解释了仓库侧的现状:web-bundles/目录下已有六条 bundle 发布记录(见 web-bundles/bundles.json),但面向 IDE 的模块 marketplace 尚未落地。

作为过渡,仓库提供的另一条分发通道是web bundles:把 BMad skill 重新打包为 Gemini Gem 或 ChatGPT Custom GPT,用于规划阶段(头脑风暴、产品简报、PRFAQ、PRD、UX、市场调研),产物粘回仓库后在 IDE 中继续实现。六条 bundle 均带默认 persona 与一个对照 swap persona,发布记录含schemaVersion: 1.0releasedAt: 2026-05-25标签。web bundle 与 IDE 模块定位互补——前者面向对话式规划,后者面向仓库内的实现与流程。使用方式见使用 web bundles 文档。

小结

BMAD-METHOD 的模块体系可以归纳为四条要点:

  1. 模块即领域能力包:bmb(造模块的元模块)、cis(创意与头脑风暴 Agent)、gds(游戏开发 Workflow)、tea(企业级测试架构),各自独立仓库发布,安装时按代码(bmb/cis/gds/tea)勾选;
  2. 磁盘 manifest 是模块事实来源module-manifest.tomlmodule键决定 skill 的模块归属,_bmad/_config/manifest.yaml记录版本、通道与来源 sha,两者共同支撑帮助路由与可复现更新;
  3. 版本通道按模块独立:stable/next/pinned 三通道可混搭,--pin提供企业级锁定,quick-update 不触碰 pinned 与 next;
  4. 自定义模块与官方模块同源同通道:Git URL 或本地路径经--custom-source安装,discovery 与 direct 两种模式自动选择,更新复用同一 manifest 机制。

对实际项目而言,建议的选型路径是:先用默认 core + bmm 起步,按领域痛点增装——需要造内部 Agent 选 bmb,前期创意密集选 cis(或在 Web 端用对应 bundle),游戏项目选 gds,企业质量门禁需求选 tea;团队环境统一用--pin锁定版本并配合GITHUB_TOKEN规避 API 限流。

术语表

  • SCAMPER:结构化创意技术助记符(Substitute, Combine, Adapt, Modify, Put to another use, Eliminate, Reverse),用于系统探索产品或想法的可行变形以产生创新;
  • NFR(Non-Functional Requirement):描述系统质量约束(性能、安全、可靠性、易用性)而非功能特性的需求;
  • GDD(Game Design Document):游戏设计文档,详细描述游戏机制、世界观、角色、关卡及所有待开发方面;
  • ATDD(Acceptance Test-Driven Development):验收测试驱动开发,先以验收测试定义行为再实现。

【免费下载链接】BMAD-METHODBreakthrough Method for Agile Ai Driven Development项目地址: https://gitcode.com/gh_mirrors/bm/BMAD-METHOD

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询