SuperAPI AI 工具集

bmad-tea-framework

测试与质量

查看项目

更新于 10-16 15:04

技能介绍

用途

bmad-tea-framework 是 bmad-code-org/bmad-method-test-architecture-enterprise 提供的测试框架技能。其目标是为浏览器、后端或移动端技术栈搭建生产级测试框架、CI/CD 质量流水线,或两者同时进行,涵盖技术栈选择、fixtures、helpers、hooks、质量门禁和评估计划渲染。当用户说「lets setup test framework」或「I want to initialize…」等类似请求时使用。

该技能将运行者定位为「主测试架构师(Master Test Architect)」,在与既有的名称、身份与 communication_style 合并的基础上运作。

约定

  • 裸路径(如 instructions.md)从技能根目录解析。
  • {skill-root} 指向本技能的安装目录(customize.toml 所在位置)。
  • {project-root} 是从项目工作目录向上查找、最近的包含 _bmad/ 的文件夹。
  • {tea-knowledge} 是安装在本技能旁边的 bmod-tea 技能的 knowledge/ 文件夹:{skill-root}/../bmod-tea/knowledge,其中的 tea-index.csv 以该文件夹的相对路径列出每个片段。
  • {skill-name} 解析为技能目录的 basename。
  • instructions.md、checklist.md、steps-c/...、steps-e/...、steps-v/... 以及模板等同级工作流文件从 {skill-root} 解析。

只读请求门禁

在激活钩子或项目写入之前,加载 {skill-root}/resources/setup-routing.md 并执行其第 1 节。该节确定范围与缺失框架的提议;若用户拒绝则停止运行。保留来自 CI 适配器的预设范围与操作。

激活时

在解析自定义或运行钩子之前,检查 {project-root}/_bmad/custom/ 下是否存在 bmad-testarch-framework.toml、bmad-testarch-framework.user.toml、bmad-testarch-ci.toml 和 bmad-testarch-ci.user.toml。若存在任一文件,停止并告知用户运行 npx --package=bmad-method-test-architecture-enterprise@3 tea-migrate-customizations --project-root {project-root}。解决报告的手工合并后,重新开始新对话。在遗留覆盖仍存在时,不得以默认设置继续。

步骤 1:解析 Workflow 块

运行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow

若脚本失败,则自行按 base → team → user 顺序读取以下三个文件,并应用与解析器相同的结构合并规则:

  • {skill-root}/customize.toml —— 默认值
  • {project-root}/_bmad/custom/{skill-name}.toml —— 团队覆盖
  • {project-root}/_bmad/custom/{skill-name}.user.toml —— 个人覆盖

任何缺失的文件跳过。标量覆盖,表深合并,以 code 或 id 为键的表数组替换匹配条目并追加新条目,其余数组追加。

当范围包含 CI 时,在任何 CI 钩子、问候、契约冻结或 worker 启动之前,先通过 resources/setup-routing.md 第 2 节解析 ci_workflow。单独保留 canonical workflow 用于显式平台优先级。此解析仅读取设置;下面的激活阶段执行适用的钩子与事实。

步骤 2:执行前置步骤

当范围包含 framework 时,按顺序通过 {skill-root}/resources/setup-state.md 第 3 节执行 {workflow.activation_steps_prepend} 中的每个条目。仅 CI 时跳过 framework 的前置/后置钩子、持久化事实与完成钩子。当范围包含 CI 时,现在通过同一持久化协议执行每个 ci_workflow.activation_steps_prepend 条目,在配置/问候之前。请求门禁已在此步骤前恢复当前运行并持久化其 journal。在执行每个条目之前保存其 started 标记,跳过已完成条目,遇到结果不确定的已启动条目则停止。

步骤 3:加载持久化事实

当范围包含 framework 时,将 {workflow.persistent_facts} 中每个条目视为你在本次工作流运行余下过程中持续携带的基础上下文。当范围包含 CI 时,按相同规则加载 ci_workflow.persistent_facts。仅 CI 时加载其 CI 事实并跳过 framework 事实。以 file: 为前缀的条目是从 {project-root} 解析的路径或 glob —— 展开它们并按路径字典序加载每个匹配文件作为事实。其他条目为逐字事实。

步骤 4:加载配置

运行:uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core --key modules.tea。若脚本失败,则自行按上述合并规则依次合并 {project-root}/_bmad/config.toml、{project-root}/_bmad/custom/config.toml 和 {project-root}/_bmad/custom/config.user.toml。若 _bmad/config.toml 缺失或没有 modules.tea 表,告知用户 TEA 未设置,请其先运行 bmad setup tea,并停止。

每个 core 与 modules.tea 键可作为 {<key>} 以及在后续步骤中作为 config.<key> 使用。将值中的 {project-root} 替换为项目根目录。设置答案为字符串:将 "true" 和 "false" 读作布尔值。

若 {tea-knowledge}/tea-index.csv 不存在,则 TEA 知识库未安装。告知用户,提议用 npx skills add bmad-code-org/bmad-method-test-architecture-enterprise --skill bmod-tea 安装,若同意则运行该命令,并停止直到其存在。

步骤 5:问候用户

以 {communication_language} 向 {user_name} 问候。

步骤 6:执行后置步骤

问候之后,通过相同的单条目持久化钩子协议执行每个适用的后置条目:当范围包含 framework 时执行 framework {workflow.activation_steps_append},随后当范围包含 CI 时执行 ci_workflow.activation_steps_append。在其条目成功后,将每个适用阶段保存到 activation_completed。在每次范围与操作 Resume 中保留完整 journal 与 hook ledger。

激活完成。开始下面的工作流。

工作流架构

技能根目录下的现有 framework 步骤与 ci/ 下的 CI 步骤共享范围与操作路由。通过向 bmad-tea-framework 请求 CI 范围来选择 CI 设置。

创建与编辑 CI 阶段会检测 ci/evaluation-ci-plan.json 并通过 {skill-root}/ci/steps-c/step-03b-render-evaluation-plans.md 渲染它。评估会以 create 或 edit 模式向 bmad-tea-framework 请求 CI 范围。

初始化序列

完整加载 {skill-root}/resources/setup-routing.md。在只读门禁与 canonical 激活之后继续其第 2 至第 4 节。其 checkpoint、自定义与完成规则适用于以下每个步骤。不要重复 canonical 激活或范围问题。

Framework 阶段

  • 若为 C:加载 {skill-root}/steps-c/step-01-preflight.md
  • 若为 R:仅对没有 journal next position 的遗留 Create checkpoint 加载 {skill-root}/steps-c/step-01b-resume.md。由 journal 支持的 Resume 直接分发其保存的 C/E/V 下一个文件/子节。
  • 若为 V:加载 {skill-root}/steps-v/step-01-validate.md
  • 若为 E:加载 {skill-root}/steps-e/step-01-assess.md

CI 阶段

CI 设置与适用的激活钩子已在上述激活阶段处理。保持 {skill-root} 绑定到 canonical framework 目录;不要在阶段交接时重放 CI 激活。

  • 若为 C:加载 {skill-root}/ci/steps-c/step-01-preflight.md
  • 若为 R:仅对没有 journal next position 的遗留 Create checkpoint 加载 {skill-root}/ci/steps-c/step-01b-resume.md。由 journal 支持的 Resume 直接分发其保存的 C/E/V 下一个文件/子节。
  • 若为 V:加载 {skill-root}/ci/steps-v/step-01-validate.md
  • 若为 E:加载 {skill-root}/ci/steps-e/step-01-assess.md

对于两种范围,协调器在同一操作与约定契约下运行适用的 framework 与 CI 阶段。在并发生成之前先阅读 resources/setup-parallel.md。每个阶段终态都会加载 {skill-root}/resources/setup-phase-completion.md;当所有请求阶段满足其操作特定的完成标准后,完成即发生。

限制与未提供信息

资料未提供收费方式、价格、支持的具体平台与语言清单、效果评测数据以及版本兼容性细节,这些事实暂未提供。