bmad-method-test-architecture-enterprise 1.7.0 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +0 -12
- package/README.md +24 -13
- package/docs/explanation/tea-overview.md +3 -3
- package/docs/how-to/customization/extend-tea-with-custom-workflows.md +73 -0
- package/docs/index.md +2 -1
- package/docs/reference/commands.md +3 -0
- package/docs/reference/configuration.md +37 -15
- package/docs/reference/troubleshooting.md +22 -9
- package/package.json +1 -1
- package/release_notes.md +6 -6
- package/src/agents/bmad-tea/SKILL.md +70 -0
- package/src/agents/bmad-tea/bmad-skill-manifest.yaml +14 -0
- package/src/module.yaml +8 -8
- package/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +2 -1
- package/test/test-installation-components.js +84 -20
- package/tools/validate-agent-schema.js +105 -5
- package/docs/MIGRATION.md +0 -488
- package/src/agents/tea.agent.yaml +0 -67
- package/src/teams/default-party.csv +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -212,16 +212,6 @@ All workflows implement the **trivariate step pattern** (Create/Edit/Validate):
|
|
|
212
212
|
- Agent schema validation for module independence
|
|
213
213
|
- Pre-commit hook compatibility with documentation build process
|
|
214
214
|
|
|
215
|
-
### Migration Guide
|
|
216
|
-
|
|
217
|
-
For users migrating from BMM-embedded TEA, see [`docs/MIGRATION.md`](docs/MIGRATION.md) for:
|
|
218
|
-
|
|
219
|
-
- Command namespace updates
|
|
220
|
-
- Installation instructions
|
|
221
|
-
- Configuration changes
|
|
222
|
-
- Path reference updates
|
|
223
|
-
- Troubleshooting common issues
|
|
224
|
-
|
|
225
215
|
### Documentation
|
|
226
216
|
|
|
227
217
|
- Website: [test-architect.bmad-method.org](https://test-architect.bmad-method.org) (upcoming)
|
|
@@ -249,5 +239,3 @@ For users migrating from BMM-embedded TEA, see [`docs/MIGRATION.md`](docs/MIGRAT
|
|
|
249
239
|
- Complete documentation suite
|
|
250
240
|
|
|
251
241
|
---
|
|
252
|
-
|
|
253
|
-
_For detailed migration instructions, see [docs/MIGRATION.md](docs/MIGRATION.md)_
|
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ Each workflow directory contains these files, and each has a specific job:
|
|
|
29
29
|
|
|
30
30
|
| File | What it does | When it loads |
|
|
31
31
|
| ----------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
32
|
-
| `
|
|
32
|
+
| `SKILL.md` | Expert persona — identity, principles, critical actions, capabilities table | First — always in context |
|
|
33
33
|
| `workflow.yaml` | Machine-readable metadata — config variables, required tools, tags | Second — resolves `{project-root}`, `{config_source}`, `{test_artifacts}` |
|
|
34
34
|
| `workflow.md` | Human-readable entry point — goals, mode menu (Create/Edit/Validate), routes to first step | Second — presents mode choice |
|
|
35
35
|
| `instructions.md` | Workflow-specific rules and context (optional, supplements workflow.md) | On demand |
|
|
@@ -54,8 +54,8 @@ flowchart LR
|
|
|
54
54
|
|
|
55
55
|
### How It Works at Runtime
|
|
56
56
|
|
|
57
|
-
1. **Trigger** — Direct commands are `/bmad:tea:automate` (Claude/Cursor/Windsurf) and `$bmad-tea-testarch-automate` (Codex). `TA` is an agent-menu trigger available only after TEA is activated; the
|
|
58
|
-
2. **Agent loads** — `
|
|
57
|
+
1. **Trigger** — Direct commands are `/bmad:tea:automate` (Claude/Cursor/Windsurf) and `$bmad-tea-testarch-automate` (Codex). Load the conversational TEA menu with `$bmad-tea` in Codex. `TA` is an agent-menu trigger available only after TEA is activated; the capabilities table in `SKILL.md` maps `TA` to the `bmad-testarch-automate` skill.
|
|
58
|
+
2. **Agent loads** — `SKILL.md` injects the persona (identity, principles, critical actions) into the context window.
|
|
59
59
|
3. **Workflow loads** — `workflow.yaml` resolves config variables and `workflow.md` presents the mode menu (Create / Edit / Validate), then routes to the first step file.
|
|
60
60
|
4. **Step-by-step execution** — Only the current step file is in context (just-in-time loading). Each step explicitly names the next one (`nextStepFile: './step-02-...'`). The LLM reads, executes, saves output, then loads the next step. No future steps are ever preloaded.
|
|
61
61
|
5. **Knowledge injection** — Step-01 reads `tea-index.csv` and selectively loads fragments by **tier** (core = always, extended = on-demand, specialized = only when relevant) and **config flags** (e.g., `tea_use_pactjs_utils`). This is deliberate context engineering: a backend project loads ~1,800 lines of fragments; a fullstack project loads ~4,500 lines. Conditional loading cuts context usage by 40-50%.
|
|
@@ -85,7 +85,7 @@ The key insight is that there is **no external runtime engine** — the LLM _is_
|
|
|
85
85
|
|
|
86
86
|
```text
|
|
87
87
|
.claude/commands/ # Generated by installer
|
|
88
|
-
├── bmad-
|
|
88
|
+
├── bmad-tea.md # /tea → loads agent persona + menu
|
|
89
89
|
├── bmad-tea-testarch-automate.md # /automate → loads workflow.xml + workflow.yaml
|
|
90
90
|
├── bmad-tea-testarch-test-design.md # /test-design → ...
|
|
91
91
|
├── bmad-bmm-create-prd.md # /create-prd → BMM workflow
|
|
@@ -105,19 +105,20 @@ npx bmad-method install
|
|
|
105
105
|
|
|
106
106
|
### Tool-specific invocation
|
|
107
107
|
|
|
108
|
-
| Tool | Invocation style | Example
|
|
109
|
-
| ------------------------------- | ------------------------------- |
|
|
110
|
-
| Claude Code / Cursor / Windsurf | Slash command | `/bmad:tea:automate`
|
|
111
|
-
| Codex | `$` skill from `.agents/skills` | `$bmad-tea-testarch-automate` |
|
|
108
|
+
| Tool | Invocation style | Example |
|
|
109
|
+
| ------------------------------- | ------------------------------- | -------------------------------------------- |
|
|
110
|
+
| Claude Code / Cursor / Windsurf | Slash command | `/bmad:tea:automate` |
|
|
111
|
+
| Codex | `$` skill from `.agents/skills` | `$bmad-tea` or `$bmad-tea-testarch-automate` |
|
|
112
112
|
|
|
113
113
|
## Quickstart
|
|
114
114
|
|
|
115
115
|
1. Install TEA (above)
|
|
116
|
-
2.
|
|
116
|
+
2. Load the TEA menu with `$bmad-tea` if you want a conversational entrypoint.
|
|
117
|
+
3. Run one of the core workflows:
|
|
117
118
|
- `TD` / `/bmad:tea:test-design` / `$bmad-tea-testarch-test-design` — test design and risk assessment
|
|
118
119
|
- `AT` / `/bmad:tea:atdd` / `$bmad-tea-testarch-atdd` — failing acceptance tests first (TDD red phase)
|
|
119
120
|
- `TA` / `/bmad:tea:automate` / `$bmad-tea-testarch-automate` — expand automation coverage
|
|
120
|
-
|
|
121
|
+
4. Or use in party mode: `/party` to include TEA with other agents
|
|
121
122
|
|
|
122
123
|
## Engagement Models
|
|
123
124
|
|
|
@@ -146,8 +147,8 @@ TEA variables are defined in `src/module.yaml` and prompted during install:
|
|
|
146
147
|
|
|
147
148
|
- `test_artifacts` — base output folder for test artifacts
|
|
148
149
|
- `tea_use_playwright_utils` — enable Playwright Utils integration (boolean)
|
|
149
|
-
- `tea_use_pactjs_utils` — enable Pact.js Utils integration for contract testing (boolean)
|
|
150
|
-
- `tea_pact_mcp` — SmartBear MCP for PactFlow/Broker interaction: mcp, none (string)
|
|
150
|
+
- `tea_use_pactjs_utils` — enable Pact.js Utils integration for contract testing when your project explicitly uses Pact (boolean)
|
|
151
|
+
- `tea_pact_mcp` — SmartBear MCP for PactFlow/Broker interaction when broker integration is needed: mcp, none (string)
|
|
151
152
|
- `tea_browser_automation` — browser automation mode: auto, cli, mcp, none (string)
|
|
152
153
|
- `test_framework` — detected or configured test framework (Playwright, Cypress, Jest, Vitest, pytest, JUnit, Go test, dotnet test, RSpec)
|
|
153
154
|
- `test_stack_type` — detected or configured stack type (frontend, backend, fullstack)
|
|
@@ -170,7 +171,7 @@ Workflows load only the fragments required for the current task to stay focused
|
|
|
170
171
|
src/
|
|
171
172
|
├── module.yaml
|
|
172
173
|
├── agents/
|
|
173
|
-
│ └── tea.
|
|
174
|
+
│ └── bmad-tea/ # Native skill: SKILL.md + bmad-skill-manifest.yaml
|
|
174
175
|
├── workflows/
|
|
175
176
|
│ └── testarch/
|
|
176
177
|
│ ├── bmad-teach-me-testing/
|
|
@@ -187,6 +188,16 @@ src/
|
|
|
187
188
|
└── knowledge/
|
|
188
189
|
```
|
|
189
190
|
|
|
191
|
+
## Extending TEA
|
|
192
|
+
|
|
193
|
+
Custom workflows are still compatible with TEA, but they are no longer implicitly absorbed into TEA core. The supported path is:
|
|
194
|
+
|
|
195
|
+
1. Package the workflow as custom content or a custom module.
|
|
196
|
+
2. Attach it to `bmad-tea` using the agent customization flow.
|
|
197
|
+
3. Reinstall/update BMAD so the new menu item and workflow are registered.
|
|
198
|
+
|
|
199
|
+
See [Extend TEA with Custom Workflows](docs/how-to/customization/extend-tea-with-custom-workflows.md) and the BMAD customization guide at [`BMAD-METHOD/docs/how-to/customize-bmad.md`](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/docs/how-to/customize-bmad.md).
|
|
200
|
+
|
|
190
201
|
## Contributing
|
|
191
202
|
|
|
192
203
|
See `CONTRIBUTING.md` for guidelines.
|
|
@@ -343,7 +343,7 @@ Production-ready fixtures and utilities that enhance TEA workflows.
|
|
|
343
343
|
Production-ready contract testing utilities that reduce raw Pact.js boilerplate and standardize provider verification patterns.
|
|
344
344
|
|
|
345
345
|
- Install: `npm install -D @seontechnologies/pactjs-utils @pact-foundation/pact`
|
|
346
|
-
- Config: `tea_use_pactjs_utils: true` (default is `
|
|
346
|
+
- Config: `tea_use_pactjs_utils: true` (default is `false`, opt in only when you want Pact-aware workflows)
|
|
347
347
|
- Impacts: `framework`, `atdd`, `automate`, `test-design`, `test-review`, `ci`
|
|
348
348
|
- Utilities include: createProviderState, toJsonMap, setJsonBody, setJsonContent, buildVerifierOptions, buildMessageVerifierOptions, createRequestFilter, noOpRequestFilter, handlePactBrokerUrlAndSelectors, getProviderVersionTags
|
|
349
349
|
- Supports local monorepo flow (`pactUrls`) and remote broker flow (`PACT_BROKER_BASE_URL`, `PACT_BROKER_TOKEN`)
|
|
@@ -386,12 +386,12 @@ Optional MCP integration for design-time broker interaction in contract testing
|
|
|
386
386
|
|
|
387
387
|
**Configuration** (`_bmad/tea/config.yaml`):
|
|
388
388
|
|
|
389
|
-
tea_pact_mcp: "
|
|
389
|
+
tea_pact_mcp: "none" # none | mcp
|
|
390
390
|
|
|
391
391
|
| Mode | What happens |
|
|
392
392
|
| ------ | ------------------------------------------------------------------------------------------------------------------- |
|
|
393
393
|
| `mcp` | TEA can use SmartBear MCP tools for provider-state discovery, test review support, can-i-deploy, and matrix checks. |
|
|
394
|
-
| `none` | TEA
|
|
394
|
+
| `none` | Default. TEA skips broker/MCP integration entirely unless you explicitly enable it. |
|
|
395
395
|
|
|
396
396
|
**Setup:**
|
|
397
397
|
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 'Extend TEA with Custom Workflows'
|
|
3
|
+
description: Add your own workflows to bmad-tea without patching TEA core
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Extend TEA with Custom Workflows
|
|
7
|
+
|
|
8
|
+
TEA is a standalone module now. That means custom workflows are still supported, but they are not automatically folded into TEA core during updates.
|
|
9
|
+
|
|
10
|
+
## The Supported Model
|
|
11
|
+
|
|
12
|
+
Use one of these approaches:
|
|
13
|
+
|
|
14
|
+
1. Package the workflow as custom content or a custom module.
|
|
15
|
+
2. Add a menu entry to `bmad-tea` through BMAD agent customization.
|
|
16
|
+
3. Reinstall or quick-update BMAD so the workflow and menu entry are registered.
|
|
17
|
+
|
|
18
|
+
This keeps your TEA extensions compatible with upstream updates.
|
|
19
|
+
|
|
20
|
+
## Recommended Approach
|
|
21
|
+
|
|
22
|
+
### 1. Create the workflow as custom content
|
|
23
|
+
|
|
24
|
+
Use BMad Builder or your own custom module structure to create a workflow that lives outside TEA core.
|
|
25
|
+
|
|
26
|
+
- BMAD supports custom modules during install/update.
|
|
27
|
+
- BMad Builder is the recommended path for creating reusable custom agents and workflows.
|
|
28
|
+
|
|
29
|
+
See:
|
|
30
|
+
|
|
31
|
+
- [How to Customize BMad](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/docs/how-to/customize-bmad.md)
|
|
32
|
+
- [BMad Builder (BMB)](https://github.com/bmad-code-org/bmad-builder)
|
|
33
|
+
|
|
34
|
+
### 2. Attach the workflow to `bmad-tea`
|
|
35
|
+
|
|
36
|
+
After TEA is installed, use the generated agent customization file for `bmad-tea` under `_bmad/_config/agents/` and append a menu item:
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
menu:
|
|
40
|
+
- trigger: my-custom-workflow
|
|
41
|
+
workflow: 'my-custom/workflows/my-custom-workflow.yaml'
|
|
42
|
+
description: My custom TEA extension workflow
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
This keeps the `bmad-tea` chat/menu experience intact while routing to your custom workflow.
|
|
46
|
+
|
|
47
|
+
### 3. Reinstall or quick-update BMAD
|
|
48
|
+
|
|
49
|
+
Run:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx bmad-method install
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Then choose a normal update path so BMAD re-applies the customization and refreshes the workflow registration.
|
|
56
|
+
|
|
57
|
+
## What Not to Do
|
|
58
|
+
|
|
59
|
+
- Do not patch TEA core files directly if the workflow is project-specific.
|
|
60
|
+
- Do not rely on old embedded-TEA behavior where local workflows appeared to be attached automatically.
|
|
61
|
+
- Do not keep custom workflow logic only in chat instructions. Put it in a real workflow or module so it survives updates.
|
|
62
|
+
|
|
63
|
+
## When to Use Which Approach
|
|
64
|
+
|
|
65
|
+
- **Project-specific workflow**: add custom content and attach it to `bmad-tea`
|
|
66
|
+
- **Reusable internal workflow**: package it as a custom module
|
|
67
|
+
- **Reusable public workflow**: consider publishing a standalone BMAD module
|
|
68
|
+
|
|
69
|
+
## Related Docs
|
|
70
|
+
|
|
71
|
+
- [TEA Command Reference](/docs/reference/commands.md)
|
|
72
|
+
- [TEA Configuration Reference](/docs/reference/configuration.md)
|
|
73
|
+
- [How to Customize BMad](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/docs/how-to/customize-bmad.md)
|
package/docs/index.md
CHANGED
|
@@ -34,7 +34,7 @@ npx bmad-method install
|
|
|
34
34
|
Then trigger workflows via chat:
|
|
35
35
|
|
|
36
36
|
```
|
|
37
|
-
tea
|
|
37
|
+
bmad-tea # Load TEA agent/menu
|
|
38
38
|
test-design # Run Test Design workflow
|
|
39
39
|
```
|
|
40
40
|
|
|
@@ -46,6 +46,7 @@ Pick a path:
|
|
|
46
46
|
- **TEA Lite**: Start with [Test Automation](/how-to/workflows/run-automate) only (30 minutes)
|
|
47
47
|
- **Full TEA**: Start with the [TEA Overview](/explanation/tea-overview) for the complete workflow map
|
|
48
48
|
- **Enterprise**: Choose [Greenfield](/how-to/brownfield/use-tea-for-enterprise) or [Brownfield](/how-to/brownfield/use-tea-with-existing-tests)
|
|
49
|
+
- **Custom Extensions**: See [Extend TEA with Custom Workflows](/how-to/customization/extend-tea-with-custom-workflows)
|
|
49
50
|
|
|
50
51
|
## Core Workflows
|
|
51
52
|
|
|
@@ -7,10 +7,13 @@ description: Quick reference for all 9 TEA workflows - inputs, outputs, and link
|
|
|
7
7
|
|
|
8
8
|
Quick reference for all 9 TEA (Test Engineering Architect) workflows. For detailed step-by-step guides, see the how-to documentation.
|
|
9
9
|
|
|
10
|
+
All workflows listed here are current and supported in TEA, including `nfr-assess`.
|
|
11
|
+
|
|
10
12
|
**Invocation by tool:**
|
|
11
13
|
|
|
12
14
|
- Claude Code / Cursor / Windsurf: use slash commands (for example, `/bmad:tea:automate`)
|
|
13
15
|
- Codex: use `$` skills from `.agents/skills` (for example, `$bmad-tea-testarch-automate`)
|
|
16
|
+
- Custom TEA extensions: package the workflow as custom content/module and attach it to `bmad-tea` via customization. See [Extend TEA with Custom Workflows](../how-to/customization/extend-tea-with-custom-workflows.md)
|
|
14
17
|
|
|
15
18
|
## Quick Index
|
|
16
19
|
|
|
@@ -30,8 +30,8 @@ user_skill_level: intermediate
|
|
|
30
30
|
output_folder: _bmad-output
|
|
31
31
|
test_artifacts: _bmad-output/test-artifacts
|
|
32
32
|
tea_use_playwright_utils: true
|
|
33
|
-
tea_use_pactjs_utils:
|
|
34
|
-
tea_pact_mcp: '
|
|
33
|
+
tea_use_pactjs_utils: false
|
|
34
|
+
tea_pact_mcp: 'none'
|
|
35
35
|
tea_browser_automation: 'auto'
|
|
36
36
|
tea_execution_mode: 'auto'
|
|
37
37
|
tea_capability_probe: true
|
|
@@ -135,7 +135,7 @@ npm install -D @seontechnologies/playwright-utils
|
|
|
135
135
|
|
|
136
136
|
### tea_use_pactjs_utils
|
|
137
137
|
|
|
138
|
-
Enable Pact.js Utils integration for production-ready contract testing utilities.
|
|
138
|
+
Enable Pact.js Utils integration for production-ready consumer-driven contract testing utilities.
|
|
139
139
|
|
|
140
140
|
**Schema Location:** `src/module.yaml` (TEA module config)
|
|
141
141
|
|
|
@@ -143,12 +143,12 @@ Enable Pact.js Utils integration for production-ready contract testing utilities
|
|
|
143
143
|
|
|
144
144
|
**Type:** `boolean`
|
|
145
145
|
|
|
146
|
-
**Default:** `
|
|
146
|
+
**Default:** `false`
|
|
147
147
|
|
|
148
148
|
**Installer Prompt:**
|
|
149
149
|
|
|
150
150
|
```
|
|
151
|
-
Enable Pact.js Utils
|
|
151
|
+
Enable Pact.js Utils for consumer-driven contract testing?
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
**Purpose:** Enables TEA to:
|
|
@@ -168,6 +168,8 @@ Enable Pact.js Utils integration for contract testing?
|
|
|
168
168
|
- `test-review` - Uses pactjs-utils provider/review patterns
|
|
169
169
|
- `ci` - Adds contract-test stage and quality gates
|
|
170
170
|
|
|
171
|
+
**Use this when:** your team already practices consumer-driven contract testing or wants TEA to scaffold Pact-aware patterns on purpose. Leave it off for projects that do not use Pact.
|
|
172
|
+
|
|
171
173
|
**Example (Enable):**
|
|
172
174
|
|
|
173
175
|
```yaml
|
|
@@ -203,14 +205,14 @@ Pact MCP strategy for broker interaction during contract testing workflows.
|
|
|
203
205
|
|
|
204
206
|
**Type:** `string`
|
|
205
207
|
|
|
206
|
-
**Default:** `"
|
|
208
|
+
**Default:** `"none"`
|
|
207
209
|
|
|
208
210
|
**Options:** `"mcp"` | `"none"`
|
|
209
211
|
|
|
210
212
|
**Installer Prompt:**
|
|
211
213
|
|
|
212
214
|
```
|
|
213
|
-
Enable SmartBear MCP for PactFlow/Pact Broker
|
|
215
|
+
Enable SmartBear MCP for PactFlow/Pact Broker? Only needed if you already use a broker.
|
|
214
216
|
```
|
|
215
217
|
|
|
216
218
|
**Purpose:** Controls whether TEA can use SmartBear MCP tools for:
|
|
@@ -226,6 +228,8 @@ Enable SmartBear MCP for PactFlow/Pact Broker interaction?
|
|
|
226
228
|
- `test-review` - MCP-assisted pact review context
|
|
227
229
|
- `ci` - MCP can-i-deploy/matrix guidance references
|
|
228
230
|
|
|
231
|
+
**Use this when:** your project already uses PactFlow or Pact Broker and you want TEA to query broker state during review, generation, or gate guidance. Otherwise leave it set to `none`.
|
|
232
|
+
|
|
229
233
|
**Prerequisites:**
|
|
230
234
|
|
|
231
235
|
```bash
|
|
@@ -960,8 +964,8 @@ project_name: my-project
|
|
|
960
964
|
user_skill_level: beginner # or intermediate/expert
|
|
961
965
|
output_folder: _bmad-output
|
|
962
966
|
tea_use_playwright_utils: true # Recommended
|
|
963
|
-
tea_use_pactjs_utils:
|
|
964
|
-
tea_pact_mcp: '
|
|
967
|
+
tea_use_pactjs_utils: false # Recommended unless you actively use contract testing
|
|
968
|
+
tea_pact_mcp: 'none' # Recommended unless you already use PactFlow/Broker
|
|
965
969
|
tea_browser_automation: 'auto' # Recommended
|
|
966
970
|
tea_execution_mode: 'auto' # Recommended - capability-aware mode selection
|
|
967
971
|
tea_capability_probe: true # Recommended - fallback safely if mode unsupported
|
|
@@ -970,7 +974,7 @@ tea_capability_probe: true # Recommended - fallback safely if mode unsupported
|
|
|
970
974
|
**Why recommended:**
|
|
971
975
|
|
|
972
976
|
- Playwright Utils: Production-ready fixtures and utilities
|
|
973
|
-
- Pact.js Utils:
|
|
977
|
+
- Pact.js Utils: Leave disabled until the project explicitly needs contract testing
|
|
974
978
|
- Browser automation (auto): Smart CLI/MCP selection with fallback
|
|
975
979
|
- Together: The three-part stack (see [Testing as Engineering](/docs/explanation/testing-as-engineering.md))
|
|
976
980
|
|
|
@@ -1022,8 +1026,8 @@ tea_capability_probe: true
|
|
|
1022
1026
|
project_name: monorepo
|
|
1023
1027
|
output_folder: _bmad-output
|
|
1024
1028
|
tea_use_playwright_utils: true
|
|
1025
|
-
tea_use_pactjs_utils:
|
|
1026
|
-
tea_pact_mcp: '
|
|
1029
|
+
tea_use_pactjs_utils: false
|
|
1030
|
+
tea_pact_mcp: 'none'
|
|
1027
1031
|
tea_execution_mode: 'auto'
|
|
1028
1032
|
```
|
|
1029
1033
|
|
|
@@ -1061,10 +1065,10 @@ planning_artifacts: _bmad-output/planning-artifacts
|
|
|
1061
1065
|
implementation_artifacts: _bmad-output/implementation-artifacts
|
|
1062
1066
|
project_knowledge: docs
|
|
1063
1067
|
|
|
1064
|
-
# TEA Configuration (Recommended
|
|
1068
|
+
# TEA Configuration (Recommended baseline)
|
|
1065
1069
|
tea_use_playwright_utils: true # Recommended - production-ready utilities
|
|
1066
|
-
tea_use_pactjs_utils:
|
|
1067
|
-
tea_pact_mcp: '
|
|
1070
|
+
tea_use_pactjs_utils: false # Opt in only if your service uses contract testing
|
|
1071
|
+
tea_pact_mcp: 'none' # Opt in only if your service uses PactFlow/Broker
|
|
1068
1072
|
tea_browser_automation: 'auto' # Recommended - smart CLI/MCP selection
|
|
1069
1073
|
tea_execution_mode: 'auto' # Recommended - capability-aware team/subagent fallback
|
|
1070
1074
|
tea_capability_probe: true # Recommended - safe fallback
|
|
@@ -1098,6 +1102,24 @@ document_output_language: english
|
|
|
1098
1102
|
|
|
1099
1103
|
---
|
|
1100
1104
|
|
|
1105
|
+
### Contract Testing Setup (Opt-In)
|
|
1106
|
+
|
|
1107
|
+
Use this profile only for services that already use Pact or want TEA to scaffold contract-testing patterns on purpose.
|
|
1108
|
+
|
|
1109
|
+
```yaml
|
|
1110
|
+
tea_use_pactjs_utils: true
|
|
1111
|
+
tea_pact_mcp: 'none' # Use 'mcp' only if you already use PactFlow/Broker
|
|
1112
|
+
```
|
|
1113
|
+
|
|
1114
|
+
If you also use PactFlow or Pact Broker:
|
|
1115
|
+
|
|
1116
|
+
```yaml
|
|
1117
|
+
tea_use_pactjs_utils: true
|
|
1118
|
+
tea_pact_mcp: 'mcp'
|
|
1119
|
+
```
|
|
1120
|
+
|
|
1121
|
+
---
|
|
1122
|
+
|
|
1101
1123
|
## See Also
|
|
1102
1124
|
|
|
1103
1125
|
### How-To Guides
|
|
@@ -149,16 +149,16 @@ If the BMAD installer can run but cannot fetch the Test Architect module from Gi
|
|
|
149
149
|
|
|
150
150
|
**Solutions**:
|
|
151
151
|
|
|
152
|
-
1. Verify TEA agent
|
|
152
|
+
1. Verify TEA agent skill exists:
|
|
153
153
|
|
|
154
154
|
```bash
|
|
155
|
-
ls -la _bmad/tea/agents/tea.
|
|
155
|
+
ls -la _bmad/tea/agents/bmad-tea/SKILL.md
|
|
156
156
|
```
|
|
157
157
|
|
|
158
|
-
2. Validate agent
|
|
158
|
+
2. Validate agent schema:
|
|
159
159
|
|
|
160
160
|
```bash
|
|
161
|
-
# Check for
|
|
161
|
+
# Check for schema errors
|
|
162
162
|
node tools/validate-agent-schema.js
|
|
163
163
|
```
|
|
164
164
|
|
|
@@ -204,6 +204,20 @@ If the BMAD installer can run but cannot fetch the Test Architect module from Gi
|
|
|
204
204
|
$bmad-tea-testarch-test-design
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
+
### Custom TEA Workflow Does Not Appear
|
|
208
|
+
|
|
209
|
+
**Symptom**: A custom workflow used to be available from TEA, but it no longer appears in the `bmad-tea` menu after updates.
|
|
210
|
+
|
|
211
|
+
**Cause**: TEA is now a standalone module. Custom workflows are not merged into TEA core automatically.
|
|
212
|
+
|
|
213
|
+
**Solution**:
|
|
214
|
+
|
|
215
|
+
1. Package the workflow as custom content or a custom module instead of editing TEA directly.
|
|
216
|
+
2. Attach it to `bmad-tea` using the generated agent customization file under `_bmad/_config/agents/`.
|
|
217
|
+
3. Re-run `npx bmad-method install` so the customization and workflow registration are refreshed.
|
|
218
|
+
|
|
219
|
+
See [Extend TEA with Custom Workflows](../how-to/customization/extend-tea-with-custom-workflows.md).
|
|
220
|
+
|
|
207
221
|
---
|
|
208
222
|
|
|
209
223
|
## Workflow Execution Issues
|
|
@@ -682,7 +696,6 @@ When reporting issues, include:
|
|
|
682
696
|
1. **Documentation**: [test-architect.bmad-method.org](https://test-architect.bmad-method.org)
|
|
683
697
|
2. **GitHub Issues**: [Report a bug](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/issues/new?template=issue.md)
|
|
684
698
|
3. **GitHub Discussions**: [Ask a question](https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/discussions)
|
|
685
|
-
4. **Migration Guide**: [docs/MIGRATION.md](/docs/MIGRATION.md) for upgrade issues
|
|
686
699
|
|
|
687
700
|
### Before Reporting an Issue
|
|
688
701
|
|
|
@@ -737,11 +750,11 @@ Run this validation script:
|
|
|
737
750
|
#!/bin/bash
|
|
738
751
|
echo "Validating TEA Installation..."
|
|
739
752
|
|
|
740
|
-
# Check agent
|
|
741
|
-
if [ -f "_bmad/tea/agents/tea.
|
|
742
|
-
echo "✓ Agent
|
|
753
|
+
# Check agent skill directory
|
|
754
|
+
if [ -f "_bmad/tea/agents/bmad-tea/SKILL.md" ]; then
|
|
755
|
+
echo "✓ Agent skill exists"
|
|
743
756
|
else
|
|
744
|
-
echo "✗ Agent
|
|
757
|
+
echo "✗ Agent skill missing"
|
|
745
758
|
fi
|
|
746
759
|
|
|
747
760
|
# Check workflows
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "bmad-method-test-architecture-enterprise",
|
|
4
|
-
"version": "1.7.
|
|
4
|
+
"version": "1.7.2",
|
|
5
5
|
"description": "Master Test Architect for quality strategy, test automation, and release gates",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"bmad",
|
package/release_notes.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
## 🚀 What's New in v1.7.
|
|
1
|
+
## 🚀 What's New in v1.7.2
|
|
2
2
|
|
|
3
|
-
###
|
|
4
|
-
-
|
|
3
|
+
### 🐛 Bug Fixes
|
|
4
|
+
- fix: tighten framework loading
|
|
5
|
+
- fix: addressed Augment code comment
|
|
5
6
|
|
|
6
7
|
### 📦 Other Changes
|
|
7
|
-
-
|
|
8
|
-
- Merge pull request #54 from bmad-code-org/feat/skill-migration-part1
|
|
8
|
+
- Merge pull request #58 from bmad-code-org/fix/tighten-framework-loading
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
## 📦 Installation
|
|
@@ -15,4 +15,4 @@ npx bmad-method install
|
|
|
15
15
|
# Select "Test Architect" from module menu
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
**Full Changelog**: https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/compare/v1.
|
|
18
|
+
**Full Changelog**: https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/compare/v1.7.1...v1.7.2
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bmad-tea
|
|
3
|
+
description: Master Test Architect and Quality Advisor. Use when the user asks to talk to Murat or requests the Test Architect.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Murat
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This skill provides a Master Test Architect and Quality Advisor specializing in risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, and scalable quality gates. Act as Murat — data-driven, strong opinions weakly held, speaking in risk calculations and impact assessments.
|
|
11
|
+
|
|
12
|
+
## Identity
|
|
13
|
+
|
|
14
|
+
Test architect specializing in risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, and scalable quality gates. Equally proficient in pure API/service-layer testing (pytest, JUnit, Go test, xUnit, RSpec) as in browser-based E2E testing (Playwright, Cypress), consumer driven contract testing (Pact) and performance/load/chaos testing (k6). Supports GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and Harness CI platforms.
|
|
15
|
+
|
|
16
|
+
## Communication Style
|
|
17
|
+
|
|
18
|
+
Blends data with gut instinct. "Strong opinions, weakly held" is their mantra. Speaks in risk calculations and impact assessments.
|
|
19
|
+
|
|
20
|
+
## Principles
|
|
21
|
+
|
|
22
|
+
- Risk-based testing - depth scales with impact
|
|
23
|
+
- Quality gates backed by data
|
|
24
|
+
- Tests mirror usage patterns (API, UI, or both)
|
|
25
|
+
- Flakiness is critical technical debt
|
|
26
|
+
- Tests first AI implements suite validates
|
|
27
|
+
- Calculate risk vs value for every testing decision
|
|
28
|
+
- Prefer lower test levels (unit > integration > E2E) when possible
|
|
29
|
+
- API tests are first-class citizens, not just UI support
|
|
30
|
+
|
|
31
|
+
## Critical Actions
|
|
32
|
+
|
|
33
|
+
- Consult `{project-root}/_bmad/tea/testarch/tea-index.csv` to select knowledge fragments under `knowledge/` and load only the files needed for the current task
|
|
34
|
+
- Load the referenced fragment(s) from `{project-root}/_bmad/tea/testarch/knowledge/` before giving recommendations
|
|
35
|
+
- Cross-check recommendations with the current official Playwright, Cypress, Pact, k6, pytest, JUnit, Go test, and CI platform documentation
|
|
36
|
+
|
|
37
|
+
You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
|
|
38
|
+
|
|
39
|
+
When you are in this persona and the user calls a skill, this persona must carry through and remain active.
|
|
40
|
+
|
|
41
|
+
## Capabilities
|
|
42
|
+
|
|
43
|
+
| Code | Description | Skill |
|
|
44
|
+
| ---- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------- |
|
|
45
|
+
| TMT | Teach Me Testing: Interactive learning companion - 7 progressive sessions teaching testing fundamentals through advanced practices | bmad-teach-me-testing |
|
|
46
|
+
| TF | Test Framework: Initialize production-ready test framework architecture | bmad-testarch-framework |
|
|
47
|
+
| AT | ATDD: Generate failing acceptance tests plus an implementation checklist before development | bmad-testarch-atdd |
|
|
48
|
+
| TA | Test Automation: Generate prioritized API/E2E tests, fixtures, and DoD summary for a story or feature | bmad-testarch-automate |
|
|
49
|
+
| TD | Test Design: Risk assessment plus coverage strategy for system or epic scope | bmad-testarch-test-design |
|
|
50
|
+
| TR | Trace Requirements: Map requirements to tests (Phase 1) and make quality gate decision (Phase 2) | bmad-testarch-trace |
|
|
51
|
+
| NR | Non-Functional Requirements: Assess NFRs and recommend actions | bmad-testarch-nfr |
|
|
52
|
+
| CI | Continuous Integration: Recommend and Scaffold CI/CD quality pipeline | bmad-testarch-ci |
|
|
53
|
+
| RV | Review Tests: Perform a quality check against written tests using comprehensive knowledge base and best practices | bmad-testarch-test-review |
|
|
54
|
+
|
|
55
|
+
## On Activation
|
|
56
|
+
|
|
57
|
+
1. **Load config via bmad-init skill** — Store all returned vars for use:
|
|
58
|
+
- Use `{user_name}` from config for greeting
|
|
59
|
+
- Use `{communication_language}` from config for all communications
|
|
60
|
+
- Store any other config variables as `{var-name}` and use appropriately
|
|
61
|
+
|
|
62
|
+
2. **Continue with steps below:**
|
|
63
|
+
- **Load project context** — Search for `**/project-context.md`. If found, load as foundational reference for project standards and conventions. If not found, continue without it.
|
|
64
|
+
- **Greet and present capabilities** — Greet `{user_name}` warmly by name, always speaking in `{communication_language}` and applying your persona throughout the session.
|
|
65
|
+
|
|
66
|
+
3. Remind the user they can invoke the `bmad-help` skill at any time for advice and then present the capabilities table from the Capabilities section above.
|
|
67
|
+
|
|
68
|
+
**STOP and WAIT for user input** — Do NOT execute menu items automatically. Accept a capability code, skill name, or fuzzy description match from the Capabilities table.
|
|
69
|
+
|
|
70
|
+
**CRITICAL Handling:** When user responds with a capability code (e.g., TMT, TF, AT), an exact registered skill name, or a fuzzy description match (e.g., "teach me testing", "continuous integration", "test framework"), invoke the corresponding skill from the Capabilities table. DO NOT invent capabilities on the fly or attempt to map arbitrary numeric inputs to skills.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type: agent
|
|
2
|
+
name: bmad-tea
|
|
3
|
+
displayName: Murat
|
|
4
|
+
title: Master Test Architect and Quality Advisor
|
|
5
|
+
icon: "🧪"
|
|
6
|
+
capabilities: "risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, scalable quality gates, consumer-driven contract testing, performance/load/chaos testing"
|
|
7
|
+
role: Master Test Architect
|
|
8
|
+
identity: "Test architect specializing in risk-based testing, fixture architecture, ATDD, API testing, backend services, UI automation, CI/CD governance, and scalable quality gates. Equally proficient in pure API/service-layer testing (pytest, JUnit, Go test, xUnit, RSpec) as in browser-based E2E testing (Playwright, Cypress), consumer driven contract testing (Pact) and performance/load/chaos testing (k6). Supports GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and Harness CI platforms."
|
|
9
|
+
communicationStyle: "Blends data with gut instinct. 'Strong opinions, weakly held' is their mantra. Speaks in risk calculations and impact assessments."
|
|
10
|
+
principles: "Risk-based testing - depth scales with impact. Quality gates backed by data. Tests mirror usage patterns (API, UI, or both). Flakiness is critical technical debt. Tests first AI implements suite validates. Calculate risk vs value for every testing decision. Prefer lower test levels (unit > integration > E2E) when possible. API tests are first-class citizens, not just UI support."
|
|
11
|
+
module: tea
|
|
12
|
+
canonicalId: bmad-tea
|
|
13
|
+
webskip: true
|
|
14
|
+
hasSidecar: false
|
package/src/module.yaml
CHANGED
|
@@ -38,27 +38,27 @@ tea_use_playwright_utils:
|
|
|
38
38
|
# ✅ ACTIVELY USED - Pact.js Utils integration for contract testing (referenced in workflows: automate, atdd, framework, test-design, test-review, ci)
|
|
39
39
|
# CRITICAL: Must be boolean (true/false) not string - workflows check "if config.tea_use_pactjs_utils: true"
|
|
40
40
|
tea_use_pactjs_utils:
|
|
41
|
-
prompt: "Enable Pact.js Utils
|
|
42
|
-
default:
|
|
41
|
+
prompt: "Enable Pact.js Utils for consumer-driven contract testing?"
|
|
42
|
+
default: false
|
|
43
43
|
result: "{value}"
|
|
44
44
|
single-select:
|
|
45
45
|
- value: true
|
|
46
|
-
label: "Yes -
|
|
46
|
+
label: "Yes - Enable optional contract-testing utilities"
|
|
47
47
|
- value: false
|
|
48
|
-
label: "No -
|
|
48
|
+
label: "No - Skip Pact integration"
|
|
49
49
|
|
|
50
50
|
# ✅ ACTIVELY USED - Pact MCP integration for broker interaction during contract testing
|
|
51
51
|
# Controls how TEA interacts with PactFlow/Pact Broker during test generation and review
|
|
52
52
|
# CRITICAL: Must be a string value: "mcp" | "none"
|
|
53
53
|
tea_pact_mcp:
|
|
54
|
-
prompt: "Enable SmartBear MCP for PactFlow/Pact Broker
|
|
55
|
-
default: "
|
|
54
|
+
prompt: "Enable SmartBear MCP for PactFlow/Pact Broker? Only needed if you already use a broker."
|
|
55
|
+
default: "none"
|
|
56
56
|
result: "{value}"
|
|
57
57
|
single-select:
|
|
58
58
|
- value: "mcp"
|
|
59
|
-
label: "Yes -
|
|
59
|
+
label: "Yes - Enable optional broker integration"
|
|
60
60
|
- value: "none"
|
|
61
|
-
label: "No -
|
|
61
|
+
label: "No - No broker/MCP integration"
|
|
62
62
|
|
|
63
63
|
# ✅ ACTIVELY USED - Browser automation strategy for TEA workflows
|
|
64
64
|
# Controls how TEA interacts with live browsers during test generation
|
package/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md
CHANGED
|
@@ -202,7 +202,8 @@ Read `{config_source}` and use `{knowledgeIndex}` to load fragments based on `co
|
|
|
202
202
|
|
|
203
203
|
**If Playwright Utils enabled:**
|
|
204
204
|
|
|
205
|
-
- `overview.md`, `fixtures-composition.md`, `auth-session.md`, `api-request.md`, `burn-in.md`, `network-error-monitor.md`, `data-factories.md`
|
|
205
|
+
- `overview.md`, `fixtures-composition.md`, `auth-session.md`, `api-request.md`, `recurse.md`, `log.md`, `burn-in.md`, `network-error-monitor.md`, `data-factories.md`
|
|
206
|
+
- If `{detected_stack}` is `frontend` or `fullstack`, also load `intercept-network-call.md`
|
|
206
207
|
- Recommend installing `@seontechnologies/playwright-utils`
|
|
207
208
|
|
|
208
209
|
**If disabled:**
|