ma-agents 2.19.2 → 2.20.1
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/agents.code-workspace +11 -0
- package/bin/cli.js +250 -151
- package/docs/architecture.md +284 -0
- package/docs/development-guide.md +122 -0
- package/docs/index.md +48 -0
- package/docs/project-overview.md +56 -0
- package/docs/project-scan-report.json +50 -0
- package/docs/source-tree-analysis.md +84 -0
- package/docs/validation/bundled-installation-validation.md +52 -0
- package/lib/bmad-cache/bmb/.markdownlint-cli2.yaml +35 -0
- package/lib/bmad-cache/bmb/.nvmrc +1 -0
- package/lib/bmad-cache/bmb/.prettierignore +9 -0
- package/lib/bmad-cache/bmb/CNAME +1 -0
- package/lib/bmad-cache/bmb/LICENSE +30 -0
- package/lib/bmad-cache/bmb/README.md +63 -0
- package/lib/bmad-cache/bmb/eslint.config.mjs +141 -0
- package/lib/bmad-cache/bmb/package-lock.json +15283 -0
- package/lib/bmad-cache/bmb/package.json +96 -0
- package/lib/bmad-cache/bmb/prettier.config.mjs +32 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/bmad-manifest.json +62 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/recall_metrics.py +229 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/seed_tracker.py +156 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/symbol_stats.py +162 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/tests/test_recall_metrics.py +115 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/tests/test_seed_tracker.py +140 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/tests/test_symbol_stats.py +113 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/bmad-manifest.json +18 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/generate_excalidraw.py +605 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/tests/test_generate_excalidraw.py +360 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/tests/test_validate_excalidraw.py +246 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/validate_excalidraw.py +264 -0
- package/lib/bmad-cache/bmb/src/module-help.csv +7 -0
- package/lib/bmad-cache/bmb/src/module.yaml +20 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/bmad-manifest.json +24 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/bmad-manifest-schema.json +103 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/generate-html-report.py +1002 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/manifest.py +420 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/prepass-execution-deps.py +368 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/prepass-prompt-metrics.py +476 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/prepass-structure-capabilities.py +636 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/scan-path-standards.py +253 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/scan-scripts.py +745 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/bmad-manifest.json +23 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/bmad-manifest-schema.json +103 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/generate-html-report.py +1002 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/manifest.py +420 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/prepass-execution-deps.py +313 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/prepass-prompt-metrics.py +285 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/prepass-workflow-integrity.py +485 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/scan-path-standards.py +213 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/scan-scripts.py +745 -0
- package/lib/bmad-cache/bmb/tools/build-docs.mjs +448 -0
- package/lib/bmad-cache/bmb/tools/validate-file-refs.mjs +657 -0
- package/lib/bmad-cache/bmb/website/astro.config.mjs +134 -0
- package/lib/bmad-cache/bmb/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/bmb/website/public/img/bmad-dark.png +0 -0
- package/lib/bmad-cache/bmb/website/public/img/bmad-light.png +0 -0
- package/lib/bmad-cache/bmb/website/src/components/Banner.astro +56 -0
- package/lib/bmad-cache/bmb/website/src/components/Header.astro +94 -0
- package/lib/bmad-cache/bmb/website/src/components/MobileMenuFooter.astro +33 -0
- package/lib/bmad-cache/bmb/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/bmb/website/src/content/docs +1 -0
- package/lib/bmad-cache/bmb/website/src/lib/site-url.mjs +25 -0
- package/lib/bmad-cache/bmb/website/src/rehype-base-paths.js +88 -0
- package/lib/bmad-cache/bmb/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/bmb/website/src/styles/custom.css +484 -0
- package/lib/bmad-cache/cache-manifest.json +30 -0
- package/lib/bmad-cache/cis/.markdownlint-cli2.yaml +35 -0
- package/lib/bmad-cache/cis/.nvmrc +1 -0
- package/lib/bmad-cache/cis/.prettierignore +9 -0
- package/lib/bmad-cache/cis/CNAME +1 -0
- package/lib/bmad-cache/cis/LICENSE +26 -0
- package/lib/bmad-cache/cis/README.md +105 -0
- package/lib/bmad-cache/cis/eslint.config.mjs +141 -0
- package/lib/bmad-cache/cis/package.json +92 -0
- package/lib/bmad-cache/cis/prettier.config.mjs +32 -0
- package/lib/bmad-cache/cis/src/agents/brainstorming-coach.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/creative-problem-solver.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/design-thinking-coach.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/innovation-strategist.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/presentation-master.agent.yaml +53 -0
- package/lib/bmad-cache/cis/src/agents/storyteller/storyteller.agent.yaml +25 -0
- package/lib/bmad-cache/cis/src/module-help.csv +6 -0
- package/lib/bmad-cache/cis/src/module.yaml +27 -0
- package/lib/bmad-cache/cis/src/teams/creative-squad.yaml +7 -0
- package/lib/bmad-cache/cis/src/teams/default-party.csv +12 -0
- package/lib/bmad-cache/cis/src/workflows/README.md +175 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-design-thinking/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-design-thinking/design-methods.csv +31 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-innovation-strategy/innovation-frameworks.csv +31 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-problem-solving/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-problem-solving/solving-methods.csv +31 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-storytelling/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-storytelling/story-types.csv +26 -0
- package/lib/bmad-cache/cis/tools/build-docs.mjs +448 -0
- package/lib/bmad-cache/cis/website/astro.config.mjs +134 -0
- package/lib/bmad-cache/cis/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/cis/website/public/img/bmad-dark.png +0 -0
- package/lib/bmad-cache/cis/website/public/img/bmad-light.png +0 -0
- package/lib/bmad-cache/cis/website/src/components/Banner.astro +56 -0
- package/lib/bmad-cache/cis/website/src/components/Header.astro +94 -0
- package/lib/bmad-cache/cis/website/src/components/MobileMenuFooter.astro +33 -0
- package/lib/bmad-cache/cis/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/cis/website/src/content/docs +1 -0
- package/lib/bmad-cache/cis/website/src/lib/site-url.mjs +25 -0
- package/lib/bmad-cache/cis/website/src/rehype-base-paths.js +88 -0
- package/lib/bmad-cache/cis/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/cis/website/src/styles/custom.css +484 -0
- package/lib/bmad-cache/gds/.markdownlint-cli2.yaml +35 -0
- package/lib/bmad-cache/gds/.nvmrc +1 -0
- package/lib/bmad-cache/gds/.prettierignore +9 -0
- package/lib/bmad-cache/gds/CNAME +1 -0
- package/lib/bmad-cache/gds/LICENSE +26 -0
- package/lib/bmad-cache/gds/README.md +121 -0
- package/lib/bmad-cache/gds/eslint.config.mjs +141 -0
- package/lib/bmad-cache/gds/package.json +92 -0
- package/lib/bmad-cache/gds/prettier.config.mjs +32 -0
- package/lib/bmad-cache/gds/src/agents/game-architect.agent.yaml +44 -0
- package/lib/bmad-cache/gds/src/agents/game-designer.agent.yaml +45 -0
- package/lib/bmad-cache/gds/src/agents/game-dev.agent.yaml +49 -0
- package/lib/bmad-cache/gds/src/agents/game-qa.agent.yaml +63 -0
- package/lib/bmad-cache/gds/src/agents/game-scrum-master.agent.yaml +52 -0
- package/lib/bmad-cache/gds/src/agents/game-solo-dev.agent.yaml +53 -0
- package/lib/bmad-cache/gds/src/agents/tech-writer/tech-writer.agent.yaml +45 -0
- package/lib/bmad-cache/gds/src/gametest/qa-index.csv +18 -0
- package/lib/bmad-cache/gds/src/module-help.csv +35 -0
- package/lib/bmad-cache/gds/src/module.yaml +71 -0
- package/lib/bmad-cache/gds/src/teams/default-party.csv +12 -0
- package/lib/bmad-cache/gds/src/teams/team-gamedev.yaml +29 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/brainstorm-game/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/brainstorm-game/game-brain-methods.csv +26 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/game-brief/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/bmad-skill-manifest.yaml +9 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/bmad-skill-manifest.yaml +14 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/data/domain-complexity.csv +15 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/data/project-types.csv +11 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gdd/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gdd/game-types.csv +25 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-ux-design/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/narrative/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/check-implementation-readiness/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/create-epics-and-stories/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/architecture-patterns.yaml +507 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/decision-catalog.yaml +340 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/engine-mcps.yaml +270 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/pattern-categories.csv +13 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/generate-project-context/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/code-review/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/correct-course/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/retrospective/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-planning/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-planning/sprint-status-template.yaml +55 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/document-project/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/document-project/documentation-requirements.csv +12 -0
- package/lib/bmad-cache/gds/src/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/automate/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/e2e-scaffold/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/performance/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/playtest-plan/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/test-design/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/test-framework/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/test-review/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/bmad-skill-manifest.yaml +4 -0
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev-new-preview/bmad-skill-manifest.yaml +4 -0
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/quick-spec/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/tools/build-docs.mjs +450 -0
- package/lib/bmad-cache/gds/website/astro.config.mjs +134 -0
- package/lib/bmad-cache/gds/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/gds/website/public/img/bmad-dark.png +0 -0
- package/lib/bmad-cache/gds/website/public/img/bmad-light.png +0 -0
- package/lib/bmad-cache/gds/website/src/components/Banner.astro +56 -0
- package/lib/bmad-cache/gds/website/src/components/Header.astro +94 -0
- package/lib/bmad-cache/gds/website/src/components/MobileMenuFooter.astro +33 -0
- package/lib/bmad-cache/gds/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/gds/website/src/content/docs +1 -0
- package/lib/bmad-cache/gds/website/src/lib/site-url.mjs +25 -0
- package/lib/bmad-cache/gds/website/src/rehype-base-paths.js +88 -0
- package/lib/bmad-cache/gds/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/gds/website/src/styles/custom.css +484 -0
- package/lib/bmad-cache/tea/.coderabbit.yaml +40 -0
- package/lib/bmad-cache/tea/.husky/pre-commit +20 -0
- package/lib/bmad-cache/tea/.markdownlint-cli2.yaml +36 -0
- package/lib/bmad-cache/tea/.nvmrc +1 -0
- package/lib/bmad-cache/tea/.prettierignore +9 -0
- package/lib/bmad-cache/tea/CHANGELOG.md +253 -0
- package/lib/bmad-cache/tea/CONTRIBUTING.md +268 -0
- package/lib/bmad-cache/tea/LICENSE +26 -0
- package/lib/bmad-cache/tea/README.md +371 -0
- package/lib/bmad-cache/tea/SECURITY.md +85 -0
- package/lib/bmad-cache/tea/docs/404.md +20 -0
- package/lib/bmad-cache/tea/docs/MIGRATION.md +488 -0
- package/lib/bmad-cache/tea/docs/explanation/engagement-models.md +767 -0
- package/lib/bmad-cache/tea/docs/explanation/fixture-architecture.md +484 -0
- package/lib/bmad-cache/tea/docs/explanation/knowledge-base-system.md +601 -0
- package/lib/bmad-cache/tea/docs/explanation/network-first-patterns.md +884 -0
- package/lib/bmad-cache/tea/docs/explanation/risk-based-testing.md +628 -0
- package/lib/bmad-cache/tea/docs/explanation/step-file-architecture.md +599 -0
- package/lib/bmad-cache/tea/docs/explanation/subagent-architecture.md +189 -0
- package/lib/bmad-cache/tea/docs/explanation/tea-overview.md +474 -0
- package/lib/bmad-cache/tea/docs/explanation/test-quality-standards.md +965 -0
- package/lib/bmad-cache/tea/docs/explanation/testing-as-engineering.md +115 -0
- package/lib/bmad-cache/tea/docs/glossary/index.md +160 -0
- package/lib/bmad-cache/tea/docs/how-to/brownfield/use-tea-for-enterprise.md +571 -0
- package/lib/bmad-cache/tea/docs/how-to/brownfield/use-tea-with-existing-tests.md +631 -0
- package/lib/bmad-cache/tea/docs/how-to/customization/configure-browser-automation.md +243 -0
- package/lib/bmad-cache/tea/docs/how-to/customization/integrate-playwright-utils.md +846 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-atdd.md +464 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-automate.md +693 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-nfr-assess.md +731 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-test-design.md +144 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-test-review.md +634 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-trace.md +959 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/setup-ci.md +763 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/setup-test-framework.md +122 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/teach-me-testing.md +302 -0
- package/lib/bmad-cache/tea/docs/index.md +74 -0
- package/lib/bmad-cache/tea/docs/reference/commands.md +353 -0
- package/lib/bmad-cache/tea/docs/reference/configuration.md +1122 -0
- package/lib/bmad-cache/tea/docs/reference/knowledge-base.md +404 -0
- package/lib/bmad-cache/tea/docs/reference/troubleshooting.md +788 -0
- package/lib/bmad-cache/tea/docs/tutorials/learn-testing-tea-academy.md +266 -0
- package/lib/bmad-cache/tea/docs/tutorials/tea-lite-quickstart.md +465 -0
- package/lib/bmad-cache/tea/eslint.config.mjs +141 -0
- package/lib/bmad-cache/tea/package-lock.json +16046 -0
- package/lib/bmad-cache/tea/package.json +118 -0
- package/lib/bmad-cache/tea/prettier.config.mjs +32 -0
- package/lib/bmad-cache/tea/src/agents/tea.agent.yaml +67 -0
- package/lib/bmad-cache/tea/src/module-help.csv +10 -0
- package/lib/bmad-cache/tea/src/module.yaml +299 -0
- package/lib/bmad-cache/tea/src/teams/default-party.csv +2 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/api-request.md +563 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/api-testing-patterns.md +915 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/auth-session.md +548 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/burn-in.md +273 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/ci-burn-in.md +717 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/component-tdd.md +486 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/contract-testing.md +1050 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/data-factories.md +500 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/email-auth.md +721 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/error-handling.md +725 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/feature-flags.md +750 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/file-utils.md +456 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/fixture-architecture.md +401 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/fixtures-composition.md +382 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/intercept-network-call.md +426 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/log.md +426 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/network-error-monitor.md +401 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/network-first.md +486 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/network-recorder.md +527 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/nfr-criteria.md +670 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/overview.md +286 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pact-consumer-di.md +310 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pact-consumer-framework-setup.md +635 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pact-mcp.md +204 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-consumer-helpers.md +270 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-overview.md +216 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-provider-verifier.md +315 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-request-filter.md +224 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/playwright-cli.md +165 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/playwright-config.md +730 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/probability-impact.md +601 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/recurse.md +421 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/risk-governance.md +615 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/selective-testing.md +732 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/selector-resilience.md +527 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-healing-patterns.md +644 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-levels-framework.md +473 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-quality.md +664 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/timing-debugging.md +372 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/visual-debugging.md +524 -0
- package/lib/bmad-cache/tea/src/testarch/tea-index.csv +43 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/README.md +74 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/checklist.md +197 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/curriculum.yaml +129 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/quiz-questions.yaml +206 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/role-paths.yaml +136 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/session-content-map.yaml +207 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/tea-resources-index.yaml +359 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/instructions.md +130 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01-init.md +235 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01b-continue.md +147 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-02-assess.md +258 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-03-session-menu.md +219 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-01.md +460 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-02.md +465 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-03.md +301 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-04.md +234 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-05.md +234 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-06.md +209 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-07.md +212 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-05-completion.md +339 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-01-assess-workflow.md +141 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-02-apply-edits.md +122 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-v/step-v-01-validate.md +263 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/certificate-template.md +86 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/progress-template.yaml +95 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/session-notes-template.md +83 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/workflow-plan-teach-me-testing.md +950 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/workflow.md +90 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md +371 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/checklist.md +374 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +226 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01b-resume.md +96 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-02-generation-mode.md +125 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-03-test-strategy.md +110 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04-generate-tests.md +334 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +286 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04b-subagent-e2e-failing.md +244 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04c-aggregate.md +370 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-05-validate-and-complete.md +106 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow-plan.md +21 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow.yaml +46 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/checklist.md +611 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/instructions.md +50 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +237 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01b-resume.md +94 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-02-identify-targets.md +169 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03-generate-tests.md +394 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03a-subagent-api.md +263 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03b-subagent-backend.md +246 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03b-subagent-e2e.md +213 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03c-aggregate.md +393 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-04-validate-and-summarize.md +106 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/validation-report-20260127-095021.md +72 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/validation-report-20260127-102401.md +114 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow-plan.md +20 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow.yaml +53 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/azure-pipelines-template.yaml +155 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/checklist.md +289 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/github-actions-template.yaml +328 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/gitlab-ci-template.yaml +158 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/harness-pipeline-template.yaml +159 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/jenkins-pipeline-template.groovy +129 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-01-preflight.md +158 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-01b-resume.md +110 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +279 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +135 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-04-validate-and-summary.md +92 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-v/step-01-validate.md +81 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/validation-report-20260127-095021.md +72 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/validation-report-20260127-102401.md +114 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow-plan.md +20 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/checklist.md +345 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-01-preflight.md +132 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-01b-resume.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-02-select-framework.md +117 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +323 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-04-docs-and-scripts.md +105 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-05-validate-and-summary.md +93 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow-plan.md +22 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/checklist.md +407 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/instructions.md +43 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/nfr-report-template.md +470 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +138 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01b-resume.md +106 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-02-define-thresholds.md +107 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-03-gather-evidence.md +108 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04-evaluate-and-score.md +254 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04a-subagent-security.md +138 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04b-subagent-performance.md +84 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04c-subagent-reliability.md +85 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04d-subagent-scalability.md +88 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04e-aggregate-nfr.md +264 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-05-generate-report.md +108 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow-plan.md +19 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/checklist.md +464 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/instructions.md +105 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01-detect-mode.md +134 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01b-resume.md +102 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +242 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-03-risk-and-testability.md +110 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-04-coverage-plan.md +123 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-05-generate-output.md +222 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-architecture-template.md +230 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-handoff-template.md +70 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +396 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +344 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow-plan.md +22 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow.yaml +77 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/checklist.md +475 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +197 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01b-resume.md +104 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-02-discover-tests.md +113 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03-quality-evaluation.md +274 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03a-subagent-determinism.md +214 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03b-subagent-isolation.md +125 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03c-subagent-maintainability.md +102 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03e-subagent-performance.md +117 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03f-aggregate-scores.md +277 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-04-generate-report.md +111 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/test-review-template.md +387 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/validation-report-20260127-095021.md +72 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/validation-report-20260127-102401.md +114 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow-plan.md +18 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/checklist.md +647 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/instructions.md +43 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +105 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01b-resume.md +102 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-02-discover-tests.md +112 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-03-map-criteria.md +97 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-04-analyze-gaps.md +421 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-05-gate-decision.md +266 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/trace-template.md +708 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow-plan.md +21 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.yaml +56 -0
- package/lib/bmad-cache/tea/test/README.md +23 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/schema/agent.js +491 -0
- package/lib/bmad-cache/tea/test/test-agent-schema.js +387 -0
- package/lib/bmad-cache/tea/test/test-installation-components.js +214 -0
- package/lib/bmad-cache/tea/test/test-knowledge-base.js +208 -0
- package/lib/bmad-cache/tea/test/unit-test-schema.js +133 -0
- package/lib/bmad-cache/tea/test/validate-agent-schema.js +110 -0
- package/lib/bmad-cache/tea/tools/build-docs.js +575 -0
- package/lib/bmad-cache/tea/tools/fix-doc-links.js +288 -0
- package/lib/bmad-cache/tea/tools/schema/agent.js +491 -0
- package/lib/bmad-cache/tea/tools/validate-agent-schema.js +111 -0
- package/lib/bmad-cache/tea/tools/validate-doc-links.js +371 -0
- package/lib/bmad-cache/tea/tools/validate-tea-workflow-descriptions.js +122 -0
- package/lib/bmad-cache/tea/tools/verify-paths.js +100 -0
- package/lib/bmad-cache/tea/website/README.md +137 -0
- package/lib/bmad-cache/tea/website/astro.config.mjs +179 -0
- package/lib/bmad-cache/tea/website/package-lock.json +6856 -0
- package/lib/bmad-cache/tea/website/package.json +24 -0
- package/lib/bmad-cache/tea/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/tea/website/public/img/tea-logo.svg +7 -0
- package/lib/bmad-cache/tea/website/public/robots.txt +37 -0
- package/lib/bmad-cache/tea/website/src/components/Banner.astro +59 -0
- package/lib/bmad-cache/tea/website/src/components/Header.astro +121 -0
- package/lib/bmad-cache/tea/website/src/components/MobileMenuFooter.astro +53 -0
- package/lib/bmad-cache/tea/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/tea/website/src/content/docs +1 -0
- package/lib/bmad-cache/tea/website/src/lib/site-url.js +25 -0
- package/lib/bmad-cache/tea/website/src/pages/404.astro +11 -0
- package/lib/bmad-cache/tea/website/src/rehype-base-paths.js +89 -0
- package/lib/bmad-cache/tea/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/tea/website/src/styles/custom.css +499 -0
- package/lib/bmad-cache/tea/website/tsconfig.json +9 -0
- package/lib/bmad.js +76 -10
- package/lib/installer.js +23 -1
- package/package.json +4 -2
- package/scripts/build-bmad-cache.js +288 -0
- package/test/yes-flag.test.js +193 -0
|
@@ -0,0 +1,599 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: TEA Step-File Architecture
|
|
3
|
+
description: Explanation of step-file architecture for 100% LLM compliance
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# TEA Step-File Architecture
|
|
7
|
+
|
|
8
|
+
**Version**: 1.0
|
|
9
|
+
**Date**: 2026-01-27
|
|
10
|
+
**Purpose**: Explain step-file architecture for 100% LLM compliance
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Why Step Files?
|
|
15
|
+
|
|
16
|
+
### The Problem
|
|
17
|
+
|
|
18
|
+
Traditional workflow instructions suffer from "too much context" syndrome:
|
|
19
|
+
|
|
20
|
+
- **LLM Improvisation**: When given large instruction files, LLMs often improvise or skip steps
|
|
21
|
+
- **Non-Compliance**: Instructions like "analyze codebase then generate tests" are too vague
|
|
22
|
+
- **Context Overload**: 5000-word instruction files overwhelm the 200k context window
|
|
23
|
+
- **Unpredictable Output**: Same workflow produces different results each run
|
|
24
|
+
|
|
25
|
+
### The Solution: Step Files
|
|
26
|
+
|
|
27
|
+
**Step files** break workflows into granular, self-contained instruction units:
|
|
28
|
+
|
|
29
|
+
- **One Step = One Clear Action**: Each step file contains exactly one task
|
|
30
|
+
- **Explicit Exit Conditions**: LLM knows exactly when to proceed to next step
|
|
31
|
+
- **Context Injection**: Each step repeats necessary information (no assumptions)
|
|
32
|
+
- **Prevents Improvisation**: Strict "ONLY do what this step says" enforcement
|
|
33
|
+
|
|
34
|
+
**Result**: **100% LLM compliance** - workflows produce consistent, predictable, high-quality output every time.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Architecture Overview
|
|
39
|
+
|
|
40
|
+
### Before Step Files (Monolithic)
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
workflow/
|
|
44
|
+
├── workflow.yaml # Metadata
|
|
45
|
+
├── instructions.md # 5000 words of instructions ⚠️
|
|
46
|
+
├── checklist.md # Validation checklist
|
|
47
|
+
└── templates/ # Output templates
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Problems**:
|
|
51
|
+
|
|
52
|
+
- Instructions too long → LLM skims or improvises
|
|
53
|
+
- No clear stopping points → LLM keeps going
|
|
54
|
+
- Vague instructions → LLM interprets differently each time
|
|
55
|
+
|
|
56
|
+
### After Step Files (Granular)
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
workflow/
|
|
60
|
+
├── workflow.yaml # Metadata (points to step files)
|
|
61
|
+
├── checklist.md # Validation checklist
|
|
62
|
+
├── templates/ # Output templates
|
|
63
|
+
└── steps/
|
|
64
|
+
├── step-1-setup.md # 200-500 words, one action
|
|
65
|
+
├── step-2-analyze.md # 200-500 words, one action
|
|
66
|
+
├── step-3-generate.md # 200-500 words, one action
|
|
67
|
+
└── step-4-validate.md # 200-500 words, one action
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Benefits**:
|
|
71
|
+
|
|
72
|
+
- Granular instructions → LLM focuses on one task
|
|
73
|
+
- Clear exit conditions → LLM knows when to stop
|
|
74
|
+
- Repeated context → LLM has all necessary info
|
|
75
|
+
- Subagent support → Parallel execution possible
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Step File Principles
|
|
80
|
+
|
|
81
|
+
### 1. Just-In-Time Loading
|
|
82
|
+
|
|
83
|
+
**Only load the current step file** - never load all steps at once.
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
# workflow.yaml
|
|
87
|
+
steps:
|
|
88
|
+
- file: steps/step-1-setup.md
|
|
89
|
+
next: steps/step-2-analyze.md
|
|
90
|
+
- file: steps/step-2-analyze.md
|
|
91
|
+
next: steps/step-3-generate.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Enforcement**: Agent reads **one step file**, executes it, then loads **next step file**.
|
|
95
|
+
|
|
96
|
+
### 2. Context Injection
|
|
97
|
+
|
|
98
|
+
**Each step repeats necessary context** - no assumptions about what LLM remembers.
|
|
99
|
+
|
|
100
|
+
Example (step-3-generate.md):
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
## Context (from previous steps)
|
|
104
|
+
|
|
105
|
+
You have:
|
|
106
|
+
|
|
107
|
+
- Analyzed codebase and identified 3 features: Auth, Checkout, Profile
|
|
108
|
+
- Loaded knowledge fragments: fixture-architecture, api-request, network-first
|
|
109
|
+
- Determined test framework: Playwright with TypeScript
|
|
110
|
+
|
|
111
|
+
## Your Task (Step 3 Only)
|
|
112
|
+
|
|
113
|
+
Generate API tests for the 3 features identified above...
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 3. Explicit Exit Conditions
|
|
117
|
+
|
|
118
|
+
**Each step clearly states when to proceed** - no ambiguity.
|
|
119
|
+
|
|
120
|
+
Example:
|
|
121
|
+
|
|
122
|
+
```markdown
|
|
123
|
+
## Exit Condition
|
|
124
|
+
|
|
125
|
+
You may proceed to Step 4 when:
|
|
126
|
+
|
|
127
|
+
- ✅ All API tests generated and saved to files
|
|
128
|
+
- ✅ Test files use knowledge fragment patterns
|
|
129
|
+
- ✅ All tests have .spec.ts extension
|
|
130
|
+
- ✅ Tests are syntactically valid TypeScript
|
|
131
|
+
|
|
132
|
+
Do NOT proceed until all conditions met.
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 4. Strict Action Boundaries
|
|
136
|
+
|
|
137
|
+
**Each step forbids actions outside its scope** - prevents LLM wandering.
|
|
138
|
+
|
|
139
|
+
Example:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
## What You MUST Do
|
|
143
|
+
|
|
144
|
+
- Generate API tests only (not E2E, not fixtures)
|
|
145
|
+
- Use patterns from loaded knowledge fragments
|
|
146
|
+
- Save to tests/api/ directory
|
|
147
|
+
|
|
148
|
+
## What You MUST NOT Do
|
|
149
|
+
|
|
150
|
+
- ❌ Do NOT generate E2E tests (that's Step 4)
|
|
151
|
+
- ❌ Do NOT run tests yet (that's Step 5)
|
|
152
|
+
- ❌ Do NOT refactor existing code
|
|
153
|
+
- ❌ Do NOT add features not requested
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 5. Subagent Support
|
|
157
|
+
|
|
158
|
+
**Independent steps can run in parallel subagents** - massive performance gain.
|
|
159
|
+
|
|
160
|
+
Example (automate workflow):
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
Step 1-2: Sequential (setup)
|
|
164
|
+
Step 3: Subagent A (API tests) + Subagent B (E2E tests) - PARALLEL
|
|
165
|
+
Step 4: Sequential (aggregate)
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
See [subagent-architecture.md](./subagent-architecture.md) for details.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## TEA Workflow Step-File Patterns
|
|
173
|
+
|
|
174
|
+
### Pattern 1: Sequential Steps (Simple Workflows)
|
|
175
|
+
|
|
176
|
+
**Used by**: framework, ci
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
Step 1: Setup → Step 2: Configure → Step 3: Generate → Step 4: Validate
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Characteristics**:
|
|
183
|
+
|
|
184
|
+
- Each step depends on previous step output
|
|
185
|
+
- No parallelization possible
|
|
186
|
+
- Simpler, run-once workflows
|
|
187
|
+
|
|
188
|
+
### Pattern 2: Parallel Generation (Test Workflows)
|
|
189
|
+
|
|
190
|
+
**Used by**: automate, atdd
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
Step 1: Setup
|
|
194
|
+
Step 2: Load knowledge
|
|
195
|
+
Step 3: PARALLEL
|
|
196
|
+
├── Subagent A: Generate API tests
|
|
197
|
+
└── Subagent B: Generate E2E tests
|
|
198
|
+
Step 4: Aggregate + validate
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Characteristics**:
|
|
202
|
+
|
|
203
|
+
- Independent generation tasks run in parallel
|
|
204
|
+
- 40-50% performance improvement
|
|
205
|
+
- Most frequently used workflows
|
|
206
|
+
|
|
207
|
+
### Pattern 3: Parallel Validation (Quality Workflows)
|
|
208
|
+
|
|
209
|
+
**Used by**: test-review, nfr-assess
|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
Step 1: Load context
|
|
213
|
+
Step 2: PARALLEL
|
|
214
|
+
├── Subagent A: Check dimension 1
|
|
215
|
+
├── Subagent B: Check dimension 2
|
|
216
|
+
├── Subagent C: Check dimension 3
|
|
217
|
+
└── (etc.)
|
|
218
|
+
Step 3: Aggregate scores
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Characteristics**:
|
|
222
|
+
|
|
223
|
+
- Independent quality checks run in parallel
|
|
224
|
+
- 60-70% performance improvement
|
|
225
|
+
- Complex scoring/aggregation logic
|
|
226
|
+
|
|
227
|
+
### Pattern 4: Two-Phase Workflow (Dependency Workflows)
|
|
228
|
+
|
|
229
|
+
**Used by**: trace
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
Phase 1: Generate coverage matrix → Output to temp file
|
|
233
|
+
Phase 2: Read matrix → Apply decision tree → Generate gate decision
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**Characteristics**:
|
|
237
|
+
|
|
238
|
+
- Phase 2 depends on Phase 1 output
|
|
239
|
+
- Not parallel, but clean separation of concerns
|
|
240
|
+
- Subagent-like phase isolation
|
|
241
|
+
|
|
242
|
+
### Pattern 5: Risk-Based Planning (Design Workflows)
|
|
243
|
+
|
|
244
|
+
**Used by**: test-design
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
Step 1: Load context (story/epic)
|
|
248
|
+
Step 2: Load knowledge fragments
|
|
249
|
+
Step 3: Assess risk (probability × impact)
|
|
250
|
+
Step 4: Generate scenarios
|
|
251
|
+
Step 5: Prioritize (P0-P3)
|
|
252
|
+
Step 6: Output test design document
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Characteristics**:
|
|
256
|
+
|
|
257
|
+
- Sequential risk assessment workflow
|
|
258
|
+
- Heavy knowledge fragment usage
|
|
259
|
+
- Structured output (test design document)
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## Knowledge Fragment Integration
|
|
264
|
+
|
|
265
|
+
### Loading Fragments in Step Files
|
|
266
|
+
|
|
267
|
+
Step files explicitly load knowledge fragments:
|
|
268
|
+
|
|
269
|
+
```markdown
|
|
270
|
+
## Step 2: Load Knowledge Fragments
|
|
271
|
+
|
|
272
|
+
Consult `{project-root}/_bmad/tea/testarch/tea-index.csv` and load:
|
|
273
|
+
|
|
274
|
+
1. **fixture-architecture** - For composable fixture patterns
|
|
275
|
+
2. **api-request** - For API test patterns
|
|
276
|
+
3. **network-first** - For network handling patterns
|
|
277
|
+
|
|
278
|
+
Read each fragment from `{project-root}/_bmad/tea/testarch/knowledge/`.
|
|
279
|
+
|
|
280
|
+
These fragments are your quality guidelines - use their patterns in generated tests.
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### Fragment Usage Enforcement
|
|
284
|
+
|
|
285
|
+
Step files enforce fragment patterns:
|
|
286
|
+
|
|
287
|
+
```markdown
|
|
288
|
+
## Requirements
|
|
289
|
+
|
|
290
|
+
Generated tests MUST follow patterns from loaded fragments:
|
|
291
|
+
|
|
292
|
+
✅ Use fixture composition pattern (fixture-architecture)
|
|
293
|
+
✅ Use await apiRequest() helper (api-request)
|
|
294
|
+
✅ Intercept before navigate (network-first)
|
|
295
|
+
|
|
296
|
+
❌ Do NOT use custom patterns
|
|
297
|
+
❌ Do NOT skip fragment patterns
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Step File Template
|
|
303
|
+
|
|
304
|
+
### Standard Structure
|
|
305
|
+
|
|
306
|
+
Every step file follows this structure:
|
|
307
|
+
|
|
308
|
+
```markdown
|
|
309
|
+
# Step N: [Action Name]
|
|
310
|
+
|
|
311
|
+
## Context (from previous steps)
|
|
312
|
+
|
|
313
|
+
- What was accomplished in Steps 1, 2, ..., N-1
|
|
314
|
+
- Key information LLM needs to know
|
|
315
|
+
- Current state of workflow
|
|
316
|
+
|
|
317
|
+
## Your Task (Step N Only)
|
|
318
|
+
|
|
319
|
+
[Clear, explicit description of single task]
|
|
320
|
+
|
|
321
|
+
## Requirements
|
|
322
|
+
|
|
323
|
+
- ✅ Requirement 1
|
|
324
|
+
- ✅ Requirement 2
|
|
325
|
+
- ✅ Requirement 3
|
|
326
|
+
|
|
327
|
+
## What You MUST Do
|
|
328
|
+
|
|
329
|
+
- Action 1
|
|
330
|
+
- Action 2
|
|
331
|
+
- Action 3
|
|
332
|
+
|
|
333
|
+
## What You MUST NOT Do
|
|
334
|
+
|
|
335
|
+
- ❌ Don't do X (that's Step N+1)
|
|
336
|
+
- ❌ Don't do Y (out of scope)
|
|
337
|
+
- ❌ Don't do Z (unnecessary)
|
|
338
|
+
|
|
339
|
+
## Exit Condition
|
|
340
|
+
|
|
341
|
+
You may proceed to Step N+1 when:
|
|
342
|
+
|
|
343
|
+
- ✅ Condition 1 met
|
|
344
|
+
- ✅ Condition 2 met
|
|
345
|
+
- ✅ Condition 3 met
|
|
346
|
+
|
|
347
|
+
Do NOT proceed until all conditions met.
|
|
348
|
+
|
|
349
|
+
## Next Step
|
|
350
|
+
|
|
351
|
+
Load `steps/step-[N+1]-[action].md` and execute.
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Example: Step File for API Test Generation
|
|
355
|
+
|
|
356
|
+
````markdown
|
|
357
|
+
# Step 3A: Generate API Tests (Subagent)
|
|
358
|
+
|
|
359
|
+
## Context (from previous steps)
|
|
360
|
+
|
|
361
|
+
You have:
|
|
362
|
+
|
|
363
|
+
- Analyzed codebase and identified 3 features: Auth, Checkout, Profile
|
|
364
|
+
- Loaded knowledge fragments: api-request, data-factories, api-testing-patterns
|
|
365
|
+
- Determined test framework: Playwright with TypeScript
|
|
366
|
+
- Config: use_playwright_utils = true
|
|
367
|
+
|
|
368
|
+
## Your Task (Step 3A Only)
|
|
369
|
+
|
|
370
|
+
Generate API tests for the 3 features identified above.
|
|
371
|
+
|
|
372
|
+
## Requirements
|
|
373
|
+
|
|
374
|
+
- ✅ Generate tests for all 3 features
|
|
375
|
+
- ✅ Use Playwright Utils `apiRequest()` helper (from api-request fragment)
|
|
376
|
+
- ✅ Use data factories for test data (from data-factories fragment)
|
|
377
|
+
- ✅ Follow API testing patterns (from api-testing-patterns fragment)
|
|
378
|
+
- ✅ TypeScript with proper types
|
|
379
|
+
- ✅ Save to tests/api/ directory
|
|
380
|
+
|
|
381
|
+
## What You MUST Do
|
|
382
|
+
|
|
383
|
+
1. For each feature (Auth, Checkout, Profile):
|
|
384
|
+
- Create `tests/api/[feature].spec.ts`
|
|
385
|
+
- Import necessary Playwright fixtures
|
|
386
|
+
- Import Playwright Utils helpers (apiRequest)
|
|
387
|
+
- Generate 3-5 API test cases covering happy path + edge cases
|
|
388
|
+
- Use data factories for request bodies
|
|
389
|
+
- Use proper assertions (status codes, response schemas)
|
|
390
|
+
|
|
391
|
+
2. Follow patterns from knowledge fragments:
|
|
392
|
+
- Use `apiRequest({ method, url, data })` helper
|
|
393
|
+
- Use factory functions for test data (not hardcoded)
|
|
394
|
+
- Test both success and error responses
|
|
395
|
+
|
|
396
|
+
3. Save all test files to disk
|
|
397
|
+
|
|
398
|
+
## What You MUST NOT Do
|
|
399
|
+
|
|
400
|
+
- ❌ Do NOT generate E2E tests (that's Step 3B - parallel subagent)
|
|
401
|
+
- ❌ Do NOT generate fixtures yet (that's Step 4)
|
|
402
|
+
- ❌ Do NOT run tests yet (that's Step 5)
|
|
403
|
+
- ❌ Do NOT use custom fetch/axios (use apiRequest helper)
|
|
404
|
+
- ❌ Do NOT hardcode test data (use factories)
|
|
405
|
+
|
|
406
|
+
## Output Format
|
|
407
|
+
|
|
408
|
+
Output JSON to `/tmp/automate-api-tests-{timestamp}.json`:
|
|
409
|
+
|
|
410
|
+
```json
|
|
411
|
+
{
|
|
412
|
+
"success": true,
|
|
413
|
+
"tests": [
|
|
414
|
+
{
|
|
415
|
+
"file": "tests/api/auth.spec.ts",
|
|
416
|
+
"content": "[full test file content]",
|
|
417
|
+
"description": "API tests for Auth feature"
|
|
418
|
+
}
|
|
419
|
+
],
|
|
420
|
+
"fixtures": ["authData", "userData"],
|
|
421
|
+
"summary": "Generated 5 API test cases for 3 features"
|
|
422
|
+
}
|
|
423
|
+
```
|
|
424
|
+
````
|
|
425
|
+
|
|
426
|
+
## Exit Condition
|
|
427
|
+
|
|
428
|
+
You may finish this subagent when:
|
|
429
|
+
|
|
430
|
+
- ✅ All 3 features have API test files
|
|
431
|
+
- ✅ All tests use Playwright Utils helpers
|
|
432
|
+
- ✅ All tests use data factories
|
|
433
|
+
- ✅ JSON output file written to /tmp/
|
|
434
|
+
|
|
435
|
+
Subagent complete. Main workflow will read output and proceed.
|
|
436
|
+
|
|
437
|
+
````
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## Validation & Quality Assurance
|
|
442
|
+
|
|
443
|
+
### BMad Builder Validation
|
|
444
|
+
|
|
445
|
+
All 9 TEA workflows score **100%** on BMad Builder validation. Validation reports are stored in `src/workflows/testarch/*/validation-report-*.md`.
|
|
446
|
+
|
|
447
|
+
**Validation Criteria**:
|
|
448
|
+
|
|
449
|
+
- ✅ Clear, granular instructions (not too much context)
|
|
450
|
+
- ✅ Explicit exit conditions (LLM knows when to stop)
|
|
451
|
+
- ✅ Context injection (each step self-contained)
|
|
452
|
+
- ✅ Strict action boundaries (prevents improvisation)
|
|
453
|
+
- ✅ Subagent support (where applicable)
|
|
454
|
+
|
|
455
|
+
### Real-Project Testing
|
|
456
|
+
|
|
457
|
+
All 9 workflows tested with real projects:
|
|
458
|
+
|
|
459
|
+
- ✅ teach-me-testing: Tested multi-session flow with persisted progress
|
|
460
|
+
- ✅ test-design: Tested with real story/epic
|
|
461
|
+
- ✅ automate: Tested extensively with real codebases
|
|
462
|
+
- ✅ atdd: Tested TDD workflow (failing tests confirmed)
|
|
463
|
+
- ✅ test-review: Tested against known good/bad test suites
|
|
464
|
+
- ✅ nfr-assess: Tested with complex system
|
|
465
|
+
- ✅ trace: Tested coverage matrix + gate decision
|
|
466
|
+
- ✅ framework: Tested Playwright/Cypress scaffold
|
|
467
|
+
- ✅ ci: Tested GitHub Actions/GitLab CI generation
|
|
468
|
+
|
|
469
|
+
**Result**: 100% LLM compliance - no improvisation, consistent output.
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
## Maintaining Step Files
|
|
474
|
+
|
|
475
|
+
### When to Update Step Files
|
|
476
|
+
|
|
477
|
+
Update step files when:
|
|
478
|
+
|
|
479
|
+
1. **Knowledge fragments change**: Update fragment loading instructions
|
|
480
|
+
2. **New patterns emerge**: Add new requirements/patterns to steps
|
|
481
|
+
3. **LLM improvises**: Add stricter boundaries to prevent improvisation
|
|
482
|
+
4. **Performance issues**: Split steps further or add subagents
|
|
483
|
+
5. **User feedback**: Clarify ambiguous instructions
|
|
484
|
+
|
|
485
|
+
### Best Practices
|
|
486
|
+
|
|
487
|
+
1. **Keep steps granular**: 200-500 words per step (not 2000+)
|
|
488
|
+
2. **Repeat context**: Don't assume LLM remembers previous steps
|
|
489
|
+
3. **Be explicit**: "Generate 3-5 test cases" not "generate some tests"
|
|
490
|
+
4. **Forbid out-of-scope actions**: Explicitly list what NOT to do
|
|
491
|
+
5. **Test after changes**: Re-run BMad Builder validation after edits
|
|
492
|
+
|
|
493
|
+
### Anti-Patterns to Avoid
|
|
494
|
+
|
|
495
|
+
❌ **Too much context**: Steps >1000 words defeat the purpose
|
|
496
|
+
❌ **Vague instructions**: "Analyze codebase" - analyze what? how?
|
|
497
|
+
❌ **Missing exit conditions**: LLM doesn't know when to stop
|
|
498
|
+
❌ **Assumed knowledge**: Don't assume LLM remembers previous steps
|
|
499
|
+
❌ **Multiple tasks per step**: One step = one action only
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
503
|
+
## Performance Benefits
|
|
504
|
+
|
|
505
|
+
### Sequential vs Parallel Execution
|
|
506
|
+
|
|
507
|
+
**Before Step Files (Sequential)**:
|
|
508
|
+
|
|
509
|
+
- automate: ~10 minutes (API → E2E → fixtures → validate)
|
|
510
|
+
- test-review: ~5 minutes (5 quality checks sequentially)
|
|
511
|
+
- nfr-assess: ~12 minutes (4 NFR domains sequentially)
|
|
512
|
+
|
|
513
|
+
**After Step Files (Parallel Subagents)**:
|
|
514
|
+
|
|
515
|
+
- automate: ~5 minutes (API + E2E in parallel) - **50% faster**
|
|
516
|
+
- test-review: ~2 minutes (all checks in parallel) - **60% faster**
|
|
517
|
+
- nfr-assess: ~4 minutes (all domains in parallel) - **67% faster**
|
|
518
|
+
|
|
519
|
+
**Total time savings**: ~40-60% reduction in workflow execution time.
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
## User Experience
|
|
524
|
+
|
|
525
|
+
### What Users See
|
|
526
|
+
|
|
527
|
+
Users don't need to understand step-file architecture internals, but they benefit from:
|
|
528
|
+
|
|
529
|
+
1. **Consistent Output**: Same input → same output, every time
|
|
530
|
+
2. **Faster Workflows**: Parallel execution where possible
|
|
531
|
+
3. **Higher Quality**: Knowledge fragments enforced consistently
|
|
532
|
+
4. **Predictable Behavior**: No LLM improvisation or surprises
|
|
533
|
+
|
|
534
|
+
### Progress Indicators
|
|
535
|
+
|
|
536
|
+
When running workflows, users see:
|
|
537
|
+
|
|
538
|
+
```
|
|
539
|
+
✓ Step 1: Setup complete
|
|
540
|
+
✓ Step 2: Knowledge fragments loaded
|
|
541
|
+
⟳ Step 3: Generating tests (2 subagents running)
|
|
542
|
+
├── Subagent A: API tests... ✓
|
|
543
|
+
└── Subagent B: E2E tests... ✓
|
|
544
|
+
✓ Step 4: Aggregating results
|
|
545
|
+
✓ Step 5: Validation complete
|
|
546
|
+
```
|
|
547
|
+
|
|
548
|
+
---
|
|
549
|
+
|
|
550
|
+
## Troubleshooting
|
|
551
|
+
|
|
552
|
+
### Common Issues
|
|
553
|
+
|
|
554
|
+
**Issue**: LLM still improvising despite step files
|
|
555
|
+
|
|
556
|
+
- **Diagnosis**: Step instructions too vague
|
|
557
|
+
- **Fix**: Add more explicit requirements and forbidden actions
|
|
558
|
+
|
|
559
|
+
**Issue**: Subagent output not aggregating correctly
|
|
560
|
+
|
|
561
|
+
- **Diagnosis**: Temp file path mismatch or JSON parsing error
|
|
562
|
+
- **Fix**: Check temp file naming convention, verify JSON format
|
|
563
|
+
|
|
564
|
+
**Issue**: Knowledge fragments not being used
|
|
565
|
+
|
|
566
|
+
- **Diagnosis**: Fragment loading instructions unclear
|
|
567
|
+
- **Fix**: Make fragment usage requirements more explicit
|
|
568
|
+
|
|
569
|
+
**Issue**: Workflow too slow despite subagents
|
|
570
|
+
|
|
571
|
+
- **Diagnosis**: Not enough parallelization
|
|
572
|
+
- **Fix**: Identify more independent steps for subagent pattern
|
|
573
|
+
|
|
574
|
+
---
|
|
575
|
+
|
|
576
|
+
## References
|
|
577
|
+
|
|
578
|
+
- **Subagent Architecture**: [subagent-architecture.md](./subagent-architecture.md)
|
|
579
|
+
- **Knowledge Base System**: [knowledge-base-system.md](./knowledge-base-system.md)
|
|
580
|
+
- **BMad Builder Validation Reports**: `src/workflows/testarch/*/validation-report-*.md`
|
|
581
|
+
- **TEA Workflow Examples**: `src/workflows/testarch/*/steps/*.md`
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
585
|
+
## Future Enhancements
|
|
586
|
+
|
|
587
|
+
1. **Dynamic Step Generation**: LLM generates custom step files based on workflow complexity
|
|
588
|
+
2. **Step Caching**: Cache step outputs for identical inputs (idempotent operations)
|
|
589
|
+
3. **Adaptive Granularity**: Automatically split steps if too complex
|
|
590
|
+
4. **Visual Step Editor**: GUI for creating/editing step files
|
|
591
|
+
5. **Step Templates**: Reusable step file templates for common patterns
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
**Status**: Production-ready, 100% LLM compliance achieved
|
|
596
|
+
**Validation**: All 9 workflows score 100% on BMad Builder validation
|
|
597
|
+
**Testing**: All 9 workflows tested with real projects, zero improvisation issues
|
|
598
|
+
**Next Steps**: Implement subagent patterns (see subagent-architecture.md)
|
|
599
|
+
````
|