bmad-method-test-architecture-enterprise 2.0.1-next.3 → 2.0.1-next.4
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/.claude-plugin/marketplace.json +2 -2
- package/README.md +7 -3
- package/package.json +3 -2
- package/skills/bmad-tea/SKILL.md +4 -0
- package/skills/bmad-tea/customize.toml +2 -2
- package/skills/bmad-teach-me-testing/data/curriculum.yaml +1 -1
- package/skills/bmad-teach-me-testing/data/quiz-questions.yaml +2 -2
- package/skills/bmad-teach-me-testing/data/role-paths.yaml +1 -1
- package/skills/bmad-teach-me-testing/data/session-content-map.yaml +6 -6
- package/skills/bmad-teach-me-testing/instructions.md +1 -1
- package/skills/bmad-teach-me-testing/resources/tea-completion-summary.example.md +1 -1
- package/skills/bmad-teach-me-testing/steps-c/step-03-session-menu.md +1 -1
- package/skills/bmad-teach-me-testing/steps-c/step-04-session-01.md +3 -3
- package/skills/bmad-teach-me-testing/steps-c/step-04-session-05.md +22 -14
- package/skills/bmad-teach-me-testing/steps-c/step-05-completion.md +2 -2
- package/skills/bmad-teach-me-testing/templates/completion-summary-template.md +1 -1
- package/skills/bmad-testarch-atdd/SKILL.md +8 -79
- package/skills/bmad-testarch-atdd/bmod.toml +1 -0
- package/skills/bmad-testarch-atdd/workflow.yaml +4 -4
- package/skills/bmad-testarch-automate/SKILL.md +27 -19
- package/skills/bmad-testarch-automate/checklist.md +80 -88
- package/skills/bmad-testarch-automate/instructions.md +17 -2
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/checklist.md +41 -16
- package/skills/bmad-testarch-automate/red/customize.toml +38 -0
- package/skills/bmad-testarch-automate/red/instructions.md +60 -0
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-01-preflight-and-context.md +4 -2
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-01b-resume.md +5 -1
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-02-generation-mode.md +1 -1
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-03-test-strategy.md +1 -1
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-04-generate-tests.md +1 -1
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-04c-aggregate.md +2 -2
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-05-validate-and-complete.md +22 -4
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-e/step-01-assess.md +1 -1
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-e/step-02-apply-edit.md +9 -2
- package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-v/step-01-validate.md +11 -3
- package/skills/bmad-testarch-automate/red/workflow.yaml +40 -0
- package/skills/bmad-testarch-automate/resources/run-and-heal.md +97 -0
- package/skills/bmad-testarch-automate/resources/test-generation-routing.md +77 -0
- package/skills/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +2 -0
- package/skills/bmad-testarch-automate/steps-c/step-01b-resume.md +5 -1
- package/skills/bmad-testarch-automate/steps-c/step-04-validate-and-summarize.md +21 -3
- package/skills/bmad-testarch-automate/steps-e/step-02-apply-edit.md +9 -2
- package/skills/bmad-testarch-automate/steps-v/step-01-validate.md +10 -2
- package/skills/bmad-testarch-automate/workflow.yaml +1 -1
- package/skills/bmod-tea/bmod.toml +22 -2
- package/skills/bmod-tea/help/help.md +2 -2
- package/skills/bmod-tea/knowledge/test-healing-patterns.md +74 -594
- package/skills/bmod-tea/migration-1.toml +7 -6
- package/skills/bmod-tea/roster.toml +1 -0
- package/skills/bmad-testarch-atdd/instructions.md +0 -44
- /package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/atdd-checklist-template.md +0 -0
- /package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/resources/atdd-checklist-2-4-guest-checkout.example.md +0 -0
- /package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-04a-subagent-api-failing.md +0 -0
- /package/skills/{bmad-testarch-atdd → bmad-testarch-automate/red}/steps-c/step-04b-subagent-e2e-failing.md +0 -0
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
{
|
|
31
31
|
"name": "bmad-method-test-architecture-enterprise",
|
|
32
32
|
"source": "./",
|
|
33
|
-
"description": "Master Test Architect module for quality strategy, test
|
|
34
|
-
"version": "2.0.1-next.
|
|
33
|
+
"description": "Master Test Architect module for quality strategy, test generation in red and expand modes with automatic run-and-heal, combined framework and CI setup, CI/CD quality gates, and structured testing education. The CI and ATDD commands remain available with existing customizations. Part of the BMad Method ecosystem.",
|
|
34
|
+
"version": "2.0.1-next.4",
|
|
35
35
|
"author": {
|
|
36
36
|
"name": "Murat K Ozcan (TEA Creator) & Brian (BMad) Madison"
|
|
37
37
|
},
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[Documentation](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/) · [Getting started](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/tutorials/tea-lite-quickstart/) · [Contributing](./CONTRIBUTING.md) · [MIT license](./LICENSE)
|
|
4
4
|
|
|
5
5
|
TEA is a BMad module for test planning, automation, evaluation, and release decisions.
|
|
6
|
-
Its agent, Murat, uses
|
|
6
|
+
Its agent, Murat, uses eight workflows and a shared testing knowledge base to turn requirements and risks into tests and evidence.
|
|
7
7
|
You can use TEA on its own or alongside BMad Method.
|
|
8
8
|
|
|
9
9
|
TEA helps you:
|
|
@@ -48,6 +48,8 @@ npx skills add https://github.com/bmad-code-org/bmad-method-test-architecture-en
|
|
|
48
48
|
|
|
49
49
|
## Start with one workflow
|
|
50
50
|
|
|
51
|
+
Ten commands start the eight workflows: Framework includes CI setup; Automation includes red and expand modes.
|
|
52
|
+
|
|
51
53
|
In Claude Code, Cursor, and Windsurf, type `/bmad-testarch-test-design` in chat.
|
|
52
54
|
In Codex, type `$bmad-testarch-test-design`.
|
|
53
55
|
You can also load `/bmad-tea` or `$bmad-tea` and choose a menu code.
|
|
@@ -59,8 +61,8 @@ Each workflow can run directly in a fresh session.
|
|
|
59
61
|
| [Test Design](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-design/) | `/bmad-testarch-test-design` | TD | Plan risks, coverage, and NFR evidence |
|
|
60
62
|
| [Framework Setup](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/setup-test-framework/) | `/bmad-testarch-framework` | TF | Set up a test framework, CI, or both |
|
|
61
63
|
| [CI Setup](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/setup-ci/) | `/bmad-testarch-ci` | CI | Connect tests and quality checks to CI |
|
|
62
|
-
| [ATDD](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-atdd/)
|
|
63
|
-
| [
|
|
64
|
+
| [Automation: red (ATDD)](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-atdd/) | `/bmad-testarch-atdd` | AT | Write acceptance scaffolds before implementation |
|
|
65
|
+
| [Automation: expand](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/) | `/bmad-testarch-automate` | TA | Add coverage to implemented features |
|
|
64
66
|
| [Test Review](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-test-review/) | `/bmad-testarch-test-review` | RV | Audit test quality and score findings |
|
|
65
67
|
| [NFR Evidence Audit](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-nfr-assess/) | `/bmad-testarch-nfr` | NR | Assess performance, security, and reliability evidence |
|
|
66
68
|
| [Evaluate](https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/tutorials/evaluate-your-first-skill/) | `/bmad-testarch-evaluate` | EV | Build and run a behavioral evaluation |
|
|
@@ -71,6 +73,8 @@ Ask for framework only, CI only, or both; TEA infers the scope from your prompt
|
|
|
71
73
|
`/bmad-testarch-ci` and the `CI` menu code still work and start the same skill's CI setup, with your existing CI customizations.
|
|
72
74
|
Create, Resume, Validate, and Edit remain available for the selected setup scope.
|
|
73
75
|
|
|
76
|
+
Automation uses `red` mode before implementation and `expand` mode for existing code. Your prompt selects the mode. `/bmad-testarch-atdd` and `AT` default to red; `/bmad-testarch-automate` and `TA` default to expand. Existing commands and customization files keep working. Create runs execute the generated tests and repair test issues for up to three rounds. Red confirms the intended missing behavior; expand aims for passing coverage and reports product defects.
|
|
77
|
+
|
|
74
78
|
For Codex, replace the leading `/` in the table with `$`.
|
|
75
79
|
The agent menu also accepts `GATE` to route you through test review, NFR evidence audit, and trace Phase 2.
|
|
76
80
|
|
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": "2.0.1-next.
|
|
4
|
+
"version": "2.0.1-next.4",
|
|
5
5
|
"description": "Master Test Architect for quality strategy, test automation, and release gates",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"bmad",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"release:minor": "gh workflow run publish.yaml -f channel=latest -f bump=minor",
|
|
89
89
|
"release:next": "gh workflow run publish.yaml -f channel=next",
|
|
90
90
|
"release:patch": "gh workflow run publish.yaml -f channel=latest -f bump=patch",
|
|
91
|
-
"test": "npm run test:conflict-markers && npm run test:schemas && npm run test:install && npm run test:evaluate-guidance && npm run test:evaluate-authoring && npm run test:evaluate-gap-loop && npm run test:evaluate-dogfood && npm run test:evaluate-check && npm run test:evaluate-compare && npm run test:evaluate-before-state && npm run test:evaluate-ci-gates && npm run test:evaluate-ci-tiers && npm run test:evaluate-ci-repositories:tagged-release-pr && npm run test:evaluate-ci-repositories:tagged-release-merge && npm run test:evaluate-ci-repositories:tagged-release-release && npm run test:evaluate-ci-repositories:nightly-deploy-pr && npm run test:evaluate-ci-repositories:nightly-deploy-merge && npm run test:evaluate-ci-repositories:nightly-deploy-scheduled && npm run test:evaluate-ci-repositories:nightly-deploy-release && npm run test:evaluate-ci-render && npm run test:evaluate-pr-mcp && npm run test:evaluate-pr-api && npm run test:evaluate-pr-suite && npm run test:evaluate-pr-workflow && npm run test:evaluate-pr-tool-use && npm run test:evaluate-pr-promptfoo && npm run test:evaluate-pr-ai-feature && npm run test:evaluate-pr-test-review && npm run test:evaluate-pr-gap-loop && npm run test:evaluate-pr-learn && npm run test:evaluate-pr-tutorial && npm run test:evaluate-partitions && npm run test:evaluate-partition-plans-views-and-check && npm run test:evaluate-partition-plans-preflight-and-run && npm run test:evaluate-partition-plans-score && npm run test:evaluate-partition-plans-attempts-seal-and-mappings && npm run test:evaluate-partition-plans-attempts-records && npm run test:evaluate-partition-plans-attempts-gameability && npm run test:evaluate-interpret && npm run test:evaluate-calibration && npm run test:evaluate-boundaries && npm run test:evaluate-preflight && npm run test:evaluate-isolation-conformance && npm run test:evaluate-mutation:qualification-basics && npm run test:evaluate-mutation:qualification-guards && npm run test:evaluate-mutation:recovery && npm run test:evaluate-mutation:journals && npm run test:evaluate-run && npm run test:evaluate-aggregate && npm run test:evaluate-confinement && npm run test:evaluate-confinement-audit && npm run test:evaluate-confinement-history && npm run test:evaluate-confinement-git-state && npm run test:evaluate-confinement-network && npm run test:evaluate-held-inputs && npm run test:evaluate-arms-historical && npm run test:evaluate-arms-deployments && npm run test:evaluate-evaluators && npm run test:evaluate-evaluators-agent-version && npm run test:evaluate-agents && npm run test:evaluate-agents-importers && npm run test:evaluate-agents-sealed-brief && npm run test:evaluate-held-attempts && npm run test:evaluate-private && npm run test:evaluate-records && npm run test:evaluate-mcp && npm run test:evaluate-api && npm run test:evaluate-workflow && npm run test:evaluate-tool-use && npm run test:evaluate-promptfoo && npm run test:evaluate-learned-framework && npm run test:docs-tutorial && npm run test:knowledge && npm run test:criteria-fragments && npm run test:doc-count-sources && npm run test:planning-doc-sources && npm run test:doc-counts && npm run test:doc-claim-sources && npm run test:doc-claims && npm run test:doc-invocation-entry && npm run test:doc-invocations && npm run test:docs-build-names && npm run test:docs-evaluate-sidebar && npm run test:docs-gap-reader && npm run test:enforce-hook && npm run test:framework-scaffold && npm run test:isolation-primitives && npm run test:atdd-isolation && npm run test:atdd-net-guard && npm run test:atdd-scoring && npm run test:atdd-workflow-guidance && npm run test:framework-scaffold-install-isolation && npm run test:transcript-harness && npm run test:suite-manifest && npm run test:teach-me-testing-scoring && npm run test:eval-data && npm run test:eval-atdd-data && npm run test:eval-ci-data && npm run test:eval-framework-scaffold-data && npm run test:eval-nfr-data && npm run test:nfr-validate-corpus && npm run test:nfr-evidence-guidance && npm run test:eval-test-design-data && npm run test:eval-trace-data && npm run test:eval-routing-data && npm run test:eval-routing-boundaries && npm run test:eval-routing-evidence && npm run test:eval-transcript-data && npm run test:eval-teach-me-testing-data && npm run test:eval-schemas && npm run test:eval-diagnostics && npm run test:eval-replay && npm run test:eval-quality-corpus && npm run test:schema-versions && npm run test:contract-sources && npm run test:contracts && npm run test:contract-oracles && npm run test:probe-sources && npm run test:test-design-qualification && npm run test:test-review-qualification && npm run test:trace-qualification && npm run test:nfr-qualification && npm run test:ci-qualification && npm run test:probe-corpus && npm run test:compare-dominance && npm run test:compare-eval-runs && npm run test:trial-set-scoring && npm run test:automate-eval-fixture && npm run test:eval-automate-data && npm run test:clock-port && npm run test:probe-conformance && npm run test:corpus-conformance && npm run test:file-system-conformance && npm run test:file-system-port && npm run test:probe-targets && npm run test:port-totality && npm run test:ci-coverage && npm run test:ci-coverage-filters && npm run test:install-actionlint && npm run test:workflows-lint && npm run test:install-linux-sandbox && npm run test:shards && npm run test:groups && npm run test:cli && npm run test:test-review-pr-scope && npm run test:test-review-report && npm run test:test-review-rubric && npm run test:bmad-output-gated && npm run test:release-metadata && npm run test:release-notes && npm run test:lockfile-age && npm run test:lockfile-age-cache && npm run test:licences && npm run test:supply-chain && npm run test:boundary && npm run test:direction && npm run test:lineage && npm run test:guard-publish && npm run test:layering-boundary-lineage && npm run test:changelog && npm run test:tea-workflow-descriptions && npm run test:docs-mermaid && npm run test:llms-headroom && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
|
|
91
|
+
"test": "npm run test:conflict-markers && npm run test:schemas && npm run test:install && npm run test:evaluate-guidance && npm run test:evaluate-authoring && npm run test:evaluate-gap-loop && npm run test:evaluate-dogfood && npm run test:evaluate-check && npm run test:evaluate-compare && npm run test:evaluate-before-state && npm run test:evaluate-ci-gates && npm run test:evaluate-ci-tiers && npm run test:evaluate-ci-repositories:tagged-release-pr && npm run test:evaluate-ci-repositories:tagged-release-merge && npm run test:evaluate-ci-repositories:tagged-release-release && npm run test:evaluate-ci-repositories:nightly-deploy-pr && npm run test:evaluate-ci-repositories:nightly-deploy-merge && npm run test:evaluate-ci-repositories:nightly-deploy-scheduled && npm run test:evaluate-ci-repositories:nightly-deploy-release && npm run test:evaluate-ci-render && npm run test:evaluate-pr-mcp && npm run test:evaluate-pr-api && npm run test:evaluate-pr-suite && npm run test:evaluate-pr-workflow && npm run test:evaluate-pr-tool-use && npm run test:evaluate-pr-promptfoo && npm run test:evaluate-pr-ai-feature && npm run test:evaluate-pr-test-review && npm run test:evaluate-pr-gap-loop && npm run test:evaluate-pr-learn && npm run test:evaluate-pr-tutorial && npm run test:evaluate-partitions && npm run test:evaluate-partition-plans-views-and-check && npm run test:evaluate-partition-plans-preflight-and-run && npm run test:evaluate-partition-plans-score && npm run test:evaluate-partition-plans-attempts-seal-and-mappings && npm run test:evaluate-partition-plans-attempts-records && npm run test:evaluate-partition-plans-attempts-gameability && npm run test:evaluate-interpret && npm run test:evaluate-calibration && npm run test:evaluate-boundaries && npm run test:evaluate-preflight && npm run test:evaluate-isolation-conformance && npm run test:evaluate-mutation:qualification-basics && npm run test:evaluate-mutation:qualification-guards && npm run test:evaluate-mutation:recovery && npm run test:evaluate-mutation:journals && npm run test:evaluate-run && npm run test:evaluate-aggregate && npm run test:evaluate-confinement && npm run test:evaluate-confinement-audit && npm run test:evaluate-confinement-history && npm run test:evaluate-confinement-git-state && npm run test:evaluate-confinement-network && npm run test:evaluate-held-inputs && npm run test:evaluate-arms-historical && npm run test:evaluate-arms-deployments && npm run test:evaluate-evaluators && npm run test:evaluate-evaluators-agent-version && npm run test:evaluate-agents && npm run test:evaluate-agents-importers && npm run test:evaluate-agents-sealed-brief && npm run test:evaluate-held-attempts && npm run test:evaluate-private && npm run test:evaluate-records && npm run test:evaluate-mcp && npm run test:evaluate-api && npm run test:evaluate-workflow && npm run test:evaluate-tool-use && npm run test:evaluate-promptfoo && npm run test:evaluate-learned-framework && npm run test:docs-tutorial && npm run test:knowledge && npm run test:criteria-fragments && npm run test:doc-count-sources && npm run test:planning-doc-sources && npm run test:doc-counts && npm run test:doc-claim-sources && npm run test:doc-claims && npm run test:doc-invocation-entry && npm run test:doc-invocations && npm run test:docs-build-names && npm run test:docs-evaluate-sidebar && npm run test:docs-gap-reader && npm run test:enforce-hook && npm run test:framework-scaffold && npm run test:isolation-primitives && npm run test:atdd-isolation && npm run test:atdd-net-guard && npm run test:atdd-scoring && npm run test:atdd-workflow-guidance && npm run test:generation-healing && npm run test:framework-scaffold-install-isolation && npm run test:transcript-harness && npm run test:suite-manifest && npm run test:teach-me-testing-scoring && npm run test:eval-data && npm run test:eval-atdd-data && npm run test:eval-ci-data && npm run test:eval-framework-scaffold-data && npm run test:eval-nfr-data && npm run test:nfr-validate-corpus && npm run test:nfr-evidence-guidance && npm run test:eval-test-design-data && npm run test:eval-trace-data && npm run test:eval-routing-data && npm run test:eval-routing-boundaries && npm run test:eval-routing-evidence && npm run test:eval-transcript-data && npm run test:eval-teach-me-testing-data && npm run test:eval-schemas && npm run test:eval-diagnostics && npm run test:eval-replay && npm run test:eval-quality-corpus && npm run test:schema-versions && npm run test:contract-sources && npm run test:contracts && npm run test:contract-oracles && npm run test:probe-sources && npm run test:test-design-qualification && npm run test:test-review-qualification && npm run test:trace-qualification && npm run test:nfr-qualification && npm run test:ci-qualification && npm run test:probe-corpus && npm run test:compare-dominance && npm run test:compare-eval-runs && npm run test:trial-set-scoring && npm run test:automate-eval-fixture && npm run test:eval-automate-data && npm run test:clock-port && npm run test:probe-conformance && npm run test:corpus-conformance && npm run test:file-system-conformance && npm run test:file-system-port && npm run test:probe-targets && npm run test:port-totality && npm run test:ci-coverage && npm run test:ci-coverage-filters && npm run test:install-actionlint && npm run test:workflows-lint && npm run test:install-linux-sandbox && npm run test:shards && npm run test:groups && npm run test:cli && npm run test:test-review-pr-scope && npm run test:test-review-report && npm run test:test-review-rubric && npm run test:bmad-output-gated && npm run test:release-metadata && npm run test:release-notes && npm run test:lockfile-age && npm run test:lockfile-age-cache && npm run test:licences && npm run test:supply-chain && npm run test:boundary && npm run test:direction && npm run test:lineage && npm run test:guard-publish && npm run test:layering-boundary-lineage && npm run test:changelog && npm run test:tea-workflow-descriptions && npm run test:docs-mermaid && npm run test:llms-headroom && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
|
|
92
92
|
"test:atdd-isolation": "node test/test-atdd-isolation.js",
|
|
93
93
|
"test:atdd-net-guard": "node test/test-atdd-net-guard.js",
|
|
94
94
|
"test:atdd-scoring": "node test/test-atdd-scoring.js",
|
|
@@ -215,6 +215,7 @@
|
|
|
215
215
|
"test:file-system-port": "node test/test-file-system-port.js",
|
|
216
216
|
"test:framework-scaffold": "node test/test-framework-scaffold.js",
|
|
217
217
|
"test:framework-scaffold-install-isolation": "node test/test-framework-scaffold-install-isolation.js",
|
|
218
|
+
"test:generation-healing": "node test/test-generation-healing.js",
|
|
218
219
|
"test:groups": "node test/test-test-groups.js",
|
|
219
220
|
"test:guard-publish": "node test/test-guard-publish.js",
|
|
220
221
|
"test:install": "node test/test-installation-components.js",
|
package/skills/bmad-tea/SKILL.md
CHANGED
|
@@ -80,6 +80,10 @@ Dispatch on a clear match by invoking the item's `skill` or executing its `promp
|
|
|
80
80
|
|
|
81
81
|
TF invokes `bmad-testarch-framework`, the canonical owner of framework and CI setup. CI invokes the installed `bmad-testarch-ci` compatibility entry with CI scope preset. Preserve both codes, names, custom menu overrides, requested scope and operation. A request for framework and pipeline setup routes directly to TF with `setup_scope = both`. The shared router asks “Do you want CI too?” once when setup leaves CI intent unclear.
|
|
82
82
|
|
|
83
|
+
### Test Generation Routing
|
|
84
|
+
|
|
85
|
+
AT invokes `bmad-testarch-atdd`, the red-mode entry of the canonical `bmad-testarch-automate` skill. TA invokes `bmad-testarch-automate` with expand as its default. Preserve both menu codes, both invocation names, custom menu overrides, the requested operation and any explicit red or expand intent. Red writes acceptance tests before implementation and checks the intended failure; expand adds passing coverage for implemented code. Create runs run-and-heal by default in both modes. Validate and Edit report their own checks without repair. A mixed implemented/unimplemented request still needs the deciding scope or sequence when the user has supplied neither.
|
|
86
|
+
|
|
83
87
|
### Routing Ambiguity Boundaries
|
|
84
88
|
|
|
85
89
|
Before dispatching, list the menu items directly supported by facts in the user's message. One supported item is a clear route. Two or more supported items require the missing deciding information when the user has supplied no priority, sequence, or requested deliverable that selects one.
|
|
@@ -79,12 +79,12 @@ skill = "bmad-testarch-ci"
|
|
|
79
79
|
|
|
80
80
|
[[agent.menu]]
|
|
81
81
|
code = "AT"
|
|
82
|
-
description = "ATDD
|
|
82
|
+
description = "ATDD: generate and verify failing acceptance tests in red mode before development"
|
|
83
83
|
skill = "bmad-testarch-atdd"
|
|
84
84
|
|
|
85
85
|
[[agent.menu]]
|
|
86
86
|
code = "TA"
|
|
87
|
-
description = "Test Automation
|
|
87
|
+
description = "Test Automation: generate prioritized tests in expand mode, run and heal test defects, and report product defects"
|
|
88
88
|
skill = "bmad-testarch-automate"
|
|
89
89
|
|
|
90
90
|
[[agent.menu]]
|
|
@@ -54,7 +54,7 @@ sessions:
|
|
|
54
54
|
duration: "60 min"
|
|
55
55
|
difficulty: intermediate
|
|
56
56
|
objective: "Generate tests with TDD red-green approach"
|
|
57
|
-
description: "
|
|
57
|
+
description: "Automation red (ATDD) and expand modes, run and heal, component TDD, API testing"
|
|
58
58
|
recommended_for:
|
|
59
59
|
- intermediate
|
|
60
60
|
- experienced
|
|
@@ -147,12 +147,12 @@ session-05-atdd-automate:
|
|
|
147
147
|
explanation: "Red phase: Tests fail because the code doesn't exist yet. Write tests first, then implement."
|
|
148
148
|
|
|
149
149
|
- id: q2-atdd-vs-automate
|
|
150
|
-
question: "What's the difference between
|
|
150
|
+
question: "What's the difference between automation red/expand modes?"
|
|
151
151
|
options:
|
|
152
152
|
A: "ATDD generates E2E, Automate generates API tests"
|
|
153
153
|
B: "ATDD writes tests first (red phase), Automate tests existing code"
|
|
154
154
|
C: "ATDD is faster than Automate"
|
|
155
|
-
D: "
|
|
155
|
+
D: "Both modes require implemented code before generating tests"
|
|
156
156
|
correct: B
|
|
157
157
|
explanation: "ATDD writes failing tests first (red phase), then you implement. Automate generates tests for existing code (coverage expansion)."
|
|
158
158
|
|
|
@@ -25,7 +25,7 @@ roles:
|
|
|
25
25
|
session-02-concepts: "Emphasize P0-P3 for defending coverage decisions"
|
|
26
26
|
session-03-architecture: "Fixture patterns for maintainable test suites"
|
|
27
27
|
session-04-test-design: "Test design for planning coverage expansion"
|
|
28
|
-
session-05-atdd-automate: "
|
|
28
|
+
session-05-atdd-automate: "Automation red and expand modes for test generation"
|
|
29
29
|
session-06-quality-trace: "Test Review for quality metrics reporting"
|
|
30
30
|
session-07-advanced: "Playwright Utils for advanced testing patterns"
|
|
31
31
|
|
|
@@ -17,7 +17,7 @@ sessions:
|
|
|
17
17
|
title: "TEA Overview"
|
|
18
18
|
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/explanation/tea-overview/"
|
|
19
19
|
- path: "/docs/how-to/workflows/run-automate.md"
|
|
20
|
-
title: "Run
|
|
20
|
+
title: "Run Automation Expand Mode"
|
|
21
21
|
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/"
|
|
22
22
|
knowledge_fragments: []
|
|
23
23
|
online_references:
|
|
@@ -28,7 +28,7 @@ sessions:
|
|
|
28
28
|
- "What is TEA"
|
|
29
29
|
- "TEA Lite approach"
|
|
30
30
|
- "Engagement models"
|
|
31
|
-
- "
|
|
31
|
+
- "8 workflows overview"
|
|
32
32
|
|
|
33
33
|
session-02-concepts:
|
|
34
34
|
docs:
|
|
@@ -108,10 +108,10 @@ sessions:
|
|
|
108
108
|
session-05-atdd-automate:
|
|
109
109
|
docs:
|
|
110
110
|
- path: "/docs/how-to/workflows/run-atdd.md"
|
|
111
|
-
title: "Run ATDD
|
|
111
|
+
title: "Run Automation Red Mode (ATDD)"
|
|
112
112
|
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-atdd/"
|
|
113
113
|
- path: "/docs/how-to/workflows/run-automate.md"
|
|
114
|
-
title: "Run
|
|
114
|
+
title: "Run Automation Expand Mode"
|
|
115
115
|
url: "https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-automate/"
|
|
116
116
|
knowledge_fragments:
|
|
117
117
|
- path: "{tea-knowledge}/component-tdd.md"
|
|
@@ -127,9 +127,9 @@ sessions:
|
|
|
127
127
|
- atdd
|
|
128
128
|
- automate
|
|
129
129
|
key_concepts:
|
|
130
|
-
- "
|
|
130
|
+
- "Automation red mode (ATDD)"
|
|
131
131
|
- "TDD red-green-refactor"
|
|
132
|
-
- "
|
|
132
|
+
- "Automation expand mode (coverage expansion)"
|
|
133
133
|
- "API testing without browser"
|
|
134
134
|
|
|
135
135
|
session-06-quality-trace:
|
|
@@ -43,7 +43,7 @@ The workflow automatically detects existing progress and resumes where you left
|
|
|
43
43
|
2. **Core Concepts (45 min)** - Risk-based testing, DoD, philosophy
|
|
44
44
|
3. **Architecture (60 min)** - Fixtures, network patterns, framework
|
|
45
45
|
4. **Test Design (60 min)** - Risk assessment workflow
|
|
46
|
-
5. **ATDD & Automate (60 min)** -
|
|
46
|
+
5. **ATDD & Automate (60 min)** - Automation red/expand modes
|
|
47
47
|
6. **Quality & Trace (45 min)** - Test review + Trace workflows
|
|
48
48
|
7. **Advanced Patterns (ongoing)** - Menu-driven knowledge fragment exploration
|
|
49
49
|
|
|
@@ -45,7 +45,7 @@ average_score: 92
|
|
|
45
45
|
Dana Whitfield has demonstrated proficiency in:
|
|
46
46
|
|
|
47
47
|
- ✅ **Testing Fundamentals:** Risk-based testing, test pyramid, test types, P0-P3 prioritization
|
|
48
|
-
- ✅ **TEA Methodology:**
|
|
48
|
+
- ✅ **TEA Methodology:** 8 workflows (Teach Me Testing, Framework and CI Setup, Test Design, Automation, Test Review, Trace, NFR, Evaluate)
|
|
49
49
|
- ✅ **Architecture Patterns:** Fixture composition, network-first patterns, data factories, step-file architecture
|
|
50
50
|
- ✅ **Test Design:** Risk assessment (Probability × Impact), coverage planning, test levels framework
|
|
51
51
|
- ✅ **Test Development:** ATDD red-green TDD approach, test automation, API testing patterns
|
|
@@ -110,7 +110,7 @@ Display:
|
|
|
110
110
|
{if in-progress: Started: {started_date}}
|
|
111
111
|
|
|
112
112
|
**Session 5: ATDD & Automate (60 min)**
|
|
113
|
-
{status_indicator}
|
|
113
|
+
{status_indicator} Automation red/expand modes, TDD approach
|
|
114
114
|
{if completed: Score: {score}/100 | Completed: {completed_date}}
|
|
115
115
|
{if in-progress: Started: {started_date}}
|
|
116
116
|
|
|
@@ -93,7 +93,7 @@ Present this content (mostly autonomous, clear and educational):
|
|
|
93
93
|
|
|
94
94
|
TEA is a comprehensive test architecture framework that provides:
|
|
95
95
|
|
|
96
|
-
- **
|
|
96
|
+
- **8 Workflows:** Teach Me Testing, Test Design, Framework and CI Setup, Automation (red and expand modes), Test Review, NFR Evidence Audit, Trace, Evaluate. The CI and ATDD commands and their menu codes remain available.
|
|
97
97
|
- **Framework and CI setup:** One `bmad-testarch-framework` skill handles framework only, CI only, or both. The `bmad-testarch-ci` command and `CI` menu code start its CI setup. TEA infers the scope from your prompt and asks "Do you want CI too?" once when unclear in an interactive session. An unattended request with unclear scope sets up the framework only. Create, Resume, Validate, and Edit choose the operation.
|
|
98
98
|
- **59 Knowledge Fragments:** Distilled expertise on patterns, best practices, Playwright Utils
|
|
99
99
|
- **Quality Standards:** Definition of Done with execution limits (no flaky tests, no hard waits, etc.)
|
|
@@ -123,7 +123,7 @@ Present this content (adapt examples based on user role from progress file):
|
|
|
123
123
|
|
|
124
124
|
"### 🚀 TEA Lite: Your First Workflow
|
|
125
125
|
|
|
126
|
-
The **
|
|
126
|
+
The **automation skill** generates tests in two modes: red writes acceptance tests before implementation; expand adds coverage to existing code. This quick start uses expand. Create runs execute generated tests and repair test issues for up to three rounds, while reporting real product defects. Existing ATDD and automate commands and menu codes keep working.
|
|
127
127
|
|
|
128
128
|
**How it works:**
|
|
129
129
|
|
|
@@ -307,7 +307,7 @@ duration: '30 min'
|
|
|
307
307
|
|
|
308
308
|
## Key Concepts Covered
|
|
309
309
|
|
|
310
|
-
1. **TEA Framework:**
|
|
310
|
+
1. **TEA Framework:** 8 workflows + 59 knowledge fragments + quality standards
|
|
311
311
|
2. **Risk-Based Testing:** P0-P3 prioritization matrix
|
|
312
312
|
3. **Quality Standards:** Definition of Done (no flaky tests, no hard waits, stateless, self-cleaning)
|
|
313
313
|
4. **Engagement Models:** Lite, Solo, Integrated, Enterprise, Brownfield
|
|
@@ -49,8 +49,8 @@ To teach ATDD (red-green TDD) and Automate workflows for test generation in a 60
|
|
|
49
49
|
|
|
50
50
|
**What you'll learn:**
|
|
51
51
|
|
|
52
|
-
-
|
|
53
|
-
-
|
|
52
|
+
- Automation red mode (failing tests first)
|
|
53
|
+
- Automation expand mode (expand coverage)
|
|
54
54
|
- Component TDD
|
|
55
55
|
- API testing patterns
|
|
56
56
|
|
|
@@ -65,18 +65,21 @@ Load {progressFile} and update session-05-atdd-automate:
|
|
|
65
65
|
|
|
66
66
|
Save the updated progress file.
|
|
67
67
|
|
|
68
|
-
### 3. Teaching: ATDD
|
|
68
|
+
### 3. Teaching: Automation Red Mode (ATDD)
|
|
69
69
|
|
|
70
70
|
"### 🔴 ATDD: Acceptance-Driven Test Development
|
|
71
71
|
|
|
72
72
|
**TDD Red Phase:** Write failing tests FIRST
|
|
73
73
|
|
|
74
|
-
**
|
|
74
|
+
**Automation red mode:** `/bmad-testarch-atdd` and `AT` select red by default. `/bmad-testarch-automate` also supports an explicit red request.
|
|
75
|
+
|
|
76
|
+
**Create sequence:**
|
|
75
77
|
|
|
76
78
|
1. **Preflight:** Check prerequisites
|
|
77
79
|
2. **Test Strategy:** Define what to test
|
|
78
80
|
3. **Generate FAILING Tests:** Red phase (tests fail because code doesn't exist yet)
|
|
79
|
-
4. **
|
|
81
|
+
4. **Run and Heal:** Confirm each failure matches missing behavior; repair test errors for up to three rounds
|
|
82
|
+
5. **Implement Code:** Green phase (make tests pass)
|
|
80
83
|
|
|
81
84
|
**Why Failing Tests First:**
|
|
82
85
|
|
|
@@ -88,22 +91,27 @@ Save the updated progress file.
|
|
|
88
91
|
|
|
89
92
|
**Documentation:** <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/how-to/workflows/run-atdd/>"
|
|
90
93
|
|
|
91
|
-
### 4. Teaching:
|
|
94
|
+
### 4. Teaching: Automation Expand Mode
|
|
92
95
|
|
|
93
96
|
"### 🤖 Automate: Expand Test Coverage
|
|
94
97
|
|
|
95
98
|
**Purpose:** Generate tests for existing features
|
|
96
99
|
|
|
97
|
-
**
|
|
100
|
+
**Automation expand mode:** `/bmad-testarch-automate` and `TA` select expand by default. An explicit mode in the prompt selects red or expand. Unattended runs keep the invoked command's default when mode is unclear.
|
|
101
|
+
|
|
102
|
+
**Create sequence:**
|
|
98
103
|
|
|
99
104
|
1. **Identify Targets:** What needs testing
|
|
100
105
|
2. **Generate Tests:** API and/or E2E tests
|
|
101
|
-
3. **
|
|
106
|
+
3. **Run and Heal:** Execute generated tests, classify failures, repair test issues, and rerun up to three rounds
|
|
107
|
+
4. **Review Results:** Passing tests establish coverage; real product defects retain their assertions and remain findings
|
|
102
108
|
|
|
103
|
-
**
|
|
109
|
+
**Two modes in one automation skill:**
|
|
104
110
|
|
|
105
111
|
- ATDD: Tests first, then code (red → green)
|
|
106
|
-
-
|
|
112
|
+
- Expand: Code first, then tests (coverage expansion)
|
|
113
|
+
|
|
114
|
+
Create runs execute and heal by default. Validate reports findings and Edit checks the requested changes; neither operation repairs tests. Each mode keeps its original customization hooks and output folder.
|
|
107
115
|
|
|
108
116
|
{Role-adapted example}
|
|
109
117
|
|
|
@@ -176,11 +184,11 @@ D) Tests are deleted"
|
|
|
176
184
|
|
|
177
185
|
Correct: A
|
|
178
186
|
|
|
179
|
-
**Q2:** "What's the difference between
|
|
187
|
+
**Q2:** "What's the difference between automation red/expand modes?
|
|
180
188
|
A) ATDD generates E2E, Automate generates API tests
|
|
181
189
|
B) ATDD writes tests first (red phase), Automate tests existing code
|
|
182
190
|
C) ATDD is faster than Automate
|
|
183
|
-
D)
|
|
191
|
+
D) Both modes require implemented code before generating tests"
|
|
184
192
|
|
|
185
193
|
Correct: B
|
|
186
194
|
|
|
@@ -198,8 +206,8 @@ Calculate score, handle <70% retry.
|
|
|
198
206
|
|
|
199
207
|
Create {sessionNotesFile} with Session 5 content:
|
|
200
208
|
|
|
201
|
-
-
|
|
202
|
-
-
|
|
209
|
+
- Automation red mode (ATDD, red-green TDD)
|
|
210
|
+
- Automation expand mode (coverage expansion)
|
|
203
211
|
- Component TDD
|
|
204
212
|
- API testing patterns
|
|
205
213
|
- Docs: ATDD, Automate
|
|
@@ -170,7 +170,7 @@ average_score: { average_score }
|
|
|
170
170
|
{user_name} has demonstrated proficiency in:
|
|
171
171
|
|
|
172
172
|
- ✅ **Testing Fundamentals:** Risk-based testing, test pyramid, test types, P0-P3 prioritization
|
|
173
|
-
- ✅ **TEA Methodology:**
|
|
173
|
+
- ✅ **TEA Methodology:** 8 workflows (Teach Me Testing, Framework and CI Setup, Test Design, Automation, Test Review, Trace, NFR, Evaluate)
|
|
174
174
|
- ✅ **Architecture Patterns:** Fixture composition, network-first patterns, data factories, step-file architecture
|
|
175
175
|
- ✅ **Test Design:** Risk assessment (Probability × Impact), coverage planning, test levels framework
|
|
176
176
|
- ✅ **Test Development:** ATDD red-green TDD approach, test automation, API testing patterns
|
|
@@ -283,7 +283,7 @@ You've successfully completed the entire TEA Academy curriculum!
|
|
|
283
283
|
**You're now equipped to:**
|
|
284
284
|
|
|
285
285
|
- Write high-quality tests following TEA principles
|
|
286
|
-
- Use all
|
|
286
|
+
- Use all 8 TEA workflows effectively
|
|
287
287
|
- Apply risk-based testing (P0-P3 prioritization)
|
|
288
288
|
- Implement architecture patterns (fixtures, network-first)
|
|
289
289
|
- Maintain quality through Test Review and Trace
|
|
@@ -45,7 +45,7 @@ average_score: { { average_score } }
|
|
|
45
45
|
{{user_name}} has demonstrated proficiency in:
|
|
46
46
|
|
|
47
47
|
- ✅ **Testing Fundamentals:** Risk-based testing, test pyramid, test types
|
|
48
|
-
- ✅ **TEA Methodology:**
|
|
48
|
+
- ✅ **TEA Methodology:** 8 workflows, engagement models, quality standards
|
|
49
49
|
- ✅ **Architecture Patterns:** Fixtures, network-first patterns, data factories
|
|
50
50
|
- ✅ **Test Design:** Risk assessment, coverage planning, P0-P3 prioritization
|
|
51
51
|
- ✅ **Test Development:** ATDD red-green approach, test automation
|
|
@@ -3,85 +3,14 @@ name: bmad-testarch-atdd
|
|
|
3
3
|
description: 'Generate red-phase acceptance test scaffolds using the TDD cycle. Use when the user says "lets write acceptance tests" or "I want to do ATDD"'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Acceptance Test
|
|
6
|
+
# Acceptance Test Generation
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
`bmad-testarch-automate` owns test generation in red and expand modes.
|
|
9
|
+
This entry preserves the ATDD command and AT menu code, with red as its default.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
1. Preserve the original request, supplied artifacts and Create, Resume, Validate or Edit operation. Set `test_entry = bmad-testarch-atdd`; default to red only when the task has no explicit mode signal.
|
|
12
|
+
2. Set `skill-root` to the sibling `bmad-testarch-automate` directory. Require its `SKILL.md`, `resources/test-generation-routing.md`, `resources/run-and-heal.md`, and `red/steps-c/step-01-preflight-and-context.md`. If any are missing, explain that the canonical skill is missing or older than combined test generation and offer `npx skills add bmad-code-org/bmad-method-test-architecture-enterprise --skill bmad-testarch-automate`. Continue only after installation succeeds and all required files exist.
|
|
13
|
+
3. Read `{skill-root}/SKILL.md` completely and execute its router and activation with the original request. Keep `{skill-root}` canonical throughout. Run only the selected mode's customization hooks; do not activate twice or repeat its operation menu.
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
## Conventions
|
|
15
|
-
|
|
16
|
-
- Bare paths (e.g. `instructions.md`) resolve from the skill root.
|
|
17
|
-
- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
|
|
18
|
-
- `{project-root}` is the nearest folder containing `_bmad/`, starting at the project working directory and moving up through its parents.
|
|
19
|
-
- `{tea-knowledge}` is the `knowledge/` folder of the `bmod-tea` skill, installed beside this one: `{skill-root}/../bmod-tea/knowledge`. `tea-index.csv` there lists every fragment by a path relative to that folder.
|
|
20
|
-
- `{skill-name}` resolves to the skill directory's basename.
|
|
21
|
-
- Resolve sibling workflow files such as `instructions.md`, `checklist.md`, `steps-c/...`, `steps-e/...`, `steps-v/...`, and templates from `{skill-root}`.
|
|
22
|
-
|
|
23
|
-
## On Activation
|
|
24
|
-
|
|
25
|
-
### Step 1: Resolve the Workflow Block
|
|
26
|
-
|
|
27
|
-
Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow`
|
|
28
|
-
|
|
29
|
-
**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
|
|
30
|
-
|
|
31
|
-
1. `{skill-root}/customize.toml` — defaults
|
|
32
|
-
2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
|
|
33
|
-
3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides
|
|
34
|
-
|
|
35
|
-
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
|
|
36
|
-
|
|
37
|
-
### Step 2: Execute Prepend Steps
|
|
38
|
-
|
|
39
|
-
Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.
|
|
40
|
-
|
|
41
|
-
### Step 3: Load Persistent Facts
|
|
42
|
-
|
|
43
|
-
Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs resolved from `{project-root}` — expand them and load every matching file in lexical path order as facts. All other entries are facts verbatim.
|
|
44
|
-
|
|
45
|
-
### Step 4: Load Config
|
|
46
|
-
|
|
47
|
-
Run `uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core --key modules.tea`. If the script fails, merge `{project-root}/_bmad/config.toml`, `{project-root}/_bmad/custom/config.toml` and `{project-root}/_bmad/custom/config.user.toml` yourself, in that order, with the merge rules above. If `_bmad/config.toml` is missing or has no `modules.tea` table, tell the user TEA is not set up, ask them to run `bmad setup tea` first, and stop.
|
|
48
|
-
|
|
49
|
-
Each `core` and `modules.tea` key is available as `{<key>}`, and as `config.<key>` in later steps. Replace `{project-root}` inside a value with the project root. Setup answers are strings: read `"true"` and `"false"` as booleans.
|
|
50
|
-
|
|
51
|
-
If `{tea-knowledge}/tea-index.csv` does not exist, the TEA knowledge base is not installed. Tell the user, offer to install it with `npx skills add bmad-code-org/bmad-method-test-architecture-enterprise --skill bmod-tea`, run that on a yes, and stop until it is there.
|
|
52
|
-
|
|
53
|
-
### Step 5: Greet the User
|
|
54
|
-
|
|
55
|
-
Greet `{user_name}`, speaking in `{communication_language}`.
|
|
56
|
-
|
|
57
|
-
### Step 6: Execute Append Steps
|
|
58
|
-
|
|
59
|
-
Execute each entry in `{workflow.activation_steps_append}` in order.
|
|
60
|
-
|
|
61
|
-
Activation is complete. Begin the workflow below.
|
|
62
|
-
|
|
63
|
-
## Workflow Architecture
|
|
64
|
-
|
|
65
|
-
This workflow uses **tri-modal step-file architecture**:
|
|
66
|
-
|
|
67
|
-
- **Create mode (steps-c/)**: primary execution flow for new runs and resume continuation
|
|
68
|
-
- **Validate mode (steps-v/)**: validation against checklist
|
|
69
|
-
- **Edit mode (steps-e/)**: revise existing outputs
|
|
70
|
-
|
|
71
|
-
## Initialization Sequence
|
|
72
|
-
|
|
73
|
-
### 1. Mode Determination
|
|
74
|
-
|
|
75
|
-
"Welcome to the workflow. What would you like to do?"
|
|
76
|
-
|
|
77
|
-
- **[C] Create** — Run the workflow from the beginning
|
|
78
|
-
- **[R] Resume** — Resume an interrupted Create workflow
|
|
79
|
-
- **[V] Validate** — Validate existing outputs
|
|
80
|
-
- **[E] Edit** — Edit existing outputs
|
|
81
|
-
|
|
82
|
-
### 2. Route to First Step
|
|
83
|
-
|
|
84
|
-
- **If C:** Load `{skill-root}/steps-c/step-01-preflight-and-context.md`
|
|
85
|
-
- **If R:** Load `{skill-root}/steps-c/step-01b-resume.md` (Create-mode continuation)
|
|
86
|
-
- **If V:** Load `{skill-root}/steps-v/step-01-validate.md`
|
|
87
|
-
- **If E:** Load `{skill-root}/steps-e/step-01-assess.md`
|
|
15
|
+
Existing ATDD customization files and checklist paths keep working.
|
|
16
|
+
Resume accepts interrupted 2.0.0 checklists and preserves their story identity and saved next step.
|
|
@@ -7,10 +7,10 @@ description: 'Generate red-phase acceptance test scaffolds using TDD cycle. Use
|
|
|
7
7
|
date: system-generated
|
|
8
8
|
|
|
9
9
|
# Workflow components
|
|
10
|
-
installed_path: "
|
|
11
|
-
instructions: "
|
|
12
|
-
validation: "
|
|
13
|
-
template: "
|
|
10
|
+
installed_path: "../bmad-testarch-automate/red"
|
|
11
|
+
instructions: "../bmad-testarch-automate/red/instructions.md"
|
|
12
|
+
validation: "../bmad-testarch-automate/red/checklist.md"
|
|
13
|
+
template: "../bmad-testarch-automate/red/atdd-checklist-template.md"
|
|
14
14
|
|
|
15
15
|
# Variables and inputs
|
|
16
16
|
variables:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bmad-testarch-automate
|
|
3
|
-
description: '
|
|
3
|
+
description: 'Generate tests in red or expand mode and run-and-heal new tests. Use when the user says "lets expand test coverage", "I want to automate tests", "lets write acceptance tests", or "I want to do ATDD"'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Test
|
|
6
|
+
# Test Generation: Red and Expand
|
|
7
7
|
|
|
8
|
-
**Goal:**
|
|
8
|
+
**Goal:** Generate acceptance scaffolds before implementation in red mode, or expand passing coverage for implemented code in expand mode. Execute generated tests and repair confirmed test defects by default.
|
|
9
9
|
|
|
10
10
|
**Role:** You are the Master Test Architect.
|
|
11
11
|
|
|
@@ -20,17 +20,24 @@ You will continue to operate with your given name, identity, and communication_s
|
|
|
20
20
|
- `{skill-name}` resolves to the skill directory's basename.
|
|
21
21
|
- Resolve sibling workflow files such as `instructions.md`, `checklist.md`, `steps-c/...`, `steps-e/...`, `steps-v/...`, and templates from `{skill-root}`.
|
|
22
22
|
|
|
23
|
+
## Route Before Activation
|
|
24
|
+
|
|
25
|
+
Read `{skill-root}/resources/test-generation-routing.md` completely and resolve `test_mode`, `test_operation`, and `workflow-skill-root` before executing activation.
|
|
26
|
+
Keep `{skill-root}` bound to this canonical directory throughout both modes.
|
|
27
|
+
The router selects exactly one customization surface; activation below uses that surface only.
|
|
28
|
+
|
|
23
29
|
## On Activation
|
|
24
30
|
|
|
25
31
|
### Step 1: Resolve the Workflow Block
|
|
26
32
|
|
|
27
|
-
|
|
33
|
+
When `workflow_customization_manual = true`, use the already resolved red workflow block and skip this resolver command.
|
|
34
|
+
Otherwise run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {workflow-skill-root} --project-root {project-root} --key workflow`
|
|
28
35
|
|
|
29
36
|
**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:
|
|
30
37
|
|
|
31
|
-
1. `{skill-root}/customize.toml` — defaults
|
|
32
|
-
2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
|
|
33
|
-
3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides
|
|
38
|
+
1. `{workflow-skill-root}/customize.toml` (or `{skill-root}/red/customize.toml` for canonical-only red) — defaults
|
|
39
|
+
2. `{project-root}/_bmad/custom/{workflow-skill-name}.toml` — team overrides
|
|
40
|
+
3. `{project-root}/_bmad/custom/{workflow-skill-name}.user.toml` — personal overrides
|
|
34
41
|
|
|
35
42
|
Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.
|
|
36
43
|
|
|
@@ -70,18 +77,19 @@ This workflow uses **tri-modal step-file architecture**:
|
|
|
70
77
|
|
|
71
78
|
## Initialization Sequence
|
|
72
79
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
The router has already resolved the operation from the request.
|
|
81
|
+
For an interactive invocation that supplied no operation or generation intent, show Create, Resume, Validate and Edit once.
|
|
82
|
+
A generation intent starts Create; an autonomous invocation without an operation also starts Create.
|
|
83
|
+
Do not ask a second mode question.
|
|
76
84
|
|
|
77
|
-
-
|
|
78
|
-
- **[R] Resume** — Resume an interrupted Create workflow
|
|
79
|
-
- **[V] Validate** — Validate existing outputs
|
|
80
|
-
- **[E] Edit** — Edit existing outputs
|
|
85
|
+
Use `mode-prefix = red/` for red, or an empty prefix for expand:
|
|
81
86
|
|
|
82
|
-
|
|
87
|
+
- Create: load `{skill-root}/{mode-prefix}steps-c/step-01-preflight-and-context.md`.
|
|
88
|
+
- Resume: load `{skill-root}/{mode-prefix}steps-c/step-01b-resume.md`; continue its original `lastStep` mapping, scope and output path.
|
|
89
|
+
- Validate: load `{skill-root}/{mode-prefix}steps-v/step-01-validate.md`.
|
|
90
|
+
- Edit: load `{skill-root}/{mode-prefix}steps-e/step-01-assess.md`.
|
|
83
91
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
92
|
+
Resume restores Create progress; it does not start a new generation run.
|
|
93
|
+
Only Create terminals load `{skill-root}/resources/run-and-heal.md`.
|
|
94
|
+
Validate evaluates execution evidence as PASS/WARN/FAIL without repair or requiring a green suite.
|
|
95
|
+
Edit checks the requested changes only and never invokes automatic repair.
|