bmad-fh 6.0.0-alpha.23
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/.coderabbit.yaml +40 -0
- package/.githooks/post-checkout +129 -0
- package/.githooks/pre-commit +63 -0
- package/.githooks/pre-push +135 -0
- package/.github/CODE_OF_CONDUCT.md +128 -0
- package/.github/FUNDING.yaml +15 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +22 -0
- package/.github/ISSUE_TEMPLATE/issue.md +32 -0
- package/.github/scripts/discord-helpers.sh +34 -0
- package/.github/workflows/bundle-latest.yaml +330 -0
- package/.github/workflows/discord.yaml +90 -0
- package/.github/workflows/docs.yaml +63 -0
- package/.github/workflows/manual-release.yaml +190 -0
- package/.github/workflows/publish-multi-artifact.yaml +50 -0
- package/.github/workflows/quality.yaml +115 -0
- package/.husky/pre-commit +20 -0
- package/.markdownlint-cli2.yaml +41 -0
- package/.nvmrc +1 -0
- package/.prettierignore +9 -0
- package/.vscode/settings.json +97 -0
- package/CHANGELOG.md +1394 -0
- package/CNAME +1 -0
- package/CONTRIBUTING.md +306 -0
- package/CONTRIBUTORS.md +32 -0
- package/LICENSE +30 -0
- package/README.md +126 -0
- package/SECURITY.md +85 -0
- package/TRADEMARK.md +55 -0
- package/Wordmark.png +0 -0
- package/banner-bmad-method.png +0 -0
- package/docs/404.md +9 -0
- package/docs/_README_WORKFLOW_DIAGRAMS.md +40 -0
- package/docs/_STYLE_GUIDE.md +367 -0
- package/docs/_archive/customize-workflows.md +30 -0
- package/docs/_archive/getting-started-bmadv4.md +247 -0
- package/docs/_archive/vendor-workflows.md +52 -0
- package/docs/downloads.md +72 -0
- package/docs/explanation/agents/barry-quick-flow.md +328 -0
- package/docs/explanation/agents/index.md +19 -0
- package/docs/explanation/architecture/four-phases.md +107 -0
- package/docs/explanation/architecture/preventing-agent-conflicts.md +111 -0
- package/docs/explanation/architecture/why-solutioning-matters.md +75 -0
- package/docs/explanation/bmm/index.md +131 -0
- package/docs/explanation/core/index.md +18 -0
- package/docs/explanation/core-concepts/agent-roles.md +179 -0
- package/docs/explanation/core-concepts/index.md +35 -0
- package/docs/explanation/core-concepts/what-are-agents.md +97 -0
- package/docs/explanation/core-concepts/what-are-modules.md +85 -0
- package/docs/explanation/core-concepts/what-are-workflows.md +204 -0
- package/docs/explanation/faq/brownfield-faq.md +73 -0
- package/docs/explanation/faq/getting-started-faq.md +67 -0
- package/docs/explanation/faq/implementation-faq.md +52 -0
- package/docs/explanation/faq/index.md +16 -0
- package/docs/explanation/faq/levels-and-tracks-faq.md +52 -0
- package/docs/explanation/faq/planning-faq.md +41 -0
- package/docs/explanation/faq/tools-faq.md +277 -0
- package/docs/explanation/faq/workflows-faq.md +61 -0
- package/docs/explanation/features/advanced-elicitation.md +95 -0
- package/docs/explanation/features/brainstorming-techniques.md +92 -0
- package/docs/explanation/features/party-mode.md +95 -0
- package/docs/explanation/features/quick-flow.md +149 -0
- package/docs/explanation/features/tea-overview.md +410 -0
- package/docs/explanation/features/web-bundles.md +34 -0
- package/docs/explanation/philosophy/facilitation-over-generation.md +333 -0
- package/docs/explanation/philosophy/testing-as-engineering.md +112 -0
- package/docs/explanation/tea/engagement-models.md +710 -0
- package/docs/explanation/tea/fixture-architecture.md +457 -0
- package/docs/explanation/tea/knowledge-base-system.md +554 -0
- package/docs/explanation/tea/network-first-patterns.md +853 -0
- package/docs/explanation/tea/risk-based-testing.md +586 -0
- package/docs/explanation/tea/test-quality-standards.md +907 -0
- package/docs/how-to/brownfield/add-feature-to-existing.md +74 -0
- package/docs/how-to/brownfield/document-existing-project.md +66 -0
- package/docs/how-to/brownfield/index.md +84 -0
- package/docs/how-to/brownfield/quick-fix-in-brownfield.md +77 -0
- package/docs/how-to/brownfield/use-tea-for-enterprise.md +526 -0
- package/docs/how-to/brownfield/use-tea-with-existing-tests.md +577 -0
- package/docs/how-to/customization/customize-agents.md +212 -0
- package/docs/how-to/customization/enable-tea-mcp-enhancements.md +424 -0
- package/docs/how-to/customization/index.md +23 -0
- package/docs/how-to/customization/integrate-playwright-utils.md +813 -0
- package/docs/how-to/customization/shard-large-documents.md +101 -0
- package/docs/how-to/get-answers-about-bmad.md +102 -0
- package/docs/how-to/installation/index.md +12 -0
- package/docs/how-to/installation/install-bmad.md +111 -0
- package/docs/how-to/installation/install-custom-modules.md +118 -0
- package/docs/how-to/installation/upgrade-to-v6.md +131 -0
- package/docs/how-to/workflows/bmgd-quick-flow.md +156 -0
- package/docs/how-to/workflows/conduct-research.md +97 -0
- package/docs/how-to/workflows/create-architecture.md +119 -0
- package/docs/how-to/workflows/create-epics-and-stories.md +109 -0
- package/docs/how-to/workflows/create-prd.md +91 -0
- package/docs/how-to/workflows/create-product-brief.md +94 -0
- package/docs/how-to/workflows/create-story.md +102 -0
- package/docs/how-to/workflows/create-ux-design.md +100 -0
- package/docs/how-to/workflows/implement-story.md +97 -0
- package/docs/how-to/workflows/quick-spec.md +122 -0
- package/docs/how-to/workflows/run-atdd.md +436 -0
- package/docs/how-to/workflows/run-automate.md +653 -0
- package/docs/how-to/workflows/run-brainstorming-session.md +73 -0
- package/docs/how-to/workflows/run-code-review.md +89 -0
- package/docs/how-to/workflows/run-implementation-readiness.md +125 -0
- package/docs/how-to/workflows/run-nfr-assess.md +679 -0
- package/docs/how-to/workflows/run-sprint-planning.md +94 -0
- package/docs/how-to/workflows/run-test-design.md +98 -0
- package/docs/how-to/workflows/run-test-review.md +605 -0
- package/docs/how-to/workflows/run-trace.md +883 -0
- package/docs/how-to/workflows/setup-ci.md +712 -0
- package/docs/how-to/workflows/setup-party-mode.md +89 -0
- package/docs/how-to/workflows/setup-test-framework.md +98 -0
- package/docs/index.md +63 -0
- package/docs/migration-guide.md +365 -0
- package/docs/multi-scope-guide.md +379 -0
- package/docs/plans/multi-scope-parallel-artifacts-plan.md +695 -0
- package/docs/reference/agents/index.md +109 -0
- package/docs/reference/configuration/core-tasks.md +67 -0
- package/docs/reference/configuration/global-config.md +28 -0
- package/docs/reference/glossary/index.md +159 -0
- package/docs/reference/tea/commands.md +254 -0
- package/docs/reference/tea/configuration.md +678 -0
- package/docs/reference/tea/knowledge-base.md +340 -0
- package/docs/reference/workflows/core-workflows.md +32 -0
- package/docs/reference/workflows/document-project.md +73 -0
- package/docs/reference/workflows/index.md +12 -0
- package/docs/tutorials/getting-started/getting-started-bmadv6.md +246 -0
- package/docs/tutorials/getting-started/images/workflow-method-greenfield.excalidraw +5034 -0
- package/docs/tutorials/getting-started/images/workflow-method-greenfield.svg +4 -0
- package/docs/tutorials/getting-started/images/workflow-overview.jpg +0 -0
- package/docs/tutorials/getting-started/tea-lite-quickstart.md +444 -0
- package/docs/tutorials/getting-started/workflow-overview.jpg +0 -0
- package/eslint.config.mjs +152 -0
- package/package.json +117 -0
- package/prettier.config.mjs +32 -0
- package/src/bmm/_module-installer/installer.js +48 -0
- package/src/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
- package/src/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
- package/src/bmm/agents/analyst.agent.yaml +41 -0
- package/src/bmm/agents/architect.agent.yaml +33 -0
- package/src/bmm/agents/dev.agent.yaml +38 -0
- package/src/bmm/agents/pm.agent.yaml +51 -0
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
- package/src/bmm/agents/sm.agent.yaml +47 -0
- package/src/bmm/agents/tea.agent.yaml +68 -0
- package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
- package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +49 -0
- package/src/bmm/agents/ux-designer.agent.yaml +30 -0
- package/src/bmm/data/README.md +29 -0
- package/src/bmm/data/project-context-template.md +40 -0
- package/src/bmm/module.yaml +64 -0
- package/src/bmm/sub-modules/claude-code/config.yaml +4 -0
- package/src/bmm/sub-modules/claude-code/injections.yaml +242 -0
- package/src/bmm/sub-modules/claude-code/readme.md +87 -0
- package/src/bmm/teams/default-party.csv +21 -0
- package/src/bmm/teams/team-fullstack.yaml +12 -0
- package/src/bmm/testarch/knowledge/api-request.md +442 -0
- package/src/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
- package/src/bmm/testarch/knowledge/auth-session.md +552 -0
- package/src/bmm/testarch/knowledge/burn-in.md +273 -0
- package/src/bmm/testarch/knowledge/ci-burn-in.md +675 -0
- package/src/bmm/testarch/knowledge/component-tdd.md +486 -0
- package/src/bmm/testarch/knowledge/contract-testing.md +957 -0
- package/src/bmm/testarch/knowledge/data-factories.md +500 -0
- package/src/bmm/testarch/knowledge/email-auth.md +721 -0
- package/src/bmm/testarch/knowledge/error-handling.md +725 -0
- package/src/bmm/testarch/knowledge/feature-flags.md +750 -0
- package/src/bmm/testarch/knowledge/file-utils.md +463 -0
- package/src/bmm/testarch/knowledge/fixture-architecture.md +401 -0
- package/src/bmm/testarch/knowledge/fixtures-composition.md +382 -0
- package/src/bmm/testarch/knowledge/intercept-network-call.md +430 -0
- package/src/bmm/testarch/knowledge/log.md +429 -0
- package/src/bmm/testarch/knowledge/network-error-monitor.md +405 -0
- package/src/bmm/testarch/knowledge/network-first.md +486 -0
- package/src/bmm/testarch/knowledge/network-recorder.md +527 -0
- package/src/bmm/testarch/knowledge/nfr-criteria.md +670 -0
- package/src/bmm/testarch/knowledge/overview.md +286 -0
- package/src/bmm/testarch/knowledge/playwright-config.md +730 -0
- package/src/bmm/testarch/knowledge/probability-impact.md +601 -0
- package/src/bmm/testarch/knowledge/recurse.md +421 -0
- package/src/bmm/testarch/knowledge/risk-governance.md +615 -0
- package/src/bmm/testarch/knowledge/selective-testing.md +732 -0
- package/src/bmm/testarch/knowledge/selector-resilience.md +527 -0
- package/src/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
- package/src/bmm/testarch/knowledge/test-levels-framework.md +473 -0
- package/src/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/src/bmm/testarch/knowledge/test-quality.md +664 -0
- package/src/bmm/testarch/knowledge/timing-debugging.md +372 -0
- package/src/bmm/testarch/knowledge/visual-debugging.md +524 -0
- package/src/bmm/testarch/tea-index.csv +34 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +194 -0
- package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
- package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
- package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
- package/src/bmm/workflows/1-analysis/research/workflow.md +173 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
- package/src/bmm/workflows/2-plan-workflows/prd/data/domain-complexity.csv +13 -0
- package/src/bmm/workflows/2-plan-workflows/prd/data/prd-purpose.md +197 -0
- package/src/bmm/workflows/2-plan-workflows/prd/data/project-types.csv +11 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01-init.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-03-success.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-05-domain.md +207 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-09-functional.md +231 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-11-polish.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-12-complete.md +180 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/src/bmm/workflows/2-plan-workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/src/bmm/workflows/2-plan-workflows/prd/templates/prd-template.md +10 -0
- package/src/bmm/workflows/2-plan-workflows/prd/validation-report-prd-workflow.md +433 -0
- package/src/bmm/workflows/2-plan-workflows/prd/workflow.md +150 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
- package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
- package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +51 -0
- package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
- package/src/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
- package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +60 -0
- package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/src/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
- package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
- package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +61 -0
- package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +27 -0
- package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
- package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +58 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +54 -0
- package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
- package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +36 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +144 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +191 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
- package/src/bmm/workflows/document-project/checklist.md +245 -0
- package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/src/bmm/workflows/document-project/instructions.md +221 -0
- package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/src/bmm/workflows/document-project/workflow.yaml +30 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
- package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +27 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
- package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +27 -0
- package/src/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/src/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/src/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/src/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/src/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/src/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
- package/src/bmm/workflows/testarch/atdd/checklist.md +374 -0
- package/src/bmm/workflows/testarch/atdd/instructions.md +806 -0
- package/src/bmm/workflows/testarch/atdd/workflow.yaml +47 -0
- package/src/bmm/workflows/testarch/automate/checklist.md +582 -0
- package/src/bmm/workflows/testarch/automate/instructions.md +1324 -0
- package/src/bmm/workflows/testarch/automate/workflow.yaml +54 -0
- package/src/bmm/workflows/testarch/ci/checklist.md +248 -0
- package/src/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/src/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/src/bmm/workflows/testarch/ci/instructions.md +536 -0
- package/src/bmm/workflows/testarch/ci/workflow.yaml +47 -0
- package/src/bmm/workflows/testarch/framework/checklist.md +321 -0
- package/src/bmm/workflows/testarch/framework/instructions.md +481 -0
- package/src/bmm/workflows/testarch/framework/workflow.yaml +49 -0
- package/src/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/src/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
- package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
- package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
- package/src/bmm/workflows/testarch/test-design/checklist.md +235 -0
- package/src/bmm/workflows/testarch/test-design/instructions.md +788 -0
- package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
- package/src/bmm/workflows/testarch/test-design/workflow.yaml +56 -0
- package/src/bmm/workflows/testarch/test-review/checklist.md +472 -0
- package/src/bmm/workflows/testarch/test-review/instructions.md +628 -0
- package/src/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
- package/src/bmm/workflows/testarch/test-review/workflow.yaml +48 -0
- package/src/bmm/workflows/testarch/trace/checklist.md +655 -0
- package/src/bmm/workflows/testarch/trace/instructions.md +1047 -0
- package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
- package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
- package/src/bmm/workflows/workflow-status/init/instructions.md +346 -0
- package/src/bmm/workflows/workflow-status/init/workflow.yaml +30 -0
- package/src/bmm/workflows/workflow-status/instructions.md +397 -0
- package/src/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
- package/src/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
- package/src/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
- package/src/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
- package/src/bmm/workflows/workflow-status/project-levels.yaml +59 -0
- package/src/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/bmm/workflows/workflow-status/workflow.yaml +32 -0
- package/src/core/_module-installer/installer.js +60 -0
- package/src/core/agents/bmad-master.agent.yaml +30 -0
- package/src/core/lib/scope/artifact-resolver.js +298 -0
- package/src/core/lib/scope/event-logger.js +411 -0
- package/src/core/lib/scope/index.js +30 -0
- package/src/core/lib/scope/scope-context.js +307 -0
- package/src/core/lib/scope/scope-initializer.js +458 -0
- package/src/core/lib/scope/scope-manager.js +512 -0
- package/src/core/lib/scope/scope-migrator.js +442 -0
- package/src/core/lib/scope/scope-sync.js +489 -0
- package/src/core/lib/scope/scope-validator.js +299 -0
- package/src/core/lib/scope/state-lock.js +342 -0
- package/src/core/module.yaml +53 -0
- package/src/core/resources/excalidraw/README.md +160 -0
- package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
- package/src/core/resources/excalidraw/library-loader.md +50 -0
- package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
- package/src/core/tasks/editorial-review-prose.xml +91 -0
- package/src/core/tasks/editorial-review-structure.xml +198 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/review-adversarial-general.xml +46 -0
- package/src/core/tasks/shard-doc.xml +109 -0
- package/src/core/tasks/workflow.xml +277 -0
- package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/src/core/workflows/advanced-elicitation/workflow.xml +117 -0
- package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/src/core/workflows/brainstorming/template.md +15 -0
- package/src/core/workflows/brainstorming/workflow.md +58 -0
- package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
- package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
- package/src/core/workflows/party-mode/workflow.md +194 -0
- package/src/utility/agent-components/activation-rules.txt +6 -0
- package/src/utility/agent-components/activation-steps.txt +28 -0
- package/src/utility/agent-components/agent-command-header.md +1 -0
- package/src/utility/agent-components/agent.customize.template.yaml +41 -0
- package/src/utility/agent-components/handler-action.txt +4 -0
- package/src/utility/agent-components/handler-data.txt +5 -0
- package/src/utility/agent-components/handler-exec.txt +19 -0
- package/src/utility/agent-components/handler-multi.txt +14 -0
- package/src/utility/agent-components/handler-tmpl.txt +5 -0
- package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
- package/src/utility/agent-components/handler-workflow.txt +10 -0
- package/src/utility/agent-components/menu-handlers.txt +6 -0
- package/test/README.md +295 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-cli-integration.sh +159 -0
- package/test/test-installation-components.js +214 -0
- package/test/test-scope-e2e.js +450 -0
- package/test/test-scope-system.js +787 -0
- package/test/unit-test-schema.js +133 -0
- package/tools/bmad-npx-wrapper.js +38 -0
- package/tools/build-docs.js +577 -0
- package/tools/cli/README.md +7 -0
- package/tools/cli/bmad-cli.js +58 -0
- package/tools/cli/commands/install.js +87 -0
- package/tools/cli/commands/scope.js +474 -0
- package/tools/cli/external-official-modules.yaml +41 -0
- package/tools/cli/installers/install-messages.yaml +58 -0
- package/tools/cli/installers/lib/core/config-collector.js +1079 -0
- package/tools/cli/installers/lib/core/custom-module-cache.js +259 -0
- package/tools/cli/installers/lib/core/dependency-resolver.js +739 -0
- package/tools/cli/installers/lib/core/detector.js +223 -0
- package/tools/cli/installers/lib/core/ide-config-manager.js +156 -0
- package/tools/cli/installers/lib/core/installer.js +2585 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +963 -0
- package/tools/cli/installers/lib/core/manifest.js +590 -0
- package/tools/cli/installers/lib/custom/handler.js +363 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +654 -0
- package/tools/cli/installers/lib/ide/antigravity.js +486 -0
- package/tools/cli/installers/lib/ide/auggie.js +244 -0
- package/tools/cli/installers/lib/ide/claude-code.js +487 -0
- package/tools/cli/installers/lib/ide/cline.js +269 -0
- package/tools/cli/installers/lib/ide/codex.js +375 -0
- package/tools/cli/installers/lib/ide/crush.js +300 -0
- package/tools/cli/installers/lib/ide/cursor.js +169 -0
- package/tools/cli/installers/lib/ide/gemini.js +301 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +383 -0
- package/tools/cli/installers/lib/ide/iflow.js +191 -0
- package/tools/cli/installers/lib/ide/kilo.js +250 -0
- package/tools/cli/installers/lib/ide/kiro-cli.js +326 -0
- package/tools/cli/installers/lib/ide/manager.js +244 -0
- package/tools/cli/installers/lib/ide/opencode.js +257 -0
- package/tools/cli/installers/lib/ide/qwen.js +372 -0
- package/tools/cli/installers/lib/ide/roo.js +270 -0
- package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +96 -0
- package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +158 -0
- package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +119 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +242 -0
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +29 -0
- package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
- package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
- package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +30 -0
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +45 -0
- package/tools/cli/installers/lib/ide/trae.js +313 -0
- package/tools/cli/installers/lib/ide/windsurf.js +258 -0
- package/tools/cli/installers/lib/message-loader.js +85 -0
- package/tools/cli/installers/lib/modules/external-manager.js +133 -0
- package/tools/cli/installers/lib/modules/manager.js +1362 -0
- package/tools/cli/lib/activation-builder.js +163 -0
- package/tools/cli/lib/agent/compiler.js +522 -0
- package/tools/cli/lib/agent/installer.js +716 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/tools/cli/lib/agent-analyzer.js +109 -0
- package/tools/cli/lib/agent-party-generator.js +194 -0
- package/tools/cli/lib/cli-utils.js +227 -0
- package/tools/cli/lib/config.js +213 -0
- package/tools/cli/lib/file-ops.js +204 -0
- package/tools/cli/lib/platform-codes.js +116 -0
- package/tools/cli/lib/project-root.js +77 -0
- package/tools/cli/lib/prompts.js +433 -0
- package/tools/cli/lib/ui.js +1591 -0
- package/tools/cli/lib/xml-handler.js +177 -0
- package/tools/cli/lib/xml-to-markdown.js +82 -0
- package/tools/cli/lib/yaml-format.js +245 -0
- package/tools/cli/lib/yaml-xml-builder.js +587 -0
- package/tools/cli/scripts/migrate-workflows.js +281 -0
- package/tools/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
- package/tools/docs/index.md +2 -0
- package/tools/fix-doc-links.js +288 -0
- package/tools/flattener/aggregate.js +76 -0
- package/tools/flattener/binary.js +80 -0
- package/tools/flattener/discovery.js +71 -0
- package/tools/flattener/files.js +35 -0
- package/tools/flattener/ignoreRules.js +172 -0
- package/tools/flattener/main.js +483 -0
- package/tools/flattener/projectRoot.js +201 -0
- package/tools/flattener/prompts.js +44 -0
- package/tools/flattener/stats.helpers.js +368 -0
- package/tools/flattener/stats.js +75 -0
- package/tools/flattener/test-matrix.js +409 -0
- package/tools/flattener/xml.js +82 -0
- package/tools/format-workflow-md.js +263 -0
- package/tools/lib/xml-utils.js +13 -0
- package/tools/maintainer/review-pr-README.md +55 -0
- package/tools/maintainer/review-pr.md +242 -0
- package/tools/migrate-custom-module-paths.js +124 -0
- package/tools/platform-codes.yaml +157 -0
- package/tools/schema/agent.js +493 -0
- package/tools/validate-agent-schema.js +110 -0
- package/tools/validate-doc-links.js +363 -0
- package/tools/validate-svg-changes.sh +356 -0
- package/website/README.md +76 -0
- package/website/astro.config.mjs +228 -0
- package/website/public/favicon.ico +0 -0
- package/website/public/img/bmad-dark.png +0 -0
- package/website/public/img/bmad-light.png +0 -0
- package/website/public/img/logo.svg +4 -0
- package/website/public/robots.txt +37 -0
- package/website/src/components/Banner.astro +59 -0
- package/website/src/components/Header.astro +121 -0
- package/website/src/components/MobileMenuFooter.astro +53 -0
- package/website/src/content/config.ts +6 -0
- package/website/src/lib/site-url.js +25 -0
- package/website/src/rehype-markdown-links.js +102 -0
- package/website/src/styles/custom.css +485 -0
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Risk-Based Testing Explained"
|
|
3
|
+
description: Understanding how TEA uses probability × impact scoring to prioritize testing effort
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Risk-Based Testing Explained
|
|
7
|
+
|
|
8
|
+
Risk-based testing is TEA's core principle: testing depth scales with business impact. Instead of testing everything equally, focus effort where failures hurt most.
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Traditional testing approaches treat all features equally:
|
|
13
|
+
- Every feature gets same test coverage
|
|
14
|
+
- Same level of scrutiny regardless of impact
|
|
15
|
+
- No systematic prioritization
|
|
16
|
+
- Testing becomes checkbox exercise
|
|
17
|
+
|
|
18
|
+
**Risk-based testing asks:**
|
|
19
|
+
- What's the probability this will fail?
|
|
20
|
+
- What's the impact if it does fail?
|
|
21
|
+
- How much testing is appropriate for this risk level?
|
|
22
|
+
|
|
23
|
+
**Result:** Testing effort matches business criticality.
|
|
24
|
+
|
|
25
|
+
## The Problem
|
|
26
|
+
|
|
27
|
+
### Equal Testing for Unequal Risk
|
|
28
|
+
|
|
29
|
+
```markdown
|
|
30
|
+
Feature A: User login (critical path, millions of users)
|
|
31
|
+
Feature B: Export to PDF (nice-to-have, rarely used)
|
|
32
|
+
|
|
33
|
+
Traditional approach:
|
|
34
|
+
- Both get 10 tests
|
|
35
|
+
- Both get same review scrutiny
|
|
36
|
+
- Both take same development time
|
|
37
|
+
|
|
38
|
+
Problem: Wasting effort on low-impact features while under-testing critical paths.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### No Objective Prioritization
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
PM: "We need more tests for checkout"
|
|
45
|
+
QA: "How many tests?"
|
|
46
|
+
PM: "I don't know... a lot?"
|
|
47
|
+
QA: "How do we know when we have enough?"
|
|
48
|
+
PM: "When it feels safe?"
|
|
49
|
+
|
|
50
|
+
Problem: Subjective decisions, no data, political debates.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## The Solution: Probability × Impact Scoring
|
|
54
|
+
|
|
55
|
+
### Risk Score = Probability × Impact
|
|
56
|
+
|
|
57
|
+
**Probability** (How likely to fail?)
|
|
58
|
+
- **1 (Low):** Stable, well-tested, simple logic
|
|
59
|
+
- **2 (Medium):** Moderate complexity, some unknowns
|
|
60
|
+
- **3 (High):** Complex, untested, many edge cases
|
|
61
|
+
|
|
62
|
+
**Impact** (How bad if it fails?)
|
|
63
|
+
- **1 (Low):** Minor inconvenience, few users affected
|
|
64
|
+
- **2 (Medium):** Degraded experience, workarounds exist
|
|
65
|
+
- **3 (High):** Critical path broken, business impact
|
|
66
|
+
|
|
67
|
+
**Score Range:** 1-9
|
|
68
|
+
|
|
69
|
+
#### Risk Scoring Matrix
|
|
70
|
+
|
|
71
|
+
```mermaid
|
|
72
|
+
%%{init: {'theme':'base', 'themeVariables': { 'fontSize':'14px'}}}%%
|
|
73
|
+
graph TD
|
|
74
|
+
subgraph Matrix[" "]
|
|
75
|
+
direction TB
|
|
76
|
+
subgraph Impact3["Impact: HIGH (3)"]
|
|
77
|
+
P1I3["Score: 3<br/>Low Risk"]
|
|
78
|
+
P2I3["Score: 6<br/>HIGH RISK<br/>Mitigation Required"]
|
|
79
|
+
P3I3["Score: 9<br/>CRITICAL<br/>Blocks Release"]
|
|
80
|
+
end
|
|
81
|
+
subgraph Impact2["Impact: MEDIUM (2)"]
|
|
82
|
+
P1I2["Score: 2<br/>Low Risk"]
|
|
83
|
+
P2I2["Score: 4<br/>Medium Risk"]
|
|
84
|
+
P3I2["Score: 6<br/>HIGH RISK<br/>Mitigation Required"]
|
|
85
|
+
end
|
|
86
|
+
subgraph Impact1["Impact: LOW (1)"]
|
|
87
|
+
P1I1["Score: 1<br/>Low Risk"]
|
|
88
|
+
P2I1["Score: 2<br/>Low Risk"]
|
|
89
|
+
P3I1["Score: 3<br/>Low Risk"]
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
Prob1["Probability: LOW (1)"] -.-> P1I1
|
|
94
|
+
Prob1 -.-> P1I2
|
|
95
|
+
Prob1 -.-> P1I3
|
|
96
|
+
|
|
97
|
+
Prob2["Probability: MEDIUM (2)"] -.-> P2I1
|
|
98
|
+
Prob2 -.-> P2I2
|
|
99
|
+
Prob2 -.-> P2I3
|
|
100
|
+
|
|
101
|
+
Prob3["Probability: HIGH (3)"] -.-> P3I1
|
|
102
|
+
Prob3 -.-> P3I2
|
|
103
|
+
Prob3 -.-> P3I3
|
|
104
|
+
|
|
105
|
+
style P3I3 fill:#f44336,stroke:#b71c1c,stroke-width:3px,color:#fff
|
|
106
|
+
style P2I3 fill:#ff9800,stroke:#e65100,stroke-width:2px,color:#000
|
|
107
|
+
style P3I2 fill:#ff9800,stroke:#e65100,stroke-width:2px,color:#000
|
|
108
|
+
style P2I2 fill:#fff9c4,stroke:#f57f17,stroke-width:1px,color:#000
|
|
109
|
+
style P1I1 fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
110
|
+
style P2I1 fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
111
|
+
style P3I1 fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
112
|
+
style P1I2 fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
113
|
+
style P1I3 fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Legend:**
|
|
117
|
+
- 🔴 Red (Score 9): CRITICAL - Blocks release
|
|
118
|
+
- 🟠 Orange (Score 6-8): HIGH RISK - Mitigation required
|
|
119
|
+
- 🟡 Yellow (Score 4-5): MEDIUM - Mitigation recommended
|
|
120
|
+
- 🟢 Green (Score 1-3): LOW - Optional mitigation
|
|
121
|
+
|
|
122
|
+
### Scoring Examples
|
|
123
|
+
|
|
124
|
+
**Score 9 (Critical):**
|
|
125
|
+
```
|
|
126
|
+
Feature: Payment processing
|
|
127
|
+
Probability: 3 (complex third-party integration)
|
|
128
|
+
Impact: 3 (broken payments = lost revenue)
|
|
129
|
+
Score: 3 × 3 = 9
|
|
130
|
+
|
|
131
|
+
Action: Extensive testing required
|
|
132
|
+
- E2E tests for all payment flows
|
|
133
|
+
- API tests for all payment scenarios
|
|
134
|
+
- Error handling for all failure modes
|
|
135
|
+
- Security testing for payment data
|
|
136
|
+
- Load testing for high traffic
|
|
137
|
+
- Monitoring and alerts
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**Score 1 (Low):**
|
|
141
|
+
```
|
|
142
|
+
Feature: Change profile theme color
|
|
143
|
+
Probability: 1 (simple UI toggle)
|
|
144
|
+
Impact: 1 (cosmetic only)
|
|
145
|
+
Score: 1 × 1 = 1
|
|
146
|
+
|
|
147
|
+
Action: Minimal testing
|
|
148
|
+
- One E2E smoke test
|
|
149
|
+
- Skip edge cases
|
|
150
|
+
- No API tests needed
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Score 6 (Medium-High):**
|
|
154
|
+
```
|
|
155
|
+
Feature: User profile editing
|
|
156
|
+
Probability: 2 (moderate complexity)
|
|
157
|
+
Impact: 3 (users can't update info)
|
|
158
|
+
Score: 2 × 3 = 6
|
|
159
|
+
|
|
160
|
+
Action: Focused testing
|
|
161
|
+
- E2E test for happy path
|
|
162
|
+
- API tests for CRUD operations
|
|
163
|
+
- Validation testing
|
|
164
|
+
- Skip low-value edge cases
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## How It Works in TEA
|
|
168
|
+
|
|
169
|
+
### 1. Risk Categories
|
|
170
|
+
|
|
171
|
+
TEA assesses risk across 6 categories:
|
|
172
|
+
|
|
173
|
+
**TECH** - Technical debt, architecture fragility
|
|
174
|
+
```
|
|
175
|
+
Example: Migrating from REST to GraphQL
|
|
176
|
+
Probability: 3 (major architectural change)
|
|
177
|
+
Impact: 3 (affects all API consumers)
|
|
178
|
+
Score: 9 - Extensive integration testing required
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**SEC** - Security vulnerabilities
|
|
182
|
+
```
|
|
183
|
+
Example: Adding OAuth integration
|
|
184
|
+
Probability: 2 (third-party dependency)
|
|
185
|
+
Impact: 3 (auth breach = data exposure)
|
|
186
|
+
Score: 6 - Security testing mandatory
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**PERF** - Performance degradation
|
|
190
|
+
```
|
|
191
|
+
Example: Adding real-time notifications
|
|
192
|
+
Probability: 2 (WebSocket complexity)
|
|
193
|
+
Impact: 2 (slower experience)
|
|
194
|
+
Score: 4 - Load testing recommended
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**DATA** - Data integrity, corruption
|
|
198
|
+
```
|
|
199
|
+
Example: Database migration
|
|
200
|
+
Probability: 2 (schema changes)
|
|
201
|
+
Impact: 3 (data loss unacceptable)
|
|
202
|
+
Score: 6 - Data validation tests required
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**BUS** - Business logic errors
|
|
206
|
+
```
|
|
207
|
+
Example: Discount calculation
|
|
208
|
+
Probability: 2 (business rules complex)
|
|
209
|
+
Impact: 3 (wrong prices = revenue loss)
|
|
210
|
+
Score: 6 - Business logic tests mandatory
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**OPS** - Operational issues
|
|
214
|
+
```
|
|
215
|
+
Example: Logging system update
|
|
216
|
+
Probability: 1 (straightforward)
|
|
217
|
+
Impact: 2 (debugging harder without logs)
|
|
218
|
+
Score: 2 - Basic smoke test sufficient
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### 2. Test Priorities (P0-P3)
|
|
222
|
+
|
|
223
|
+
Risk scores inform test priorities (but aren't the only factor):
|
|
224
|
+
|
|
225
|
+
**P0 - Critical Path**
|
|
226
|
+
- **Risk Scores:** Typically 6-9 (high risk)
|
|
227
|
+
- **Other Factors:** Revenue impact, security-critical, regulatory compliance, frequent usage
|
|
228
|
+
- **Coverage Target:** 100%
|
|
229
|
+
- **Test Levels:** E2E + API
|
|
230
|
+
- **Example:** Login, checkout, payment processing
|
|
231
|
+
|
|
232
|
+
**P1 - High Value**
|
|
233
|
+
- **Risk Scores:** Typically 4-6 (medium-high risk)
|
|
234
|
+
- **Other Factors:** Core user journeys, complex logic, integration points
|
|
235
|
+
- **Coverage Target:** 90%
|
|
236
|
+
- **Test Levels:** API + selective E2E
|
|
237
|
+
- **Example:** Profile editing, search, filters
|
|
238
|
+
|
|
239
|
+
**P2 - Medium Value**
|
|
240
|
+
- **Risk Scores:** Typically 2-4 (medium risk)
|
|
241
|
+
- **Other Factors:** Secondary features, admin functionality, reporting
|
|
242
|
+
- **Coverage Target:** 50%
|
|
243
|
+
- **Test Levels:** API happy path only
|
|
244
|
+
- **Example:** Export features, advanced settings
|
|
245
|
+
|
|
246
|
+
**P3 - Low Value**
|
|
247
|
+
- **Risk Scores:** Typically 1-2 (low risk)
|
|
248
|
+
- **Other Factors:** Rarely used, nice-to-have, cosmetic
|
|
249
|
+
- **Coverage Target:** 20% (smoke test)
|
|
250
|
+
- **Test Levels:** E2E smoke test only
|
|
251
|
+
- **Example:** Theme customization, experimental features
|
|
252
|
+
|
|
253
|
+
**Note:** Priorities consider risk scores plus business context (usage frequency, user impact, etc.). See [Test Priorities Matrix](/docs/reference/tea/knowledge-base.md#quality-standards) for complete criteria.
|
|
254
|
+
|
|
255
|
+
### 3. Mitigation Plans
|
|
256
|
+
|
|
257
|
+
**Scores ≥6 require documented mitigation:**
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
## Risk Mitigation
|
|
261
|
+
|
|
262
|
+
**Risk:** Payment integration failure (Score: 9)
|
|
263
|
+
|
|
264
|
+
**Mitigation Plan:**
|
|
265
|
+
- Create comprehensive test suite (20+ tests)
|
|
266
|
+
- Add payment sandbox environment
|
|
267
|
+
- Implement retry logic with idempotency
|
|
268
|
+
- Add monitoring and alerts
|
|
269
|
+
- Document rollback procedure
|
|
270
|
+
|
|
271
|
+
**Owner:** Backend team lead
|
|
272
|
+
**Deadline:** Before production deployment
|
|
273
|
+
**Status:** In progress
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Gate Rules:**
|
|
277
|
+
- **Score = 9** (Critical): Mandatory FAIL - blocks release without mitigation
|
|
278
|
+
- **Score 6-8** (High): Requires mitigation plan, becomes CONCERNS if incomplete
|
|
279
|
+
- **Score 4-5** (Medium): Mitigation recommended but not required
|
|
280
|
+
- **Score 1-3** (Low): No mitigation needed
|
|
281
|
+
|
|
282
|
+
## Comparison: Traditional vs Risk-Based
|
|
283
|
+
|
|
284
|
+
### Traditional Approach
|
|
285
|
+
|
|
286
|
+
```typescript
|
|
287
|
+
// Test everything equally
|
|
288
|
+
describe('User profile', () => {
|
|
289
|
+
test('should display name');
|
|
290
|
+
test('should display email');
|
|
291
|
+
test('should display phone');
|
|
292
|
+
test('should display address');
|
|
293
|
+
test('should display bio');
|
|
294
|
+
test('should display avatar');
|
|
295
|
+
test('should display join date');
|
|
296
|
+
test('should display last login');
|
|
297
|
+
test('should display theme preference');
|
|
298
|
+
test('should display language preference');
|
|
299
|
+
// 10 tests for profile display (all equal priority)
|
|
300
|
+
});
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Problems:**
|
|
304
|
+
- Same effort for critical (name) vs trivial (theme)
|
|
305
|
+
- No guidance on what matters
|
|
306
|
+
- Wastes time on low-value tests
|
|
307
|
+
|
|
308
|
+
### Risk-Based Approach
|
|
309
|
+
|
|
310
|
+
```typescript
|
|
311
|
+
// Test based on risk
|
|
312
|
+
|
|
313
|
+
describe('User profile - Critical (P0)', () => {
|
|
314
|
+
test('should display name and email'); // Score: 9 (identity critical)
|
|
315
|
+
test('should allow editing name and email');
|
|
316
|
+
test('should validate email format');
|
|
317
|
+
test('should prevent unauthorized edits');
|
|
318
|
+
// 4 focused tests on high-risk areas
|
|
319
|
+
});
|
|
320
|
+
|
|
321
|
+
describe('User profile - High Value (P1)', () => {
|
|
322
|
+
test('should upload avatar'); // Score: 6 (users care about this)
|
|
323
|
+
test('should update bio');
|
|
324
|
+
// 2 tests for high-value features
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
// P2: Theme preference - single smoke test
|
|
328
|
+
// P3: Last login display - skip (read-only, low value)
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**Benefits:**
|
|
332
|
+
- 6 focused tests vs 10 unfocused tests
|
|
333
|
+
- Effort matches business impact
|
|
334
|
+
- Clear priorities guide development
|
|
335
|
+
- No wasted effort on trivial features
|
|
336
|
+
|
|
337
|
+
## When to Use Risk-Based Testing
|
|
338
|
+
|
|
339
|
+
### Always Use For:
|
|
340
|
+
|
|
341
|
+
**Enterprise projects:**
|
|
342
|
+
- High stakes (revenue, compliance, security)
|
|
343
|
+
- Many features competing for test effort
|
|
344
|
+
- Need objective prioritization
|
|
345
|
+
|
|
346
|
+
**Large codebases:**
|
|
347
|
+
- Can't test everything exhaustively
|
|
348
|
+
- Need to focus limited QA resources
|
|
349
|
+
- Want data-driven decisions
|
|
350
|
+
|
|
351
|
+
**Regulated industries:**
|
|
352
|
+
- Must justify testing decisions
|
|
353
|
+
- Auditors want risk assessments
|
|
354
|
+
- Compliance requires evidence
|
|
355
|
+
|
|
356
|
+
### Consider Skipping For:
|
|
357
|
+
|
|
358
|
+
**Tiny projects:**
|
|
359
|
+
- 5 features total
|
|
360
|
+
- Can test everything thoroughly
|
|
361
|
+
- Risk scoring is overhead
|
|
362
|
+
|
|
363
|
+
**Prototypes:**
|
|
364
|
+
- Throw-away code
|
|
365
|
+
- Speed over quality
|
|
366
|
+
- Learning experiments
|
|
367
|
+
|
|
368
|
+
## Real-World Example
|
|
369
|
+
|
|
370
|
+
### Scenario: E-Commerce Checkout Redesign
|
|
371
|
+
|
|
372
|
+
**Feature:** Redesigning checkout flow from 5 steps to 3 steps
|
|
373
|
+
|
|
374
|
+
**Risk Assessment:**
|
|
375
|
+
|
|
376
|
+
| Component | Probability | Impact | Score | Priority | Testing |
|
|
377
|
+
|-----------|-------------|--------|-------|----------|---------|
|
|
378
|
+
| **Payment processing** | 3 | 3 | 9 | P0 | 15 E2E + 20 API tests |
|
|
379
|
+
| **Order validation** | 2 | 3 | 6 | P1 | 5 E2E + 10 API tests |
|
|
380
|
+
| **Shipping calculation** | 2 | 2 | 4 | P1 | 3 E2E + 8 API tests |
|
|
381
|
+
| **Promo code validation** | 2 | 2 | 4 | P1 | 2 E2E + 5 API tests |
|
|
382
|
+
| **Gift message** | 1 | 1 | 1 | P3 | 1 E2E smoke test |
|
|
383
|
+
|
|
384
|
+
**Test Budget:** 40 hours
|
|
385
|
+
|
|
386
|
+
**Allocation:**
|
|
387
|
+
- Payment (Score 9): 20 hours (50%)
|
|
388
|
+
- Order validation (Score 6): 8 hours (20%)
|
|
389
|
+
- Shipping (Score 4): 6 hours (15%)
|
|
390
|
+
- Promo codes (Score 4): 4 hours (10%)
|
|
391
|
+
- Gift message (Score 1): 2 hours (5%)
|
|
392
|
+
|
|
393
|
+
**Result:** 50% of effort on highest-risk feature (payment), proportional allocation for others.
|
|
394
|
+
|
|
395
|
+
### Without Risk-Based Testing:
|
|
396
|
+
|
|
397
|
+
**Equal allocation:** 8 hours per component = wasted effort on gift message, under-testing payment.
|
|
398
|
+
|
|
399
|
+
**Result:** Payment bugs slip through (critical), perfect testing of gift message (trivial).
|
|
400
|
+
|
|
401
|
+
## Mitigation Strategies by Risk Level
|
|
402
|
+
|
|
403
|
+
### Score 9: Mandatory Mitigation (Blocks Release)
|
|
404
|
+
|
|
405
|
+
```markdown
|
|
406
|
+
**Gate Impact:** FAIL - Cannot deploy without mitigation
|
|
407
|
+
|
|
408
|
+
**Actions:**
|
|
409
|
+
- Comprehensive test suite (E2E, API, security)
|
|
410
|
+
- Multiple test environments (dev, staging, prod-mirror)
|
|
411
|
+
- Load testing and performance validation
|
|
412
|
+
- Security audit and penetration testing
|
|
413
|
+
- Monitoring and alerting
|
|
414
|
+
- Rollback plan documented
|
|
415
|
+
- On-call rotation assigned
|
|
416
|
+
|
|
417
|
+
**Cannot deploy until score is mitigated below 9.**
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
### Score 6-8: Required Mitigation (Gate: CONCERNS)
|
|
421
|
+
|
|
422
|
+
```markdown
|
|
423
|
+
**Gate Impact:** CONCERNS - Can deploy with documented mitigation plan
|
|
424
|
+
|
|
425
|
+
**Actions:**
|
|
426
|
+
- Targeted test suite (happy path + critical errors)
|
|
427
|
+
- Test environment setup
|
|
428
|
+
- Monitoring plan
|
|
429
|
+
- Document mitigation and owners
|
|
430
|
+
|
|
431
|
+
**Can deploy with approved mitigation plan.**
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
### Score 4-5: Recommended Mitigation
|
|
435
|
+
|
|
436
|
+
```markdown
|
|
437
|
+
**Gate Impact:** Advisory - Does not affect gate decision
|
|
438
|
+
|
|
439
|
+
**Actions:**
|
|
440
|
+
- Basic test coverage
|
|
441
|
+
- Standard monitoring
|
|
442
|
+
- Document known limitations
|
|
443
|
+
|
|
444
|
+
**Can deploy, mitigation recommended but not required.**
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
### Score 1-3: Optional Mitigation
|
|
448
|
+
|
|
449
|
+
```markdown
|
|
450
|
+
**Gate Impact:** None
|
|
451
|
+
|
|
452
|
+
**Actions:**
|
|
453
|
+
- Smoke test if desired
|
|
454
|
+
- Feature flag for easy disable (optional)
|
|
455
|
+
|
|
456
|
+
**Can deploy without mitigation.**
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
## Technical Implementation
|
|
460
|
+
|
|
461
|
+
For detailed risk governance patterns, see the knowledge base:
|
|
462
|
+
- [Knowledge Base Index - Risk & Gates](/docs/reference/tea/knowledge-base.md)
|
|
463
|
+
- [TEA Command Reference - *test-design](/docs/reference/tea/commands.md#test-design)
|
|
464
|
+
|
|
465
|
+
### Risk Scoring Matrix
|
|
466
|
+
|
|
467
|
+
TEA uses this framework in `*test-design`:
|
|
468
|
+
|
|
469
|
+
```
|
|
470
|
+
Impact
|
|
471
|
+
1 2 3
|
|
472
|
+
┌────┬────┬────┐
|
|
473
|
+
1 │ 1 │ 2 │ 3 │ Low risk
|
|
474
|
+
P 2 │ 2 │ 4 │ 6 │ Medium risk
|
|
475
|
+
r 3 │ 3 │ 6 │ 9 │ High risk
|
|
476
|
+
o └────┴────┴────┘
|
|
477
|
+
b Low Med High
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
### Gate Decision Rules
|
|
481
|
+
|
|
482
|
+
| Score | Mitigation Required | Gate Impact |
|
|
483
|
+
|-------|-------------------|-------------|
|
|
484
|
+
| **9** | Mandatory, blocks release | FAIL if no mitigation |
|
|
485
|
+
| **6-8** | Required, documented plan | CONCERNS if incomplete |
|
|
486
|
+
| **4-5** | Recommended | Advisory only |
|
|
487
|
+
| **1-3** | Optional | No impact |
|
|
488
|
+
|
|
489
|
+
#### Gate Decision Flow
|
|
490
|
+
|
|
491
|
+
```mermaid
|
|
492
|
+
%%{init: {'theme':'base', 'themeVariables': { 'fontSize':'14px'}}}%%
|
|
493
|
+
flowchart TD
|
|
494
|
+
Start([Risk Assessment]) --> Score{Risk Score?}
|
|
495
|
+
|
|
496
|
+
Score -->|Score = 9| Critical[CRITICAL RISK<br/>Score: 9]
|
|
497
|
+
Score -->|Score 6-8| High[HIGH RISK<br/>Score: 6-8]
|
|
498
|
+
Score -->|Score 4-5| Medium[MEDIUM RISK<br/>Score: 4-5]
|
|
499
|
+
Score -->|Score 1-3| Low[LOW RISK<br/>Score: 1-3]
|
|
500
|
+
|
|
501
|
+
Critical --> HasMit9{Mitigation<br/>Plan?}
|
|
502
|
+
HasMit9 -->|Yes| Concerns9[CONCERNS ⚠️<br/>Can deploy with plan]
|
|
503
|
+
HasMit9 -->|No| Fail[FAIL ❌<br/>Blocks release]
|
|
504
|
+
|
|
505
|
+
High --> HasMit6{Mitigation<br/>Plan?}
|
|
506
|
+
HasMit6 -->|Yes| Pass6[PASS ✅<br/>or CONCERNS ⚠️]
|
|
507
|
+
HasMit6 -->|No| Concerns6[CONCERNS ⚠️<br/>Document plan needed]
|
|
508
|
+
|
|
509
|
+
Medium --> Advisory[Advisory Only<br/>No gate impact]
|
|
510
|
+
Low --> NoAction[No Action<br/>Proceed]
|
|
511
|
+
|
|
512
|
+
style Critical fill:#f44336,stroke:#b71c1c,stroke-width:3px,color:#fff
|
|
513
|
+
style Fail fill:#d32f2f,stroke:#b71c1c,stroke-width:3px,color:#fff
|
|
514
|
+
style High fill:#ff9800,stroke:#e65100,stroke-width:2px,color:#000
|
|
515
|
+
style Concerns9 fill:#ffc107,stroke:#f57f17,stroke-width:2px,color:#000
|
|
516
|
+
style Concerns6 fill:#ffc107,stroke:#f57f17,stroke-width:2px,color:#000
|
|
517
|
+
style Pass6 fill:#4caf50,stroke:#1b5e20,stroke-width:2px,color:#fff
|
|
518
|
+
style Medium fill:#fff9c4,stroke:#f57f17,stroke-width:1px,color:#000
|
|
519
|
+
style Low fill:#c8e6c9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
520
|
+
style Advisory fill:#e8f5e9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
521
|
+
style NoAction fill:#e8f5e9,stroke:#2e7d32,stroke-width:1px,color:#000
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
## Common Misconceptions
|
|
525
|
+
|
|
526
|
+
### "Risk-based = Less Testing"
|
|
527
|
+
|
|
528
|
+
**Wrong:** Risk-based testing often means MORE testing where it matters.
|
|
529
|
+
|
|
530
|
+
**Example:**
|
|
531
|
+
- Traditional: 50 tests spread equally
|
|
532
|
+
- Risk-based: 70 tests focused on P0/P1 (more total, better allocated)
|
|
533
|
+
|
|
534
|
+
### "Low Priority = Skip Testing"
|
|
535
|
+
|
|
536
|
+
**Wrong:** P3 still gets smoke tests.
|
|
537
|
+
|
|
538
|
+
**Correct:**
|
|
539
|
+
- P3: Smoke test (feature works at all)
|
|
540
|
+
- P2: Happy path (feature works correctly)
|
|
541
|
+
- P1: Happy path + errors
|
|
542
|
+
- P0: Comprehensive (all scenarios)
|
|
543
|
+
|
|
544
|
+
### "Risk Scores Are Permanent"
|
|
545
|
+
|
|
546
|
+
**Wrong:** Risk changes over time.
|
|
547
|
+
|
|
548
|
+
**Correct:**
|
|
549
|
+
- Initial launch: Payment is Score 9 (untested integration)
|
|
550
|
+
- After 6 months: Payment is Score 6 (proven in production)
|
|
551
|
+
- Re-assess risk quarterly
|
|
552
|
+
|
|
553
|
+
## Related Concepts
|
|
554
|
+
|
|
555
|
+
**Core TEA Concepts:**
|
|
556
|
+
- [Test Quality Standards](/docs/explanation/tea/test-quality-standards.md) - Quality complements risk assessment
|
|
557
|
+
- [Engagement Models](/docs/explanation/tea/engagement-models.md) - When risk-based testing matters most
|
|
558
|
+
- [Knowledge Base System](/docs/explanation/tea/knowledge-base-system.md) - How risk patterns are loaded
|
|
559
|
+
|
|
560
|
+
**Technical Patterns:**
|
|
561
|
+
- [Fixture Architecture](/docs/explanation/tea/fixture-architecture.md) - Building risk-appropriate test infrastructure
|
|
562
|
+
- [Network-First Patterns](/docs/explanation/tea/network-first-patterns.md) - Quality patterns for high-risk features
|
|
563
|
+
|
|
564
|
+
**Overview:**
|
|
565
|
+
- [TEA Overview](/docs/explanation/features/tea-overview.md) - Risk assessment in TEA lifecycle
|
|
566
|
+
- [Testing as Engineering](/docs/explanation/philosophy/testing-as-engineering.md) - Design philosophy
|
|
567
|
+
|
|
568
|
+
## Practical Guides
|
|
569
|
+
|
|
570
|
+
**Workflow Guides:**
|
|
571
|
+
- [How to Run Test Design](/docs/how-to/workflows/run-test-design.md) - Apply risk scoring
|
|
572
|
+
- [How to Run Trace](/docs/how-to/workflows/run-trace.md) - Gate decisions based on risk
|
|
573
|
+
- [How to Run NFR Assessment](/docs/how-to/workflows/run-nfr-assess.md) - NFR risk assessment
|
|
574
|
+
|
|
575
|
+
**Use-Case Guides:**
|
|
576
|
+
- [Running TEA for Enterprise](/docs/how-to/brownfield/use-tea-for-enterprise.md) - Enterprise risk management
|
|
577
|
+
|
|
578
|
+
## Reference
|
|
579
|
+
|
|
580
|
+
- [TEA Command Reference](/docs/reference/tea/commands.md) - `*test-design`, `*nfr-assess`, `*trace`
|
|
581
|
+
- [Knowledge Base Index](/docs/reference/tea/knowledge-base.md) - Risk governance fragments
|
|
582
|
+
- [Glossary](/docs/reference/glossary/index.md#test-architect-tea-concepts) - Risk-based testing term
|
|
583
|
+
|
|
584
|
+
---
|
|
585
|
+
|
|
586
|
+
Generated with [BMad Method](https://bmad-method.org) - TEA (Test Architect)
|