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,237 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-01-preflight-and-context'
|
|
3
|
+
description: 'Determine mode, verify framework, and load context and knowledge'
|
|
4
|
+
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
|
+
nextStepFile: './step-02-identify-targets.md'
|
|
6
|
+
knowledgeIndex: '{project-root}/_bmad/tea/testarch/tea-index.csv'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Step 1: Preflight & Context Loading
|
|
10
|
+
|
|
11
|
+
## STEP GOAL
|
|
12
|
+
|
|
13
|
+
Determine execution mode, verify framework readiness, and load the necessary artifacts and knowledge fragments.
|
|
14
|
+
|
|
15
|
+
## MANDATORY EXECUTION RULES
|
|
16
|
+
|
|
17
|
+
- 📖 Read the entire step file before acting
|
|
18
|
+
- ✅ Speak in `{communication_language}`
|
|
19
|
+
- 🚫 Halt if framework scaffolding is missing
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## EXECUTION PROTOCOLS:
|
|
24
|
+
|
|
25
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
26
|
+
- 💾 Record outputs before proceeding
|
|
27
|
+
- 📖 Load the next step only when instructed
|
|
28
|
+
|
|
29
|
+
## CONTEXT BOUNDARIES:
|
|
30
|
+
|
|
31
|
+
- Available context: config, loaded artifacts, and knowledge fragments
|
|
32
|
+
- Focus: this step's goal only
|
|
33
|
+
- Limits: do not execute future steps
|
|
34
|
+
- Dependencies: prior steps' outputs (if any)
|
|
35
|
+
|
|
36
|
+
## MANDATORY SEQUENCE
|
|
37
|
+
|
|
38
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
39
|
+
|
|
40
|
+
## 1. Stack Detection & Verify Framework
|
|
41
|
+
|
|
42
|
+
**Read `config.test_stack_type`** from `{config_source}`.
|
|
43
|
+
|
|
44
|
+
**Auto-Detection Algorithm** (when `test_stack_type` is `"auto"` or not configured):
|
|
45
|
+
|
|
46
|
+
- Scan `{project-root}` for project manifests:
|
|
47
|
+
- **Frontend indicators**: `package.json` with react/vue/angular/next dependencies, `playwright.config.*`, `vite.config.*`, `webpack.config.*`
|
|
48
|
+
- **Backend indicators**: `pyproject.toml`, `pom.xml`/`build.gradle`, `go.mod`, `*.csproj`/`*.sln`, `Gemfile`, `Cargo.toml`
|
|
49
|
+
- **Both present** = `fullstack`; only frontend = `frontend`; only backend = `backend`
|
|
50
|
+
- Explicit `test_stack_type` config value overrides auto-detection
|
|
51
|
+
- **Backward compatibility**: if `test_stack_type` is not in config, treat as `"auto"` (preserves current frontend behavior for existing installs)
|
|
52
|
+
|
|
53
|
+
Store result as `{detected_stack}` = `frontend` | `backend` | `fullstack`
|
|
54
|
+
|
|
55
|
+
**Verify framework exists:**
|
|
56
|
+
|
|
57
|
+
**If {detected_stack} is `frontend` or `fullstack`:**
|
|
58
|
+
|
|
59
|
+
- `playwright.config.ts` or `cypress.config.ts`
|
|
60
|
+
- `package.json` includes test dependencies
|
|
61
|
+
|
|
62
|
+
**If {detected_stack} is `backend` or `fullstack`:**
|
|
63
|
+
|
|
64
|
+
- Relevant test config exists (e.g., `conftest.py`, `src/test/`, `*_test.go`, `.rspec`, test project `*.csproj`)
|
|
65
|
+
|
|
66
|
+
If missing: **HALT** with message "Run `framework` workflow first."
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 2. Determine Execution Mode
|
|
71
|
+
|
|
72
|
+
- **BMad-Integrated** if story/tech-spec/test-design artifacts are provided or found
|
|
73
|
+
- **Standalone** if only source code is available
|
|
74
|
+
- If unclear, ask the user which mode to use
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 3. Load Context
|
|
79
|
+
|
|
80
|
+
### BMad-Integrated (if available)
|
|
81
|
+
|
|
82
|
+
- Story with acceptance criteria
|
|
83
|
+
- PRD and/or tech spec
|
|
84
|
+
- Test-design document (if exists)
|
|
85
|
+
|
|
86
|
+
### Standalone
|
|
87
|
+
|
|
88
|
+
- Skip artifacts; proceed to codebase analysis
|
|
89
|
+
|
|
90
|
+
### Always Load
|
|
91
|
+
|
|
92
|
+
- Test framework config
|
|
93
|
+
- Existing test structure in `{test_dir}`
|
|
94
|
+
- Existing tests (for coverage gaps)
|
|
95
|
+
|
|
96
|
+
### Read TEA Config Flags
|
|
97
|
+
|
|
98
|
+
- From `{config_source}` read `tea_use_playwright_utils`
|
|
99
|
+
- From `{config_source}` read `tea_use_pactjs_utils`
|
|
100
|
+
- From `{config_source}` read `tea_pact_mcp`
|
|
101
|
+
- From `{config_source}` read `tea_browser_automation`
|
|
102
|
+
- From `{config_source}` read `test_stack_type`
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### Tiered Knowledge Loading
|
|
107
|
+
|
|
108
|
+
Load fragments based on their `tier` classification in `tea-index.csv`:
|
|
109
|
+
|
|
110
|
+
1. **Core tier** (always load): Foundational fragments required for this workflow
|
|
111
|
+
2. **Extended tier** (load on-demand): Load when deeper analysis is needed or when the user's context requires it
|
|
112
|
+
3. **Specialized tier** (load only when relevant): Load only when the specific use case matches (e.g., contract-testing only for microservices, email-auth only for email flows)
|
|
113
|
+
|
|
114
|
+
> **Context Efficiency**: Loading only core fragments reduces context usage by 40-50% compared to loading all fragments.
|
|
115
|
+
|
|
116
|
+
### Playwright Utils Loading Profiles
|
|
117
|
+
|
|
118
|
+
**If `tea_use_playwright_utils` is enabled**, select the appropriate loading profile:
|
|
119
|
+
|
|
120
|
+
- **API-only profile** (when `{detected_stack}` is `backend` or no `page.goto`/`page.locator` found in test files):
|
|
121
|
+
Load: `overview`, `api-request`, `auth-session`, `recurse` (~1,800 lines)
|
|
122
|
+
|
|
123
|
+
- **Full UI+API profile** (when `{detected_stack}` is `frontend`/`fullstack` or browser tests detected):
|
|
124
|
+
Load: all Playwright Utils core fragments (~4,500 lines)
|
|
125
|
+
|
|
126
|
+
**Detection**: Scan `{test_dir}` for files containing `page.goto` or `page.locator`. If none found, use API-only profile.
|
|
127
|
+
|
|
128
|
+
### Pact.js Utils Loading
|
|
129
|
+
|
|
130
|
+
**If `tea_use_pactjs_utils` is enabled** (and `{detected_stack}` is `backend` or `fullstack`, or microservices indicators detected):
|
|
131
|
+
|
|
132
|
+
Load: `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md` (~800 lines)
|
|
133
|
+
|
|
134
|
+
**If `tea_use_pactjs_utils` is disabled** but contract testing is relevant (microservices architecture detected, existing Pact config found):
|
|
135
|
+
|
|
136
|
+
Load: `contract-testing.md` (~960 lines)
|
|
137
|
+
|
|
138
|
+
**Detection**: Scan `{project-root}` for Pact indicators: `pact/` directory, `@pact-foundation/pact` in `package.json`, `pactUrls` in test files, `PACT_BROKER` in env files.
|
|
139
|
+
|
|
140
|
+
### Pact MCP Loading
|
|
141
|
+
|
|
142
|
+
**If `tea_pact_mcp` is `"mcp"`:**
|
|
143
|
+
|
|
144
|
+
Load: `pact-mcp.md` (~150 lines) — enables agent to use SmartBear MCP tools for fetching provider states and generating pact tests during automation.
|
|
145
|
+
|
|
146
|
+
## 4. Load Knowledge Base Fragments
|
|
147
|
+
|
|
148
|
+
Use `{knowledgeIndex}` and load only what is required.
|
|
149
|
+
|
|
150
|
+
**Core (always load):**
|
|
151
|
+
|
|
152
|
+
- `test-levels-framework.md`
|
|
153
|
+
- `test-priorities-matrix.md`
|
|
154
|
+
- `data-factories.md`
|
|
155
|
+
- `selective-testing.md`
|
|
156
|
+
- `ci-burn-in.md`
|
|
157
|
+
- `test-quality.md`
|
|
158
|
+
|
|
159
|
+
**Playwright Utils (if enabled):**
|
|
160
|
+
|
|
161
|
+
- `overview.md`, `api-request.md`, `network-recorder.md`, `auth-session.md`, `intercept-network-call.md`, `recurse.md`, `log.md`, `file-utils.md`, `burn-in.md`, `network-error-monitor.md`, `fixtures-composition.md`
|
|
162
|
+
|
|
163
|
+
**Traditional Patterns (if Playwright Utils disabled):**
|
|
164
|
+
|
|
165
|
+
- `fixture-architecture.md`
|
|
166
|
+
- `network-first.md`
|
|
167
|
+
|
|
168
|
+
**Pact.js Utils (if enabled):**
|
|
169
|
+
|
|
170
|
+
- `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`
|
|
171
|
+
|
|
172
|
+
**Contract Testing (if pactjs-utils disabled but relevant):**
|
|
173
|
+
|
|
174
|
+
- `contract-testing.md`
|
|
175
|
+
|
|
176
|
+
**Pact MCP (if tea_pact_mcp is "mcp"):**
|
|
177
|
+
|
|
178
|
+
- `pact-mcp.md`
|
|
179
|
+
|
|
180
|
+
**Healing (if auto-heal enabled):**
|
|
181
|
+
|
|
182
|
+
- `test-healing-patterns.md`
|
|
183
|
+
- `selector-resilience.md`
|
|
184
|
+
- `timing-debugging.md`
|
|
185
|
+
|
|
186
|
+
**Playwright CLI (if tea_browser_automation is "cli" or "auto"):**
|
|
187
|
+
|
|
188
|
+
- `playwright-cli.md`
|
|
189
|
+
|
|
190
|
+
**MCP Patterns (if tea_browser_automation is "mcp" or "auto"):**
|
|
191
|
+
|
|
192
|
+
- (existing MCP-related fragments, if any are added in future)
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## 5. Confirm Inputs
|
|
197
|
+
|
|
198
|
+
Summarize loaded artifacts, framework, and knowledge fragments, then proceed.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 6. Save Progress
|
|
203
|
+
|
|
204
|
+
**Save this step's accumulated work to `{outputFile}`.**
|
|
205
|
+
|
|
206
|
+
- **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
|
|
207
|
+
|
|
208
|
+
```yaml
|
|
209
|
+
---
|
|
210
|
+
stepsCompleted: ['step-01-preflight-and-context']
|
|
211
|
+
lastStep: 'step-01-preflight-and-context'
|
|
212
|
+
lastSaved: '{date}'
|
|
213
|
+
---
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Then write this step's output below the frontmatter.
|
|
217
|
+
|
|
218
|
+
- **If `{outputFile}` already exists**, update:
|
|
219
|
+
- Add `'step-01-preflight-and-context'` to `stepsCompleted` array (only if not already present)
|
|
220
|
+
- Set `lastStep: 'step-01-preflight-and-context'`
|
|
221
|
+
- Set `lastSaved: '{date}'`
|
|
222
|
+
- Append this step's output to the appropriate section.
|
|
223
|
+
|
|
224
|
+
**Update `inputDocuments`**: Set `inputDocuments` in the output template frontmatter to the list of artifact paths loaded in this step (e.g., knowledge fragments, test design documents, configuration files).
|
|
225
|
+
|
|
226
|
+
Load next step: `{nextStepFile}`
|
|
227
|
+
|
|
228
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
229
|
+
|
|
230
|
+
### ✅ SUCCESS:
|
|
231
|
+
|
|
232
|
+
- Step completed in full with required outputs
|
|
233
|
+
|
|
234
|
+
### ❌ SYSTEM FAILURE:
|
|
235
|
+
|
|
236
|
+
- Skipped sequence steps or missing outputs
|
|
237
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|
package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01b-resume.md
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-01b-resume'
|
|
3
|
+
description: 'Resume interrupted workflow from last completed step'
|
|
4
|
+
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 1b: Resume Workflow
|
|
8
|
+
|
|
9
|
+
## STEP GOAL
|
|
10
|
+
|
|
11
|
+
Resume an interrupted workflow by loading the existing output document, displaying progress, and routing to the next incomplete step.
|
|
12
|
+
|
|
13
|
+
## MANDATORY EXECUTION RULES
|
|
14
|
+
|
|
15
|
+
- 📖 Read the entire step file before acting
|
|
16
|
+
- ✅ Speak in `{communication_language}`
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## EXECUTION PROTOCOLS:
|
|
21
|
+
|
|
22
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
23
|
+
- 📖 Load the next step only when instructed
|
|
24
|
+
|
|
25
|
+
## CONTEXT BOUNDARIES:
|
|
26
|
+
|
|
27
|
+
- Available context: Output document with progress frontmatter
|
|
28
|
+
- Focus: Load progress and route to next step
|
|
29
|
+
- Limits: Do not re-execute completed steps
|
|
30
|
+
- Dependencies: Output document must exist from a previous run
|
|
31
|
+
|
|
32
|
+
## MANDATORY SEQUENCE
|
|
33
|
+
|
|
34
|
+
**CRITICAL:** Follow this sequence exactly.
|
|
35
|
+
|
|
36
|
+
### 1. Load Output Document
|
|
37
|
+
|
|
38
|
+
Read `{outputFile}` and parse YAML frontmatter for:
|
|
39
|
+
|
|
40
|
+
- `stepsCompleted` — array of completed step names
|
|
41
|
+
- `lastStep` — last completed step name
|
|
42
|
+
- `lastSaved` — timestamp of last save
|
|
43
|
+
|
|
44
|
+
**If `{outputFile}` does not exist**, display:
|
|
45
|
+
|
|
46
|
+
"⚠️ **No previous progress found.** There is no output document to resume from. Please use **[C] Create** to start a fresh workflow run."
|
|
47
|
+
|
|
48
|
+
**THEN:** Halt. Do not proceed.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### 2. Display Progress Dashboard
|
|
53
|
+
|
|
54
|
+
Display progress with ✅/⬜ indicators:
|
|
55
|
+
|
|
56
|
+
1. ✅/⬜ Preflight & Context (step-01-preflight-and-context)
|
|
57
|
+
2. ✅/⬜ Identify Targets (step-02-identify-targets)
|
|
58
|
+
3. ✅/⬜ Generate Tests + Aggregate (step-03c-aggregate)
|
|
59
|
+
4. ✅/⬜ Validate & Summarize (step-04-validate-and-summarize)
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### 3. Route to Next Step
|
|
64
|
+
|
|
65
|
+
Based on `lastStep`, load the next incomplete step:
|
|
66
|
+
|
|
67
|
+
- `'step-01-preflight-and-context'` → load `./step-02-identify-targets.md`
|
|
68
|
+
- `'step-02-identify-targets'` → load `./step-03-generate-tests.md`
|
|
69
|
+
- `'step-03c-aggregate'` → load `./step-04-validate-and-summarize.md`
|
|
70
|
+
- `'step-04-validate-and-summarize'` → **Workflow already complete.** Display: "✅ **All steps completed.** Use **[V] Validate** to review outputs or **[E] Edit** to make revisions." Then halt.
|
|
71
|
+
|
|
72
|
+
**If `lastStep` does not match any value above**, display: "⚠️ **Unknown progress state** (`lastStep`: {lastStep}). Please use **[C] Create** to start fresh." Then halt.
|
|
73
|
+
|
|
74
|
+
**Otherwise**, load the identified step file, read completely, and execute.
|
|
75
|
+
|
|
76
|
+
The existing content in `{outputFile}` provides context from previously completed steps.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
|
81
|
+
|
|
82
|
+
### ✅ SUCCESS:
|
|
83
|
+
|
|
84
|
+
- Output document loaded and parsed correctly
|
|
85
|
+
- Progress dashboard displayed accurately
|
|
86
|
+
- Routed to correct next step
|
|
87
|
+
|
|
88
|
+
### ❌ SYSTEM FAILURE:
|
|
89
|
+
|
|
90
|
+
- Not loading output document
|
|
91
|
+
- Incorrect progress display
|
|
92
|
+
- Routing to wrong step
|
|
93
|
+
|
|
94
|
+
**Master Rule:** Resume MUST route to the exact next incomplete step. Never re-execute completed steps.
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-02-identify-targets'
|
|
3
|
+
description: 'Identify automation targets and create coverage plan'
|
|
4
|
+
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
|
+
nextStepFile: './step-03-generate-tests.md'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 2: Identify Automation Targets
|
|
9
|
+
|
|
10
|
+
## STEP GOAL
|
|
11
|
+
|
|
12
|
+
Determine what needs to be tested and select appropriate test levels and priorities.
|
|
13
|
+
|
|
14
|
+
## MANDATORY EXECUTION RULES
|
|
15
|
+
|
|
16
|
+
- 📖 Read the entire step file before acting
|
|
17
|
+
- ✅ Speak in `{communication_language}`
|
|
18
|
+
- 🚫 Avoid duplicate coverage across test levels
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## EXECUTION PROTOCOLS:
|
|
23
|
+
|
|
24
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
25
|
+
- 💾 Record outputs before proceeding
|
|
26
|
+
- 📖 Load the next step only when instructed
|
|
27
|
+
|
|
28
|
+
## CONTEXT BOUNDARIES:
|
|
29
|
+
|
|
30
|
+
- Available context: config, loaded artifacts, and knowledge fragments
|
|
31
|
+
- Focus: this step's goal only
|
|
32
|
+
- Limits: do not execute future steps
|
|
33
|
+
- Dependencies: prior steps' outputs (if any)
|
|
34
|
+
|
|
35
|
+
## MANDATORY SEQUENCE
|
|
36
|
+
|
|
37
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
38
|
+
|
|
39
|
+
## 1. Determine Targets
|
|
40
|
+
|
|
41
|
+
**BMad-Integrated:**
|
|
42
|
+
|
|
43
|
+
- Map acceptance criteria to test scenarios
|
|
44
|
+
- Check for existing ATDD outputs to avoid duplication
|
|
45
|
+
- Expand coverage with edge cases and negative paths
|
|
46
|
+
|
|
47
|
+
**Standalone:**
|
|
48
|
+
|
|
49
|
+
- If specific target feature/files are provided, focus there
|
|
50
|
+
- Otherwise auto-discover features in `{source_dir}`
|
|
51
|
+
- Prioritize critical paths, integrations, and untested logic
|
|
52
|
+
|
|
53
|
+
**If {detected_stack} is `frontend` or `fullstack`:**
|
|
54
|
+
|
|
55
|
+
**Browser Exploration (if `tea_browser_automation` is `cli` or `auto`):**
|
|
56
|
+
|
|
57
|
+
> **Fallback:** If CLI is not installed, fall back to MCP (if available) or skip browser exploration and rely on code/doc analysis.
|
|
58
|
+
|
|
59
|
+
Use CLI to explore the application and identify testable pages/flows:
|
|
60
|
+
|
|
61
|
+
1. `playwright-cli -s=tea-automate open <target_url>`
|
|
62
|
+
2. `playwright-cli -s=tea-automate snapshot` → capture page structure and element refs
|
|
63
|
+
3. Analyze snapshot output to identify testable elements and flows
|
|
64
|
+
4. `playwright-cli -s=tea-automate close`
|
|
65
|
+
|
|
66
|
+
> **Session Hygiene:** Always close sessions using `playwright-cli -s=tea-automate close`. Do NOT use `close-all` — it kills every session on the machine and breaks parallel execution.
|
|
67
|
+
|
|
68
|
+
**If {detected_stack} is `backend` or `fullstack`:**
|
|
69
|
+
|
|
70
|
+
**Source & API Analysis (no browser exploration):**
|
|
71
|
+
|
|
72
|
+
- Scan source code for route handlers, controllers, service classes, and public APIs
|
|
73
|
+
- Read OpenAPI/Swagger specs (`openapi.yaml`, `swagger.json`) if available
|
|
74
|
+
- Identify database models, migrations, and data access patterns
|
|
75
|
+
- Map service-to-service integrations and message queue consumers/producers
|
|
76
|
+
- Check for existing contract tests (Pact, etc.)
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
**If `use_pactjs_utils` is enabled — Provider Endpoint Mapping (all stacks):**
|
|
81
|
+
|
|
82
|
+
When consumer-driven contract tests will be generated, build a Provider Endpoint Map during target identification. This applies to all `{detected_stack}` values — frontend, backend, and fullstack consumers all need provider scrutiny.
|
|
83
|
+
|
|
84
|
+
1. **Locate provider source and/or OpenAPI spec**: Scan workspace for provider project (from config, monorepo structure, or adjacent repositories). Also check for OpenAPI/Swagger spec files (`openapi.yaml`, `openapi.json`, `swagger.json`) — these document the provider's contract explicitly and can supplement or replace handler code analysis.
|
|
85
|
+
2. **Map each consumer endpoint** to its provider counterpart:
|
|
86
|
+
- Provider file path (route handler)
|
|
87
|
+
- Route pattern (METHOD + path)
|
|
88
|
+
- Validation schema location (Joi, Zod, class-validator) or OpenAPI request schema
|
|
89
|
+
- Response type/DTO definition location or OpenAPI response schema
|
|
90
|
+
- OpenAPI spec path (if available, e.g., `server/openapi.yaml`)
|
|
91
|
+
3. **Output as "Provider Endpoint Map" table** in the coverage plan:
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
| Consumer Endpoint | Provider File | Route | Validation Schema | Response Type | OpenAPI Spec |
|
|
95
|
+
| --------------------- | --------------------------------- | ------------------------- | ----------------------------------- | --------------- | ------------------------------------------------- |
|
|
96
|
+
| GET /api/v2/users/:id | server/src/routes/userHandlers.ts | GET /api/v2/users/:userId | server/src/validation/user.ts | UserResponseDto | server/openapi.yaml#/paths/~1api~1v2~1users~1{id} |
|
|
97
|
+
| POST /api/v2/users | server/src/routes/userHandlers.ts | POST /api/v2/users | server/src/validation/createUser.ts | UserResponseDto | server/openapi.yaml#/paths/~1api~1v2~1users |
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
4. **If provider source not accessible**: Mark entries with `TODO — provider source not accessible` and note in coverage plan that provider scrutiny will use graceful degradation (see `contract-testing.md` Provider Scrutiny Protocol)
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 2. Choose Test Levels
|
|
105
|
+
|
|
106
|
+
Use `test-levels-framework.md` to select:
|
|
107
|
+
|
|
108
|
+
- **E2E** for critical user journeys
|
|
109
|
+
- **API** for business logic and service contracts
|
|
110
|
+
- **Component** for UI behavior
|
|
111
|
+
- **Unit** for pure logic and edge cases
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 3. Assign Priorities
|
|
116
|
+
|
|
117
|
+
Use `test-priorities-matrix.md`:
|
|
118
|
+
|
|
119
|
+
- P0: Critical path + high risk
|
|
120
|
+
- P1: Important flows + medium/high risk
|
|
121
|
+
- P2: Secondary + edge cases
|
|
122
|
+
- P3: Optional/rare scenarios
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 4. Coverage Plan
|
|
127
|
+
|
|
128
|
+
Produce a concise coverage plan:
|
|
129
|
+
|
|
130
|
+
- Targets by test level
|
|
131
|
+
- Priority assignments
|
|
132
|
+
- Justification for coverage scope (critical-paths/comprehensive/selective)
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 5. Save Progress
|
|
137
|
+
|
|
138
|
+
**Save this step's accumulated work to `{outputFile}`.**
|
|
139
|
+
|
|
140
|
+
- **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
|
|
141
|
+
|
|
142
|
+
```yaml
|
|
143
|
+
---
|
|
144
|
+
stepsCompleted: ['step-02-identify-targets']
|
|
145
|
+
lastStep: 'step-02-identify-targets'
|
|
146
|
+
lastSaved: '{date}'
|
|
147
|
+
---
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Then write this step's output below the frontmatter.
|
|
151
|
+
|
|
152
|
+
- **If `{outputFile}` already exists**, update:
|
|
153
|
+
- Add `'step-02-identify-targets'` to `stepsCompleted` array (only if not already present)
|
|
154
|
+
- Set `lastStep: 'step-02-identify-targets'`
|
|
155
|
+
- Set `lastSaved: '{date}'`
|
|
156
|
+
- Append this step's output to the appropriate section.
|
|
157
|
+
|
|
158
|
+
Load next step: `{nextStepFile}`
|
|
159
|
+
|
|
160
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
161
|
+
|
|
162
|
+
### ✅ SUCCESS:
|
|
163
|
+
|
|
164
|
+
- Step completed in full with required outputs
|
|
165
|
+
|
|
166
|
+
### ❌ SYSTEM FAILURE:
|
|
167
|
+
|
|
168
|
+
- Skipped sequence steps or missing outputs
|
|
169
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|