mirror of
https://github.com/bmad-code-org/BMAD-METHOD.git
synced 2026-01-30 04:32:02 +00:00
* feat(docs): add Diataxis folder structure and update sidebar styling - Create tutorials, how-to, explanation, reference directories with subdirectories - Add index.md files for each main Diataxis section - Update homepage with Diataxis card navigation layout - Implement clean React Native-inspired sidebar styling - Convert sidebar to autogenerated for both Diataxis and legacy sections - Update docusaurus config with dark mode default and navbar changes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(docs): migrate Phase 1 files to Diataxis structure Move 21 files to new locations: - Tutorials: quick-start guides, agent creation guide - How-To: installation, customization, workflows - Explanation: core concepts, features, game-dev, builder - Reference: merged glossary from BMM and BMGD Also: - Copy images to new locations - Update internal links via migration script (73 links updated) - Build verified successfully 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(docs): add category labels for sidebar folders Add _category_.json files to control display labels and position for autogenerated sidebar categories. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * style(docs): improve welcome page and visual styling - Rewrite index.md with React Native-inspired welcoming layout - Add Diataxis section cards with descriptions - Remove sidebar separator, add spacing instead - Increase navbar padding with responsive breakpoints - Add rounded admonitions without left border bar - Use system font stack for better readability - Add lighter chevron styling in sidebar - Constrain max-width to 1600px for wide viewports 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: use baseUrl in meta tag paths for correct deployment URLs * feat(docs): complete Phase 2 - split files and fix broken links Phase 2 of Diataxis migration: - Split 16 large legacy files into 42+ focused documents - Created FAQ section with 7 topic-specific files - Created brownfield how-to guides (3 files) - Created workflow how-to guides (15+ files) - Created architecture explanation files (3 files) - Created TEA/testing explanation files - Moved remaining legacy module files to proper Diataxis locations Link fixes: - Fixed ~50 broken internal links across documentation - Updated relative paths for new file locations - Created missing index files for installation, advanced tutorials - Simplified TOC anchors to fix Docusaurus warnings Cleanup: - Removed legacy sidebar entries for deleted folders - Deleted duplicate and empty placeholder files - Moved workflow diagram assets to tutorials/images 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(build): use file glob instead of sidebar parsing for llms-full.txt Replace brittle sidebar.js regex parsing with recursive file glob. The old approach captured non-file strings like 'autogenerated' and category labels, resulting in only 5 files being processed. Now correctly processes all 86+ markdown files (~95k tokens). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(seo): use absolute URLs in AI meta tags for agent discoverability AI web-browsing agents couldn't follow relative paths in meta tags due to URL security restrictions. Changed llms-full.txt and llms.txt meta tag URLs from relative (baseUrl) to absolute (urlParts.origin + baseUrl). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor(docs): recategorize misplaced files per Diataxis analysis Phase 2.5 categorization fixes based on post-migration analysis: Moved to correct Diataxis categories: - tutorials/installation.md → deleted (duplicate of how-to/install-bmad.md) - tutorials/brownfield-onboarding.md → how-to/brownfield/index.md - reference/faq/* (8 files) → explanation/faq/ - reference/agents/barry-quick-flow.md → explanation/agents/ - reference/agents/bmgd-agents.md → explanation/game-dev/agents.md Created: - explanation/agents/index.md Fixed all broken internal links (14 total) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(docs): add Getting Started tutorial and simplify build script - Add comprehensive Getting Started tutorial with installation as Step 1 - Simplify build-docs.js to read directly from docs/ (no consolidation) - Remove backup/restore dance that could corrupt docs folder on build failure - Remove ~150 lines of unused consolidation code 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(css): use fixed width layout to prevent content shifting Apply React Native docs approach: set both width and max-width at largest breakpoint (1400px) so content area maintains consistent size regardless of content length. Switches to fluid 100% below 1416px breakpoint. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor(docs): restructure tutorials with renamed entry point - Rename index.md to bmad-tutorial.md for clearer navigation - Remove redundant tutorials/index.md - Update sidebar and config references 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(docs): add tutorial style guide and AI agent announcement bar - Add docs/_contributing/ with tutorial style guide - Reformat quick-start-bmm.md and bmad-tutorial.md per style guide - Remove horizontal separators, add strategic admonitions - Add persistent announcement bar for AI agents directing to llms-full.txt - Fix footer broken link to tutorials 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(docs): add markdown demo page and UI refinements - Add comprehensive markdown-demo.md for style testing - Remove doc category links from navbar (use sidebar instead) - Remove card buttons from welcome page - Add dark mode styling for announcement bar - Clean up index.md card layout 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat(docs): apply unified tutorial style and update references - Reformat create-custom-agent.md to follow tutorial style guide - Update tutorial-style.md with complete unified structure - Update all internal references to renamed tutorial files - Remove obsolete advanced/index.md 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor(docs): migrate from Docusaurus to Astro+Starlight Replace Docusaurus with Astro and the Starlight documentation theme for improved performance, better customization, and modern tooling. Build pipeline changes: - New build-docs.js orchestrates link checking, artifact generation, and Astro build in sequence - Add check-doc-links.js for validating internal links and anchors - Generate llms.txt and llms-full.txt for LLM-friendly documentation - Create downloadable source bundles (bmad-sources.zip, bmad-prompts.zip) - Suppress MODULE_TYPELESS_PACKAGE_JSON warning in Astro build - Output directly to build/site for cleaner deployment Website architecture: - Add rehype-markdown-links.js plugin to transform .md links to routes - Add site-url.js helper for GitHub Pages URL resolution with strict validation (throws on invalid GITHUB_REPOSITORY format) - Custom Astro components: Banner, Header, MobileMenuFooter - Symlink docs/ into website/src/content/docs for Starlight Documentation cleanup: - Remove Docusaurus _category_.json files (Starlight uses frontmatter) - Convert all docs to use YAML frontmatter with title field - Move downloads.md from website/src/pages to docs/ - Consolidate style guide and workflow diagram docs - Add 404.md and tutorials/index.md --------- Co-authored-by: forcetrainer <bryan@inagaki.us> Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
219 lines
12 KiB
Markdown
219 lines
12 KiB
Markdown
---
|
|
title: "Test Architect (TEA) Overview"
|
|
description: Understanding the Test Architect (TEA) agent and its role in BMad Method
|
|
---
|
|
|
|
|
|
The Test Architect (TEA) is a specialized agent focused on quality strategy, test automation, and release gates in BMad Method projects.
|
|
|
|
## Overview
|
|
|
|
- **Persona:** Murat, Master Test Architect and Quality Advisor focused on risk-based testing, fixture architecture, ATDD, and CI/CD governance.
|
|
- **Mission:** Deliver actionable quality strategies, automation coverage, and gate decisions that scale with project complexity and compliance demands.
|
|
- **Use When:** BMad Method or Enterprise track projects, integration risk is non-trivial, brownfield regression risk exists, or compliance/NFR evidence is required. (Quick Flow projects typically don't require TEA)
|
|
|
|
---
|
|
|
|
## Choose Your TEA Engagement Model
|
|
|
|
BMad does not mandate TEA. There are five valid ways to use it (or skip it). Pick one intentionally.
|
|
|
|
1. **No TEA**
|
|
- Skip all TEA workflows. Use your existing team testing approach.
|
|
|
|
2. **TEA-only (Standalone)**
|
|
- Use TEA on a non-BMad project. Bring your own requirements, acceptance criteria, and environments.
|
|
- Typical sequence: `*test-design` (system or epic) -> `*atdd` and/or `*automate` -> optional `*test-review` -> `*trace` for coverage and gate decisions.
|
|
- Run `*framework` or `*ci` only if you want TEA to scaffold the harness or pipeline.
|
|
|
|
3. **Integrated: Greenfield - BMad Method (Simple/Standard Work)**
|
|
- Phase 3: system-level `*test-design`, then `*framework` and `*ci`.
|
|
- Phase 4: per-epic `*test-design`, optional `*atdd`, then `*automate` and optional `*test-review`.
|
|
- Gate (Phase 2): `*trace`.
|
|
|
|
4. **Integrated: Brownfield - BMad Method or Enterprise (Simple or Complex)**
|
|
- Phase 2: baseline `*trace`.
|
|
- Phase 3: system-level `*test-design`, then `*framework` and `*ci`.
|
|
- Phase 4: per-epic `*test-design` focused on regression and integration risks.
|
|
- Gate (Phase 2): `*trace`; `*nfr-assess` (if not done earlier).
|
|
- For brownfield BMad Method, follow the same flow with `*nfr-assess` optional.
|
|
|
|
5. **Integrated: Greenfield - Enterprise Method (Enterprise/Compliance Work)**
|
|
- Phase 2: `*nfr-assess`.
|
|
- Phase 3: system-level `*test-design`, then `*framework` and `*ci`.
|
|
- Phase 4: per-epic `*test-design`, plus `*atdd`/`*automate`/`*test-review`.
|
|
- Gate (Phase 2): `*trace`; archive artifacts as needed.
|
|
|
|
If you are unsure, default to the integrated path for your track and adjust later.
|
|
|
|
---
|
|
|
|
## TEA Workflow Lifecycle
|
|
|
|
TEA integrates into the BMad development lifecycle during Solutioning (Phase 3) and Implementation (Phase 4):
|
|
|
|
```mermaid
|
|
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#fff','primaryTextColor':'#000','primaryBorderColor':'#000','lineColor':'#000','secondaryColor':'#fff','tertiaryColor':'#fff','fontSize':'16px','fontFamily':'arial'}}}%%
|
|
graph TB
|
|
subgraph Phase2["<b>Phase 2: PLANNING</b>"]
|
|
PM["<b>PM: *prd (creates PRD with FRs/NFRs)</b>"]
|
|
PlanNote["<b>Business requirements phase</b>"]
|
|
NFR2["<b>TEA: *nfr-assess (optional, enterprise)</b>"]
|
|
PM -.-> NFR2
|
|
NFR2 -.-> PlanNote
|
|
PM -.-> PlanNote
|
|
end
|
|
|
|
subgraph Phase3["<b>Phase 3: SOLUTIONING</b>"]
|
|
Architecture["<b>Architect: *architecture</b>"]
|
|
EpicsStories["<b>PM/Architect: *create-epics-and-stories</b>"]
|
|
TestDesignSys["<b>TEA: *test-design (system-level)</b>"]
|
|
Framework["<b>TEA: *framework (optional if needed)</b>"]
|
|
CI["<b>TEA: *ci (optional if needed)</b>"]
|
|
GateCheck["<b>Architect: *implementation-readiness</b>"]
|
|
Architecture --> EpicsStories
|
|
Architecture --> TestDesignSys
|
|
TestDesignSys --> Framework
|
|
EpicsStories --> Framework
|
|
Framework --> CI
|
|
CI --> GateCheck
|
|
Phase3Note["<b>Epics created AFTER architecture,</b><br/><b>then system-level test design and test infrastructure setup</b>"]
|
|
EpicsStories -.-> Phase3Note
|
|
end
|
|
|
|
subgraph Phase4["<b>Phase 4: IMPLEMENTATION - Per Epic Cycle</b>"]
|
|
SprintPlan["<b>SM: *sprint-planning</b>"]
|
|
TestDesign["<b>TEA: *test-design (per epic)</b>"]
|
|
CreateStory["<b>SM: *create-story</b>"]
|
|
ATDD["<b>TEA: *atdd (optional, before dev)</b>"]
|
|
DevImpl["<b>DEV: implements story</b>"]
|
|
Automate["<b>TEA: *automate</b>"]
|
|
TestReview1["<b>TEA: *test-review (optional)</b>"]
|
|
Trace1["<b>TEA: *trace (refresh coverage)</b>"]
|
|
|
|
SprintPlan --> TestDesign
|
|
TestDesign --> CreateStory
|
|
CreateStory --> ATDD
|
|
ATDD --> DevImpl
|
|
DevImpl --> Automate
|
|
Automate --> TestReview1
|
|
TestReview1 --> Trace1
|
|
Trace1 -.->|next story| CreateStory
|
|
TestDesignNote["<b>Test design: 'How do I test THIS epic?'</b><br/>Creates test-design-epic-N.md per epic"]
|
|
TestDesign -.-> TestDesignNote
|
|
end
|
|
|
|
subgraph Gate["<b>EPIC/RELEASE GATE</b>"]
|
|
NFR["<b>TEA: *nfr-assess (if not done earlier)</b>"]
|
|
TestReview2["<b>TEA: *test-review (final audit, optional)</b>"]
|
|
TraceGate["<b>TEA: *trace - Phase 2: Gate</b>"]
|
|
GateDecision{"<b>Gate Decision</b>"}
|
|
|
|
NFR --> TestReview2
|
|
TestReview2 --> TraceGate
|
|
TraceGate --> GateDecision
|
|
GateDecision -->|PASS| Pass["<b>PASS ✅</b>"]
|
|
GateDecision -->|CONCERNS| Concerns["<b>CONCERNS ⚠️</b>"]
|
|
GateDecision -->|FAIL| Fail["<b>FAIL ❌</b>"]
|
|
GateDecision -->|WAIVED| Waived["<b>WAIVED ⏭️</b>"]
|
|
end
|
|
|
|
Phase2 --> Phase3
|
|
Phase3 --> Phase4
|
|
Phase4 --> Gate
|
|
|
|
style Phase2 fill:#bbdefb,stroke:#0d47a1,stroke-width:3px,color:#000
|
|
style Phase3 fill:#c8e6c9,stroke:#2e7d32,stroke-width:3px,color:#000
|
|
style Phase4 fill:#e1bee7,stroke:#4a148c,stroke-width:3px,color:#000
|
|
style Gate fill:#ffe082,stroke:#f57c00,stroke-width:3px,color:#000
|
|
style Pass fill:#4caf50,stroke:#1b5e20,stroke-width:3px,color:#000
|
|
style Concerns fill:#ffc107,stroke:#f57f17,stroke-width:3px,color:#000
|
|
style Fail fill:#f44336,stroke:#b71c1c,stroke-width:3px,color:#000
|
|
style Waived fill:#9c27b0,stroke:#4a148c,stroke-width:3px,color:#000
|
|
```
|
|
|
|
**Phase Numbering Note:** BMad uses a 4-phase methodology with optional Phase 1 and documentation prerequisite:
|
|
|
|
- **Documentation** (Optional for brownfield): Prerequisite using `*document-project`
|
|
- **Phase 1** (Optional): Discovery/Analysis (`*brainstorm`, `*research`, `*product-brief`)
|
|
- **Phase 2** (Required): Planning (`*prd` creates PRD with FRs/NFRs)
|
|
- **Phase 3** (Track-dependent): Solutioning (`*architecture` → `*test-design` (system-level) → `*create-epics-and-stories` → TEA: `*framework`, `*ci` → `*implementation-readiness`)
|
|
- **Phase 4** (Required): Implementation (`*sprint-planning` → per-epic: `*test-design` → per-story: dev workflows)
|
|
|
|
**TEA workflows:** `*framework` and `*ci` run once in Phase 3 after architecture. `*test-design` is **dual-mode**:
|
|
|
|
- **System-level (Phase 3):** Run immediately after architecture/ADR drafting to produce `test-design-system.md` (testability review, ADR → test mapping, Architecturally Significant Requirements (ASRs), environment needs). Feeds the implementation-readiness gate.
|
|
- **Epic-level (Phase 4):** Run per-epic to produce `test-design-epic-N.md` (risk, priorities, coverage plan).
|
|
|
|
Quick Flow track skips Phases 1 and 3.
|
|
BMad Method and Enterprise use all phases based on project needs.
|
|
When an ADR or architecture draft is produced, run `*test-design` in **system-level** mode before the implementation-readiness gate. This ensures the ADR has an attached testability review and ADR → test mapping. Keep the test-design updated if ADRs change.
|
|
|
|
---
|
|
|
|
## Why TEA is Different from Other BMM Agents
|
|
|
|
TEA is the only BMM agent that operates in **multiple phases** (Phase 3 and Phase 4) and has its own **knowledge base architecture**.
|
|
|
|
### Phase-Specific Agents (Standard Pattern)
|
|
|
|
Most BMM agents work in a single phase:
|
|
|
|
- **Phase 1 (Analysis)**: Analyst agent
|
|
- **Phase 2 (Planning)**: PM agent
|
|
- **Phase 3 (Solutioning)**: Architect agent
|
|
- **Phase 4 (Implementation)**: SM, DEV agents
|
|
|
|
### TEA: Multi-Phase Quality Agent (Unique Pattern)
|
|
|
|
TEA is **the only agent that operates in multiple phases**:
|
|
|
|
```
|
|
Phase 1 (Analysis) → [TEA not typically used]
|
|
↓
|
|
Phase 2 (Planning) → [PM defines requirements - TEA not active]
|
|
↓
|
|
Phase 3 (Solutioning) → TEA: *framework, *ci (test infrastructure AFTER architecture)
|
|
↓
|
|
Phase 4 (Implementation) → TEA: *test-design (per epic: "how do I test THIS feature?")
|
|
→ TEA: *atdd, *automate, *test-review, *trace (per story)
|
|
↓
|
|
Epic/Release Gate → TEA: *nfr-assess, *trace Phase 2 (release decision)
|
|
```
|
|
|
|
### TEA's 8 Workflows Across Phases
|
|
|
|
**Standard agents**: 1-3 workflows per phase
|
|
**TEA**: 8 workflows across Phase 3, Phase 4, and Release Gate
|
|
|
|
| Phase | TEA Workflows | Frequency | Purpose |
|
|
| ----------- | --------------------------------------------------------- | ---------------- | ---------------------------------------------- |
|
|
| **Phase 2** | (none) | - | Planning phase - PM defines requirements |
|
|
| **Phase 3** | \*framework, \*ci | Once per project | Setup test infrastructure AFTER architecture |
|
|
| **Phase 4** | \*test-design, \*atdd, \*automate, \*test-review, \*trace | Per epic/story | Test planning per epic, then per-story testing |
|
|
| **Release** | \*nfr-assess, \*trace (Phase 2: gate) | Per epic/release | Go/no-go decision |
|
|
|
|
**Note**: `*trace` is a two-phase workflow: Phase 1 (traceability) + Phase 2 (gate decision). This reduces cognitive load while maintaining natural workflow.
|
|
|
|
---
|
|
|
|
## TEA Command Catalog
|
|
|
|
| Command | Primary Outputs | Notes |
|
|
| -------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
|
|
| `*framework` | Playwright/Cypress scaffold, `.env.example`, `.nvmrc`, sample specs | Use when no production-ready harness exists |
|
|
| `*ci` | CI workflow, selective test scripts, secrets checklist | Platform-aware (GitHub Actions default) |
|
|
| `*test-design` | Combined risk assessment, mitigation plan, and coverage strategy | Risk scoring + optional exploratory mode |
|
|
| `*atdd` | Failing acceptance tests + implementation checklist | TDD red phase + optional recording mode |
|
|
| `*automate` | Prioritized specs, fixtures, README/script updates, DoD summary | Optional healing/recording, avoid duplicate coverage |
|
|
| `*test-review` | Test quality review report with 0-100 score, violations, fixes | Reviews tests against knowledge base patterns |
|
|
| `*nfr-assess` | NFR assessment report with actions | Focus on security/performance/reliability |
|
|
| `*trace` | Phase 1: Coverage matrix, recommendations. Phase 2: Gate decision (PASS/CONCERNS/FAIL/WAIVED) | Two-phase workflow: traceability + gate decision |
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
- [Setup Test Framework](../../how-to/workflows/setup-test-framework.md) - How to set up testing infrastructure
|
|
- [Run Test Design](../../how-to/workflows/run-test-design.md) - Creating test plans
|