observer-ggboy-bmad-method 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/.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/quality.yaml +115 -0
- package/.health-status.json +7 -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 +167 -0
- package/CONTRIBUTORS.md +32 -0
- package/LICENSE +30 -0
- package/README.md +100 -0
- package/SECURITY.md +85 -0
- package/TRADEMARK.md +55 -0
- package/Wordmark.png +0 -0
- package/banner-bmad-method.png +0 -0
- package/bmad-method-6.0.0-alpha.23.tgz +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 +525 -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 +135 -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/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 +276 -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 +36 -0
- package/src/bmm/agents/architect.agent.yaml +28 -0
- package/src/bmm/agents/dev.agent.yaml +38 -0
- package/src/bmm/agents/pm.agent.yaml +46 -0
- package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
- package/src/bmm/agents/sm.agent.yaml +36 -0
- package/src/bmm/agents/tea.agent.yaml +63 -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 +45 -0
- package/src/bmm/agents/ux-designer.agent.yaml +26 -0
- package/src/bmm/data/project-context-template.md +26 -0
- package/src/bmm/module-help.csv +32 -0
- package/src/bmm/module.yaml +44 -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/adr-quality-readiness-checklist.md +350 -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 +35 -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 +162 -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 +171 -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 +124 -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 +231 -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 +135 -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 +76 -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 +149 -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/data/project-levels.yaml +59 -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 +50 -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/testarch/atdd/atdd-checklist-template.md +363 -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 +247 -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 +320 -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 +726 -0
- package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +461 -0
- package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
- package/src/bmm/workflows/testarch/test-design/checklist.md +407 -0
- package/src/bmm/workflows/testarch/test-design/instructions.md +1158 -0
- package/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md +213 -0
- package/src/bmm/workflows/testarch/test-design/test-design-qa-template.md +286 -0
- package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
- package/src/bmm/workflows/testarch/test-design/workflow.yaml +71 -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 +642 -0
- package/src/bmm/workflows/testarch/trace/instructions.md +1030 -0
- package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
- package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
- package/src/core/_module-installer/installer.js +60 -0
- package/src/core/agents/bmad-master.agent.yaml +29 -0
- package/src/core/module-help.csv +9 -0
- package/src/core/module.yaml +25 -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 +100 -0
- package/src/core/tasks/editorial-review-structure.xml +209 -0
- package/src/core/tasks/help.md +62 -0
- package/src/core/tasks/index-docs.xml +65 -0
- package/src/core/tasks/review-adversarial-general.xml +48 -0
- package/src/core/tasks/shard-doc.xml +109 -0
- package/src/core/tasks/workflow.xml +235 -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 +14 -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 +6 -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/adversarial-review-tests/README.md +56 -0
- package/test/adversarial-review-tests/sample-content.md +46 -0
- package/test/adversarial-review-tests/test-cases.yaml +103 -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/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/status.js +65 -0
- package/tools/cli/external-official-modules.yaml +56 -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 +2826 -0
- package/tools/cli/installers/lib/core/manifest-generator.js +1054 -0
- package/tools/cli/installers/lib/core/manifest.js +1036 -0
- package/tools/cli/installers/lib/custom/handler.js +363 -0
- package/tools/cli/installers/lib/ide/STANDARDIZATION_PLAN.md +208 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +655 -0
- package/tools/cli/installers/lib/ide/antigravity.js +474 -0
- package/tools/cli/installers/lib/ide/auggie.js +244 -0
- package/tools/cli/installers/lib/ide/claude-code.js +506 -0
- package/tools/cli/installers/lib/ide/cline.js +272 -0
- package/tools/cli/installers/lib/ide/codex.js +412 -0
- package/tools/cli/installers/lib/ide/crush.js +149 -0
- package/tools/cli/installers/lib/ide/cursor.js +160 -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 +273 -0
- package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
- package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +165 -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/path-utils.js +165 -0
- package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +268 -0
- package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +293 -0
- package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -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 +13 -0
- package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -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 +135 -0
- package/tools/cli/installers/lib/modules/manager.js +1375 -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 +1716 -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/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 +491 -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,213 @@
|
|
|
1
|
+
# Test Design for Architecture: {Feature Name}
|
|
2
|
+
|
|
3
|
+
**Purpose:** Architectural concerns, testability gaps, and NFR requirements for review by Architecture/Dev teams. Serves as a contract between QA and Engineering on what must be addressed before test development begins.
|
|
4
|
+
|
|
5
|
+
**Date:** {date}
|
|
6
|
+
**Author:** {author}
|
|
7
|
+
**Status:** Architecture Review Pending
|
|
8
|
+
**Project:** {project_name}
|
|
9
|
+
**PRD Reference:** {prd_link}
|
|
10
|
+
**ADR Reference:** {adr_link}
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Scope:** {Brief description of feature scope}
|
|
17
|
+
|
|
18
|
+
**Business Context** (from PRD):
|
|
19
|
+
- **Revenue/Impact:** {Business metrics if applicable}
|
|
20
|
+
- **Problem:** {Problem being solved}
|
|
21
|
+
- **GA Launch:** {Target date or timeline}
|
|
22
|
+
|
|
23
|
+
**Architecture** (from ADR {adr_number}):
|
|
24
|
+
- **Key Decision 1:** {e.g., OAuth 2.1 authentication}
|
|
25
|
+
- **Key Decision 2:** {e.g., Centralized MCP Server pattern}
|
|
26
|
+
- **Key Decision 3:** {e.g., Stack: TypeScript, SDK v1.x}
|
|
27
|
+
|
|
28
|
+
**Expected Scale** (from ADR):
|
|
29
|
+
- {RPS, volume, users, etc.}
|
|
30
|
+
|
|
31
|
+
**Risk Summary:**
|
|
32
|
+
- **Total risks**: {N}
|
|
33
|
+
- **High-priority (≥6)**: {N} risks requiring immediate mitigation
|
|
34
|
+
- **Test effort**: ~{N} tests (~{X} weeks for 1 QA, ~{Y} weeks for 2 QAs)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Quick Guide
|
|
39
|
+
|
|
40
|
+
### 🚨 BLOCKERS - Team Must Decide (Can't Proceed Without)
|
|
41
|
+
|
|
42
|
+
**Sprint 0 Critical Path** - These MUST be completed before QA can write integration tests:
|
|
43
|
+
|
|
44
|
+
1. **{Blocker ID}: {Blocker Title}** - {What architecture must provide} (recommended owner: {Team/Role})
|
|
45
|
+
2. **{Blocker ID}: {Blocker Title}** - {What architecture must provide} (recommended owner: {Team/Role})
|
|
46
|
+
3. **{Blocker ID}: {Blocker Title}** - {What architecture must provide} (recommended owner: {Team/Role})
|
|
47
|
+
|
|
48
|
+
**What we need from team:** Complete these {N} items in Sprint 0 or test development is blocked.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### ⚠️ HIGH PRIORITY - Team Should Validate (We Provide Recommendation, You Approve)
|
|
53
|
+
|
|
54
|
+
1. **{Risk ID}: {Title}** - {Recommendation + who should approve} (Sprint {N})
|
|
55
|
+
2. **{Risk ID}: {Title}** - {Recommendation + who should approve} (Sprint {N})
|
|
56
|
+
3. **{Risk ID}: {Title}** - {Recommendation + who should approve} (Sprint {N})
|
|
57
|
+
|
|
58
|
+
**What we need from team:** Review recommendations and approve (or suggest changes).
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### 📋 INFO ONLY - Solutions Provided (Review, No Decisions Needed)
|
|
63
|
+
|
|
64
|
+
1. **Test strategy**: {Test level split} ({Rationale})
|
|
65
|
+
2. **Tooling**: {Test frameworks and utilities}
|
|
66
|
+
3. **Tiered CI/CD**: {Execution tiers with timing}
|
|
67
|
+
4. **Coverage**: ~{N} test scenarios prioritized P0-P3 with risk-based classification
|
|
68
|
+
5. **Quality gates**: {Pass criteria}
|
|
69
|
+
|
|
70
|
+
**What we need from team:** Just review and acknowledge (we already have the solution).
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## For Architects and Devs - Open Topics 👷
|
|
75
|
+
|
|
76
|
+
### Risk Assessment
|
|
77
|
+
|
|
78
|
+
**Total risks identified**: {N} ({X} high-priority score ≥6, {Y} medium, {Z} low)
|
|
79
|
+
|
|
80
|
+
#### High-Priority Risks (Score ≥6) - IMMEDIATE ATTENTION
|
|
81
|
+
|
|
82
|
+
| Risk ID | Category | Description | Probability | Impact | Score | Mitigation | Owner | Timeline |
|
|
83
|
+
|---------|----------|-------------|-------------|--------|-------|------------|-------|----------|
|
|
84
|
+
| **{R-ID}** | **{CAT}** | {Description} | {1-3} | {1-3} | **{Score}** | {Mitigation strategy} | {Owner} | {Date} |
|
|
85
|
+
|
|
86
|
+
#### Medium-Priority Risks (Score 3-5)
|
|
87
|
+
|
|
88
|
+
| Risk ID | Category | Description | Probability | Impact | Score | Mitigation | Owner |
|
|
89
|
+
|---------|----------|-------------|-------------|--------|-------|------------|-------|
|
|
90
|
+
| {R-ID} | {CAT} | {Description} | {1-3} | {1-3} | {Score} | {Mitigation} | {Owner} |
|
|
91
|
+
|
|
92
|
+
#### Low-Priority Risks (Score 1-2)
|
|
93
|
+
|
|
94
|
+
| Risk ID | Category | Description | Probability | Impact | Score | Action |
|
|
95
|
+
|---------|----------|-------------|-------------|--------|-------|--------|
|
|
96
|
+
| {R-ID} | {CAT} | {Description} | {1-3} | {1-3} | {Score} | Monitor |
|
|
97
|
+
|
|
98
|
+
#### Risk Category Legend
|
|
99
|
+
|
|
100
|
+
- **TECH**: Technical/Architecture (flaws, integration, scalability)
|
|
101
|
+
- **SEC**: Security (access controls, auth, data exposure)
|
|
102
|
+
- **PERF**: Performance (SLA violations, degradation, resource limits)
|
|
103
|
+
- **DATA**: Data Integrity (loss, corruption, inconsistency)
|
|
104
|
+
- **BUS**: Business Impact (UX harm, logic errors, revenue)
|
|
105
|
+
- **OPS**: Operations (deployment, config, monitoring)
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
### Testability Concerns and Architectural Gaps
|
|
110
|
+
|
|
111
|
+
**🚨 ACTIONABLE CONCERNS - Architecture Team Must Address**
|
|
112
|
+
|
|
113
|
+
{If system has critical testability concerns, list them here. If architecture supports testing well, state "No critical testability concerns identified" and skip to Testability Assessment Summary}
|
|
114
|
+
|
|
115
|
+
#### 1. Blockers to Fast Feedback (WHAT WE NEED FROM ARCHITECTURE)
|
|
116
|
+
|
|
117
|
+
| Concern | Impact | What Architecture Must Provide | Owner | Timeline |
|
|
118
|
+
|---------|--------|--------------------------------|-------|----------|
|
|
119
|
+
| **{Concern name}** | {Impact on testing} | {Specific architectural change needed} | {Team} | {Sprint} |
|
|
120
|
+
|
|
121
|
+
**Example:**
|
|
122
|
+
- **No API for test data seeding** → Cannot parallelize tests → Provide POST /test/seed endpoint (Backend, Sprint 0)
|
|
123
|
+
|
|
124
|
+
#### 2. Architectural Improvements Needed (WHAT SHOULD BE CHANGED)
|
|
125
|
+
|
|
126
|
+
{List specific improvements that would make the system more testable}
|
|
127
|
+
|
|
128
|
+
1. **{Improvement name}**
|
|
129
|
+
- **Current problem**: {What's wrong}
|
|
130
|
+
- **Required change**: {What architecture must do}
|
|
131
|
+
- **Impact if not fixed**: {Consequences}
|
|
132
|
+
- **Owner**: {Team}
|
|
133
|
+
- **Timeline**: {Sprint}
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### Testability Assessment Summary
|
|
138
|
+
|
|
139
|
+
**📊 CURRENT STATE - FYI**
|
|
140
|
+
|
|
141
|
+
{Only include this section if there are passing items worth mentioning. Otherwise omit.}
|
|
142
|
+
|
|
143
|
+
#### What Works Well
|
|
144
|
+
|
|
145
|
+
- ✅ {Passing item 1} (e.g., "API-first design supports parallel test execution")
|
|
146
|
+
- ✅ {Passing item 2} (e.g., "Feature flags enable test isolation")
|
|
147
|
+
- ✅ {Passing item 3}
|
|
148
|
+
|
|
149
|
+
#### Accepted Trade-offs (No Action Required)
|
|
150
|
+
|
|
151
|
+
For {Feature} Phase 1, the following trade-offs are acceptable:
|
|
152
|
+
- **{Trade-off 1}** - {Why acceptable for now}
|
|
153
|
+
- **{Trade-off 2}** - {Why acceptable for now}
|
|
154
|
+
|
|
155
|
+
{This is technical debt OR acceptable for Phase 1} that {should be revisited post-GA OR maintained as-is}
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
### Risk Mitigation Plans (High-Priority Risks ≥6)
|
|
160
|
+
|
|
161
|
+
**Purpose**: Detailed mitigation strategies for all {N} high-priority risks (score ≥6). These risks MUST be addressed before {GA launch date or milestone}.
|
|
162
|
+
|
|
163
|
+
#### {R-ID}: {Risk Description} (Score: {Score}) - {CRITICALITY LEVEL}
|
|
164
|
+
|
|
165
|
+
**Mitigation Strategy:**
|
|
166
|
+
1. {Step 1}
|
|
167
|
+
2. {Step 2}
|
|
168
|
+
3. {Step 3}
|
|
169
|
+
|
|
170
|
+
**Owner:** {Owner}
|
|
171
|
+
**Timeline:** {Sprint or date}
|
|
172
|
+
**Status:** Planned / In Progress / Complete
|
|
173
|
+
**Verification:** {How to verify mitigation is effective}
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
{Repeat for all high-priority risks}
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Assumptions and Dependencies
|
|
182
|
+
|
|
183
|
+
#### Assumptions
|
|
184
|
+
|
|
185
|
+
1. {Assumption about architecture or requirements}
|
|
186
|
+
2. {Assumption about team or timeline}
|
|
187
|
+
3. {Assumption about scope or constraints}
|
|
188
|
+
|
|
189
|
+
#### Dependencies
|
|
190
|
+
|
|
191
|
+
1. {Dependency} - Required by {date/sprint}
|
|
192
|
+
2. {Dependency} - Required by {date/sprint}
|
|
193
|
+
|
|
194
|
+
#### Risks to Plan
|
|
195
|
+
|
|
196
|
+
- **Risk**: {Risk to the test plan itself}
|
|
197
|
+
- **Impact**: {How it affects testing}
|
|
198
|
+
- **Contingency**: {Backup plan}
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
**End of Architecture Document**
|
|
203
|
+
|
|
204
|
+
**Next Steps for Architecture Team:**
|
|
205
|
+
1. Review Quick Guide (🚨/⚠️/📋) and prioritize blockers
|
|
206
|
+
2. Assign owners and timelines for high-priority risks (≥6)
|
|
207
|
+
3. Validate assumptions and dependencies
|
|
208
|
+
4. Provide feedback to QA on testability gaps
|
|
209
|
+
|
|
210
|
+
**Next Steps for QA Team:**
|
|
211
|
+
1. Wait for Sprint 0 blockers to be resolved
|
|
212
|
+
2. Refer to companion QA doc (test-design-qa.md) for test scenarios
|
|
213
|
+
3. Begin test infrastructure setup (factories, fixtures, environments)
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# Test Design for QA: {Feature Name}
|
|
2
|
+
|
|
3
|
+
**Purpose:** Test execution recipe for QA team. Defines what to test, how to test it, and what QA needs from other teams.
|
|
4
|
+
|
|
5
|
+
**Date:** {date}
|
|
6
|
+
**Author:** {author}
|
|
7
|
+
**Status:** Draft
|
|
8
|
+
**Project:** {project_name}
|
|
9
|
+
|
|
10
|
+
**Related:** See Architecture doc (test-design-architecture.md) for testability concerns and architectural blockers.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
**Scope:** {Brief description of testing scope}
|
|
17
|
+
|
|
18
|
+
**Risk Summary:**
|
|
19
|
+
- Total Risks: {N} ({X} high-priority score ≥6, {Y} medium, {Z} low)
|
|
20
|
+
- Critical Categories: {Categories with most high-priority risks}
|
|
21
|
+
|
|
22
|
+
**Coverage Summary:**
|
|
23
|
+
- P0 tests: ~{N} (critical paths, security)
|
|
24
|
+
- P1 tests: ~{N} (important features, integration)
|
|
25
|
+
- P2 tests: ~{N} (edge cases, regression)
|
|
26
|
+
- P3 tests: ~{N} (exploratory, benchmarks)
|
|
27
|
+
- **Total**: ~{N} tests (~{X}-{Y} weeks with 1 QA)
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Dependencies & Test Blockers
|
|
32
|
+
|
|
33
|
+
**CRITICAL:** QA cannot proceed without these items from other teams.
|
|
34
|
+
|
|
35
|
+
### Backend/Architecture Dependencies (Sprint 0)
|
|
36
|
+
|
|
37
|
+
**Source:** See Architecture doc "Quick Guide" for detailed mitigation plans
|
|
38
|
+
|
|
39
|
+
1. **{Dependency 1}** - {Team} - {Timeline}
|
|
40
|
+
- {What QA needs}
|
|
41
|
+
- {Why it blocks testing}
|
|
42
|
+
|
|
43
|
+
2. **{Dependency 2}** - {Team} - {Timeline}
|
|
44
|
+
- {What QA needs}
|
|
45
|
+
- {Why it blocks testing}
|
|
46
|
+
|
|
47
|
+
### QA Infrastructure Setup (Sprint 0)
|
|
48
|
+
|
|
49
|
+
1. **Test Data Factories** - QA
|
|
50
|
+
- {Entity} factory with faker-based randomization
|
|
51
|
+
- Auto-cleanup fixtures for parallel safety
|
|
52
|
+
|
|
53
|
+
2. **Test Environments** - QA
|
|
54
|
+
- Local: {Setup details}
|
|
55
|
+
- CI/CD: {Setup details}
|
|
56
|
+
- Staging: {Setup details}
|
|
57
|
+
|
|
58
|
+
**Example factory pattern:**
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
import { test } from '@seontechnologies/playwright-utils/api-request/fixtures';
|
|
62
|
+
import { expect } from '@playwright/test';
|
|
63
|
+
import { faker } from '@faker-js/faker';
|
|
64
|
+
|
|
65
|
+
test('example test @p0', async ({ apiRequest }) => {
|
|
66
|
+
const testData = {
|
|
67
|
+
id: `test-${faker.string.uuid()}`,
|
|
68
|
+
email: faker.internet.email(),
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const { status } = await apiRequest({
|
|
72
|
+
method: 'POST',
|
|
73
|
+
path: '/api/resource',
|
|
74
|
+
body: testData,
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
expect(status).toBe(201);
|
|
78
|
+
});
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Risk Assessment
|
|
84
|
+
|
|
85
|
+
**Note:** Full risk details in Architecture doc. This section summarizes risks relevant to QA test planning.
|
|
86
|
+
|
|
87
|
+
### High-Priority Risks (Score ≥6)
|
|
88
|
+
|
|
89
|
+
| Risk ID | Category | Description | Score | QA Test Coverage |
|
|
90
|
+
|---------|----------|-------------|-------|------------------|
|
|
91
|
+
| **{R-ID}** | {CAT} | {Brief description} | **{Score}** | {How QA validates this risk} |
|
|
92
|
+
|
|
93
|
+
### Medium/Low-Priority Risks
|
|
94
|
+
|
|
95
|
+
| Risk ID | Category | Description | Score | QA Test Coverage |
|
|
96
|
+
|---------|----------|-------------|-------|------------------|
|
|
97
|
+
| {R-ID} | {CAT} | {Brief description} | {Score} | {How QA validates this risk} |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Test Coverage Plan
|
|
102
|
+
|
|
103
|
+
**IMPORTANT:** P0/P1/P2/P3 = **priority and risk level** (what to focus on if time-constrained), NOT execution timing. See "Execution Strategy" for when tests run.
|
|
104
|
+
|
|
105
|
+
### P0 (Critical)
|
|
106
|
+
|
|
107
|
+
**Criteria:** Blocks core functionality + High risk (≥6) + No workaround + Affects majority of users
|
|
108
|
+
|
|
109
|
+
| Test ID | Requirement | Test Level | Risk Link | Notes |
|
|
110
|
+
|---------|-------------|------------|-----------|-------|
|
|
111
|
+
| **P0-001** | {Requirement} | {Level} | {R-ID} | {Notes} |
|
|
112
|
+
| **P0-002** | {Requirement} | {Level} | {R-ID} | {Notes} |
|
|
113
|
+
|
|
114
|
+
**Total P0:** ~{N} tests
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
### P1 (High)
|
|
119
|
+
|
|
120
|
+
**Criteria:** Important features + Medium risk (3-4) + Common workflows + Workaround exists but difficult
|
|
121
|
+
|
|
122
|
+
| Test ID | Requirement | Test Level | Risk Link | Notes |
|
|
123
|
+
|---------|-------------|------------|-----------|-------|
|
|
124
|
+
| **P1-001** | {Requirement} | {Level} | {R-ID} | {Notes} |
|
|
125
|
+
| **P1-002** | {Requirement} | {Level} | {R-ID} | {Notes} |
|
|
126
|
+
|
|
127
|
+
**Total P1:** ~{N} tests
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### P2 (Medium)
|
|
132
|
+
|
|
133
|
+
**Criteria:** Secondary features + Low risk (1-2) + Edge cases + Regression prevention
|
|
134
|
+
|
|
135
|
+
| Test ID | Requirement | Test Level | Risk Link | Notes |
|
|
136
|
+
|---------|-------------|------------|-----------|-------|
|
|
137
|
+
| **P2-001** | {Requirement} | {Level} | {R-ID} | {Notes} |
|
|
138
|
+
|
|
139
|
+
**Total P2:** ~{N} tests
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
### P3 (Low)
|
|
144
|
+
|
|
145
|
+
**Criteria:** Nice-to-have + Exploratory + Performance benchmarks + Documentation validation
|
|
146
|
+
|
|
147
|
+
| Test ID | Requirement | Test Level | Notes |
|
|
148
|
+
|---------|-------------|------------|-------|
|
|
149
|
+
| **P3-001** | {Requirement} | {Level} | {Notes} |
|
|
150
|
+
|
|
151
|
+
**Total P3:** ~{N} tests
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Execution Strategy
|
|
156
|
+
|
|
157
|
+
**Philosophy:** Run everything in PRs unless there's significant infrastructure overhead. Playwright with parallelization is extremely fast (100s of tests in ~10-15 min).
|
|
158
|
+
|
|
159
|
+
**Organized by TOOL TYPE:**
|
|
160
|
+
|
|
161
|
+
### Every PR: Playwright Tests (~10-15 min)
|
|
162
|
+
|
|
163
|
+
**All functional tests** (from any priority level):
|
|
164
|
+
- All E2E, API, integration, unit tests using Playwright
|
|
165
|
+
- Parallelized across {N} shards
|
|
166
|
+
- Total: ~{N} Playwright tests (includes P0, P1, P2, P3)
|
|
167
|
+
|
|
168
|
+
**Why run in PRs:** Fast feedback, no expensive infrastructure
|
|
169
|
+
|
|
170
|
+
### Nightly: k6 Performance Tests (~30-60 min)
|
|
171
|
+
|
|
172
|
+
**All performance tests** (from any priority level):
|
|
173
|
+
- Load, stress, spike, endurance tests
|
|
174
|
+
- Total: ~{N} k6 tests (may include P0, P1, P2)
|
|
175
|
+
|
|
176
|
+
**Why defer to nightly:** Expensive infrastructure (k6 Cloud), long-running (10-40 min per test)
|
|
177
|
+
|
|
178
|
+
### Weekly: Chaos & Long-Running (~hours)
|
|
179
|
+
|
|
180
|
+
**Special infrastructure tests** (from any priority level):
|
|
181
|
+
- Multi-region failover (requires AWS Fault Injection Simulator)
|
|
182
|
+
- Disaster recovery (backup restore, 4+ hours)
|
|
183
|
+
- Endurance tests (4+ hours runtime)
|
|
184
|
+
|
|
185
|
+
**Why defer to weekly:** Very expensive infrastructure, very long-running, infrequent validation sufficient
|
|
186
|
+
|
|
187
|
+
**Manual tests** (excluded from automation):
|
|
188
|
+
- DevOps validation (deployment, monitoring)
|
|
189
|
+
- Finance validation (cost alerts)
|
|
190
|
+
- Documentation validation
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## QA Effort Estimate
|
|
195
|
+
|
|
196
|
+
**QA test development effort only** (excludes DevOps, Backend, Data Eng, Finance work):
|
|
197
|
+
|
|
198
|
+
| Priority | Count | Effort Range | Notes |
|
|
199
|
+
|----------|-------|--------------|-------|
|
|
200
|
+
| P0 | ~{N} | ~{X}-{Y} weeks | Complex setup (security, performance, multi-step) |
|
|
201
|
+
| P1 | ~{N} | ~{X}-{Y} weeks | Standard coverage (integration, API tests) |
|
|
202
|
+
| P2 | ~{N} | ~{X}-{Y} days | Edge cases, simple validation |
|
|
203
|
+
| P3 | ~{N} | ~{X}-{Y} days | Exploratory, benchmarks |
|
|
204
|
+
| **Total** | ~{N} | **~{X}-{Y} weeks** | **1 QA engineer, full-time** |
|
|
205
|
+
|
|
206
|
+
**Assumptions:**
|
|
207
|
+
- Includes test design, implementation, debugging, CI integration
|
|
208
|
+
- Excludes ongoing maintenance (~10% effort)
|
|
209
|
+
- Assumes test infrastructure (factories, fixtures) ready
|
|
210
|
+
|
|
211
|
+
**Dependencies from other teams:**
|
|
212
|
+
- See "Dependencies & Test Blockers" section for what QA needs from Backend, DevOps, Data Eng
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Appendix A: Code Examples & Tagging
|
|
217
|
+
|
|
218
|
+
**Playwright Tags for Selective Execution:**
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
import { test } from '@seontechnologies/playwright-utils/api-request/fixtures';
|
|
222
|
+
import { expect } from '@playwright/test';
|
|
223
|
+
|
|
224
|
+
// P0 critical test
|
|
225
|
+
test('@P0 @API @Security unauthenticated request returns 401', async ({ apiRequest }) => {
|
|
226
|
+
const { status, body } = await apiRequest({
|
|
227
|
+
method: 'POST',
|
|
228
|
+
path: '/api/endpoint',
|
|
229
|
+
body: { data: 'test' },
|
|
230
|
+
skipAuth: true,
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
expect(status).toBe(401);
|
|
234
|
+
expect(body.error).toContain('unauthorized');
|
|
235
|
+
});
|
|
236
|
+
|
|
237
|
+
// P1 integration test
|
|
238
|
+
test('@P1 @Integration data syncs correctly', async ({ apiRequest }) => {
|
|
239
|
+
// Seed data
|
|
240
|
+
await apiRequest({
|
|
241
|
+
method: 'POST',
|
|
242
|
+
path: '/api/seed',
|
|
243
|
+
body: { /* test data */ },
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
// Validate
|
|
247
|
+
const { status, body } = await apiRequest({
|
|
248
|
+
method: 'GET',
|
|
249
|
+
path: '/api/resource',
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
expect(status).toBe(200);
|
|
253
|
+
expect(body).toHaveProperty('data');
|
|
254
|
+
});
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Run specific tags:**
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
# Run only P0 tests
|
|
261
|
+
npx playwright test --grep @P0
|
|
262
|
+
|
|
263
|
+
# Run P0 + P1 tests
|
|
264
|
+
npx playwright test --grep "@P0|@P1"
|
|
265
|
+
|
|
266
|
+
# Run only security tests
|
|
267
|
+
npx playwright test --grep @Security
|
|
268
|
+
|
|
269
|
+
# Run all Playwright tests in PR (default)
|
|
270
|
+
npx playwright test
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Appendix B: Knowledge Base References
|
|
276
|
+
|
|
277
|
+
- **Risk Governance**: `risk-governance.md` - Risk scoring methodology
|
|
278
|
+
- **Test Priorities Matrix**: `test-priorities-matrix.md` - P0-P3 criteria
|
|
279
|
+
- **Test Levels Framework**: `test-levels-framework.md` - E2E vs API vs Unit selection
|
|
280
|
+
- **Test Quality**: `test-quality.md` - Definition of Done (no hard waits, <300 lines, <1.5 min)
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
**Generated by:** BMad TEA Agent
|
|
285
|
+
**Workflow:** `_bmad/bmm/testarch/test-design`
|
|
286
|
+
**Version:** 4.0 (BMad v6)
|