bmm-opencode 1.4.3 → 1.6.0
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/.opencode/agents/bmad-bmad-master.md +21 -1
- package/.opencode/agents/bmm-analyst.md +20 -0
- package/.opencode/agents/bmm-architect.md +20 -0
- package/.opencode/agents/bmm-dev.md +20 -0
- package/.opencode/agents/bmm-pm.md +20 -0
- package/.opencode/agents/bmm-qa.md +20 -0
- package/.opencode/agents/bmm-quick-flow-solo-dev.md +20 -0
- package/.opencode/agents/bmm-sm.md +20 -0
- package/.opencode/agents/bmm-tech-writer.md +20 -0
- package/.opencode/agents/bmm-ux-designer.md +20 -0
- package/_bmad/_config/agent-manifest.csv +18 -0
- package/_bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-architect.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-dev.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-pm.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-qa.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-sm.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
- package/_bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
- package/_bmad/_config/agents/cis-brainstorming-coach.customize.yaml +41 -0
- package/_bmad/_config/agents/cis-creative-problem-solver.customize.yaml +41 -0
- package/_bmad/_config/agents/cis-design-thinking-coach.customize.yaml +41 -0
- package/_bmad/_config/agents/cis-innovation-strategist.customize.yaml +41 -0
- package/_bmad/_config/agents/cis-presentation-master.customize.yaml +41 -0
- package/_bmad/_config/agents/cis-storyteller.customize.yaml +41 -0
- package/_bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
- package/_bmad/_config/agents/tea-tea.customize.yaml +41 -0
- package/_bmad/_config/bmad-help.csv +53 -0
- package/_bmad/_config/files-manifest.csv +443 -0
- package/_bmad/_config/manifest.yaml +34 -0
- package/_bmad/_config/task-manifest.csv +7 -0
- package/_bmad/_config/tool-manifest.csv +1 -0
- package/_bmad/_config/workflow-manifest.csv +39 -0
- package/_bmad/_memory/config.yaml +11 -0
- package/_bmad/_memory/storyteller-sidecar/stories-told.md +7 -0
- package/_bmad/_memory/storyteller-sidecar/story-preferences.md +7 -0
- package/_bmad/_memory/tech-writer-sidecar/documentation-standards.md +224 -0
- package/_bmad/bmm/agents/analyst.md +78 -0
- package/_bmad/bmm/agents/architect.md +58 -0
- package/_bmad/bmm/agents/dev.md +69 -0
- package/_bmad/bmm/agents/pm.md +72 -0
- package/_bmad/bmm/agents/qa.md +92 -0
- package/_bmad/bmm/agents/quick-flow-solo-dev.md +69 -0
- package/_bmad/bmm/agents/sm.md +70 -0
- package/_bmad/bmm/agents/tech-writer/tech-writer.md +70 -0
- package/_bmad/bmm/agents/ux-designer.md +57 -0
- package/_bmad/bmm/config.yaml +16 -0
- package/_bmad/bmm/data/project-context-template.md +26 -0
- package/_bmad/bmm/module-help.csv +31 -0
- package/_bmad/bmm/teams/default-party.csv +20 -0
- package/_bmad/bmm/teams/team-fullstack.yaml +12 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
- package/_bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/_bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/_bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
- package/_bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
- package/_bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
- package/_bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -0
- package/_bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -0
- package/_bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +153 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +218 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +65 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/_bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/_bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +13 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
- package/_bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +282 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +63 -0
- package/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/_bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +48 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
- package/_bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +56 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/template.md +50 -0
- package/_bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +57 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/_bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +23 -0
- package/_bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
- package/_bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +55 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +265 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +81 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +51 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
- package/_bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +30 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +176 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +149 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +192 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +145 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/_bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +78 -0
- package/_bmad/bmm/workflows/document-project/checklist.md +245 -0
- package/_bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/_bmad/bmm/workflows/document-project/instructions.md +221 -0
- package/_bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/_bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/_bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/_bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/_bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/_bmad/bmm/workflows/document-project/workflow.yaml +22 -0
- package/_bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/_bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/_bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/_bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/_bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/_bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/_bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/_bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/_bmad/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/_bmad/bmm/workflows/qa/automate/checklist.md +33 -0
- package/_bmad/bmm/workflows/qa/automate/instructions.md +110 -0
- package/_bmad/bmm/workflows/qa/automate/workflow.yaml +47 -0
- package/_bmad/cis/agents/brainstorming-coach.md +61 -0
- package/_bmad/cis/agents/creative-problem-solver.md +61 -0
- package/_bmad/cis/agents/design-thinking-coach.md +61 -0
- package/_bmad/cis/agents/innovation-strategist.md +61 -0
- package/_bmad/cis/agents/presentation-master.md +67 -0
- package/_bmad/cis/agents/storyteller/storyteller.md +58 -0
- package/_bmad/cis/config.yaml +12 -0
- package/_bmad/cis/module-help.csv +6 -0
- package/_bmad/cis/teams/creative-squad.yaml +7 -0
- package/_bmad/cis/teams/default-party.csv +12 -0
- package/_bmad/cis/workflows/README.md +139 -0
- package/_bmad/cis/workflows/design-thinking/README.md +56 -0
- package/_bmad/cis/workflows/design-thinking/design-methods.csv +31 -0
- package/_bmad/cis/workflows/design-thinking/instructions.md +202 -0
- package/_bmad/cis/workflows/design-thinking/template.md +111 -0
- package/_bmad/cis/workflows/design-thinking/workflow.yaml +27 -0
- package/_bmad/cis/workflows/innovation-strategy/README.md +56 -0
- package/_bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
- package/_bmad/cis/workflows/innovation-strategy/instructions.md +276 -0
- package/_bmad/cis/workflows/innovation-strategy/template.md +189 -0
- package/_bmad/cis/workflows/innovation-strategy/workflow.yaml +27 -0
- package/_bmad/cis/workflows/problem-solving/README.md +56 -0
- package/_bmad/cis/workflows/problem-solving/instructions.md +252 -0
- package/_bmad/cis/workflows/problem-solving/solving-methods.csv +31 -0
- package/_bmad/cis/workflows/problem-solving/template.md +165 -0
- package/_bmad/cis/workflows/problem-solving/workflow.yaml +27 -0
- package/_bmad/cis/workflows/storytelling/README.md +58 -0
- package/_bmad/cis/workflows/storytelling/instructions.md +293 -0
- package/_bmad/cis/workflows/storytelling/story-types.csv +26 -0
- package/_bmad/cis/workflows/storytelling/template.md +113 -0
- package/_bmad/cis/workflows/storytelling/workflow.yaml +27 -0
- package/_bmad/core/agents/bmad-master.md +56 -0
- package/_bmad/core/config.yaml +9 -0
- package/_bmad/core/module-help.csv +9 -0
- package/_bmad/core/tasks/editorial-review-prose.xml +102 -0
- package/_bmad/core/tasks/editorial-review-structure.xml +209 -0
- package/_bmad/core/tasks/help.md +82 -0
- package/_bmad/core/tasks/index-docs.xml +65 -0
- package/_bmad/core/tasks/review-adversarial-general.xml +48 -0
- package/_bmad/core/tasks/shard-doc.xml +108 -0
- package/_bmad/core/tasks/workflow.xml +235 -0
- package/_bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/_bmad/core/workflows/advanced-elicitation/workflow.xml +117 -0
- package/_bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/_bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/_bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/_bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/_bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/_bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/_bmad/core/workflows/brainstorming/template.md +15 -0
- package/_bmad/core/workflows/brainstorming/workflow.md +58 -0
- package/_bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
- package/_bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +261 -0
- package/_bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +166 -0
- package/_bmad/core/workflows/party-mode/workflow.md +219 -0
- package/_bmad/tea/agents/tea.md +71 -0
- package/_bmad/tea/config.yaml +19 -0
- package/_bmad/tea/module-help.csv +10 -0
- package/_bmad/tea/teams/default-party.csv +2 -0
- package/_bmad/tea/testarch/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/_bmad/tea/testarch/knowledge/api-request.md +442 -0
- package/_bmad/tea/testarch/knowledge/api-testing-patterns.md +851 -0
- package/_bmad/tea/testarch/knowledge/auth-session.md +548 -0
- package/_bmad/tea/testarch/knowledge/burn-in.md +273 -0
- package/_bmad/tea/testarch/knowledge/ci-burn-in.md +675 -0
- package/_bmad/tea/testarch/knowledge/component-tdd.md +486 -0
- package/_bmad/tea/testarch/knowledge/contract-testing.md +957 -0
- package/_bmad/tea/testarch/knowledge/data-factories.md +500 -0
- package/_bmad/tea/testarch/knowledge/email-auth.md +721 -0
- package/_bmad/tea/testarch/knowledge/error-handling.md +725 -0
- package/_bmad/tea/testarch/knowledge/feature-flags.md +750 -0
- package/_bmad/tea/testarch/knowledge/file-utils.md +456 -0
- package/_bmad/tea/testarch/knowledge/fixture-architecture.md +401 -0
- package/_bmad/tea/testarch/knowledge/fixtures-composition.md +382 -0
- package/_bmad/tea/testarch/knowledge/intercept-network-call.md +426 -0
- package/_bmad/tea/testarch/knowledge/log.md +426 -0
- package/_bmad/tea/testarch/knowledge/network-error-monitor.md +401 -0
- package/_bmad/tea/testarch/knowledge/network-first.md +486 -0
- package/_bmad/tea/testarch/knowledge/network-recorder.md +527 -0
- package/_bmad/tea/testarch/knowledge/nfr-criteria.md +670 -0
- package/_bmad/tea/testarch/knowledge/overview.md +286 -0
- package/_bmad/tea/testarch/knowledge/playwright-config.md +730 -0
- package/_bmad/tea/testarch/knowledge/probability-impact.md +601 -0
- package/_bmad/tea/testarch/knowledge/recurse.md +421 -0
- package/_bmad/tea/testarch/knowledge/risk-governance.md +615 -0
- package/_bmad/tea/testarch/knowledge/selective-testing.md +732 -0
- package/_bmad/tea/testarch/knowledge/selector-resilience.md +527 -0
- package/_bmad/tea/testarch/knowledge/test-healing-patterns.md +644 -0
- package/_bmad/tea/testarch/knowledge/test-levels-framework.md +473 -0
- package/_bmad/tea/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/_bmad/tea/testarch/knowledge/test-quality.md +664 -0
- package/_bmad/tea/testarch/knowledge/timing-debugging.md +372 -0
- package/_bmad/tea/testarch/knowledge/visual-debugging.md +524 -0
- package/_bmad/tea/testarch/tea-index.csv +35 -0
- package/_bmad/tea/workflows/testarch/README.md +74 -0
- package/_bmad/tea/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
- package/_bmad/tea/workflows/testarch/atdd/checklist.md +374 -0
- package/_bmad/tea/workflows/testarch/atdd/instructions.md +38 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +110 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +79 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +76 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +228 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subprocess-api-failing.md +215 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subprocess-e2e-failing.md +212 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +329 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +68 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/atdd/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +73 -0
- package/_bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +116 -0
- package/_bmad/tea/workflows/testarch/atdd/workflow-plan.md +21 -0
- package/_bmad/tea/workflows/testarch/atdd/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/atdd/workflow.yaml +45 -0
- package/_bmad/tea/workflows/testarch/automate/checklist.md +582 -0
- package/_bmad/tea/workflows/testarch/automate/instructions.md +43 -0
- package/_bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +127 -0
- package/_bmad/tea/workflows/testarch/automate/steps-c/step-02-identify-targets.md +95 -0
- package/_bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +199 -0
- package/_bmad/tea/workflows/testarch/automate/steps-c/step-03a-subprocess-api.md +183 -0
- package/_bmad/tea/workflows/testarch/automate/steps-c/step-03b-subprocess-e2e.md +181 -0
- package/_bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +300 -0
- package/_bmad/tea/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +69 -0
- package/_bmad/tea/workflows/testarch/automate/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/automate/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/automate/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +72 -0
- package/_bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +114 -0
- package/_bmad/tea/workflows/testarch/automate/workflow-plan.md +20 -0
- package/_bmad/tea/workflows/testarch/automate/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/automate/workflow.yaml +52 -0
- package/_bmad/tea/workflows/testarch/ci/checklist.md +247 -0
- package/_bmad/tea/workflows/testarch/ci/github-actions-template.yaml +198 -0
- package/_bmad/tea/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
- package/_bmad/tea/workflows/testarch/ci/instructions.md +38 -0
- package/_bmad/tea/workflows/testarch/ci/steps-c/step-01-preflight.md +92 -0
- package/_bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +82 -0
- package/_bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +75 -0
- package/_bmad/tea/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +67 -0
- package/_bmad/tea/workflows/testarch/ci/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/ci/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/ci/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +72 -0
- package/_bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +114 -0
- package/_bmad/tea/workflows/testarch/ci/workflow-plan.md +20 -0
- package/_bmad/tea/workflows/testarch/ci/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/ci/workflow.yaml +45 -0
- package/_bmad/tea/workflows/testarch/framework/checklist.md +320 -0
- package/_bmad/tea/workflows/testarch/framework/instructions.md +38 -0
- package/_bmad/tea/workflows/testarch/framework/steps-c/step-01-preflight.md +75 -0
- package/_bmad/tea/workflows/testarch/framework/steps-c/step-02-select-framework.md +73 -0
- package/_bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +120 -0
- package/_bmad/tea/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +70 -0
- package/_bmad/tea/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +68 -0
- package/_bmad/tea/workflows/testarch/framework/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/framework/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/framework/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +73 -0
- package/_bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +116 -0
- package/_bmad/tea/workflows/testarch/framework/workflow-plan.md +22 -0
- package/_bmad/tea/workflows/testarch/framework/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/framework/workflow.yaml +47 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/instructions.md +36 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/nfr-report-template.md +462 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +85 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +82 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +64 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +140 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subprocess-security.md +138 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subprocess-performance.md +84 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subprocess-reliability.md +85 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subprocess-scalability.md +88 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +219 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +71 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +73 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +116 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/workflow-plan.md +19 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +47 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/checklist.md +197 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/data/curriculum.yaml +129 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/data/quiz-questions.yaml +206 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/data/role-paths.yaml +136 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/data/session-content-map.yaml +204 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +359 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/instructions.md +130 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01-init.md +235 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01b-continue.md +147 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-02-assess.md +258 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-03-session-menu.md +219 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-01.md +460 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-02.md +465 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-03.md +301 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-04.md +234 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-05.md +234 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-06.md +209 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-07.md +212 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-05-completion.md +339 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-01-assess-workflow.md +141 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-02-apply-edits.md +122 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/steps-v/step-v-01-validate.md +263 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/templates/certificate-template.md +86 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/templates/progress-template.yaml +95 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/templates/session-notes-template.md +83 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +950 -0
- package/_bmad/tea/workflows/testarch/teach-me-testing/workflow.md +90 -0
- package/_bmad/tea/workflows/testarch/test-design/checklist.md +410 -0
- package/_bmad/tea/workflows/testarch/test-design/instructions.md +52 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +109 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +127 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +85 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +98 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +97 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/test-design/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/test-design/test-design-architecture-template.md +222 -0
- package/_bmad/tea/workflows/testarch/test-design/test-design-qa-template.md +296 -0
- package/_bmad/tea/workflows/testarch/test-design/test-design-template.md +294 -0
- package/_bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +73 -0
- package/_bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +116 -0
- package/_bmad/tea/workflows/testarch/test-design/workflow-plan.md +22 -0
- package/_bmad/tea/workflows/testarch/test-design/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/test-design/workflow.yaml +69 -0
- package/_bmad/tea/workflows/testarch/test-review/checklist.md +472 -0
- package/_bmad/tea/workflows/testarch/test-review/instructions.md +36 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +101 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +69 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +184 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subprocess-determinism.md +214 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subprocess-isolation.md +125 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subprocess-maintainability.md +102 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03d-subprocess-coverage.md +111 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subprocess-performance.md +117 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +246 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-c/step-04-generate-report.md +72 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/test-review/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/test-review/test-review-template.md +390 -0
- package/_bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +72 -0
- package/_bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +114 -0
- package/_bmad/tea/workflows/testarch/test-review/workflow-plan.md +18 -0
- package/_bmad/tea/workflows/testarch/test-review/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/test-review/workflow.yaml +46 -0
- package/_bmad/tea/workflows/testarch/trace/checklist.md +642 -0
- package/_bmad/tea/workflows/testarch/trace/instructions.md +36 -0
- package/_bmad/tea/workflows/testarch/trace/steps-c/step-01-load-context.md +80 -0
- package/_bmad/tea/workflows/testarch/trace/steps-c/step-02-discover-tests.md +69 -0
- package/_bmad/tea/workflows/testarch/trace/steps-c/step-03-map-criteria.md +65 -0
- package/_bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +244 -0
- package/_bmad/tea/workflows/testarch/trace/steps-c/step-05-gate-decision.md +232 -0
- package/_bmad/tea/workflows/testarch/trace/steps-e/step-01-assess.md +65 -0
- package/_bmad/tea/workflows/testarch/trace/steps-e/step-02-apply-edit.md +60 -0
- package/_bmad/tea/workflows/testarch/trace/steps-v/step-01-validate.md +67 -0
- package/_bmad/tea/workflows/testarch/trace/trace-template.md +675 -0
- package/_bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +73 -0
- package/_bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +116 -0
- package/_bmad/tea/workflows/testarch/trace/workflow-plan.md +21 -0
- package/_bmad/tea/workflows/testarch/trace/workflow.md +39 -0
- package/_bmad/tea/workflows/testarch/trace/workflow.yaml +55 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +201 -11
- package/package.json +2 -1
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-04-generate-tests'
|
|
3
|
+
description: 'Orchestrate parallel FAILING test generation (TDD red phase)'
|
|
4
|
+
nextStepFile: './step-04c-aggregate.md'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 4: Orchestrate Parallel FAILING Test Generation
|
|
8
|
+
|
|
9
|
+
## STEP GOAL
|
|
10
|
+
|
|
11
|
+
Launch parallel subprocesses to generate FAILING API and E2E tests simultaneously (TDD RED PHASE) for maximum performance.
|
|
12
|
+
|
|
13
|
+
## MANDATORY EXECUTION RULES
|
|
14
|
+
|
|
15
|
+
- 📖 Read the entire step file before acting
|
|
16
|
+
- ✅ Speak in `{communication_language}`
|
|
17
|
+
- ✅ Launch TWO subprocesses in PARALLEL
|
|
18
|
+
- ✅ Generate FAILING tests only (TDD red phase)
|
|
19
|
+
- ✅ Wait for BOTH subprocesses to complete
|
|
20
|
+
- ❌ Do NOT generate sequential tests (use subprocesses)
|
|
21
|
+
- ❌ Do NOT generate passing tests (this is red phase)
|
|
22
|
+
- ❌ Do NOT proceed until both subprocesses finish
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## EXECUTION PROTOCOLS:
|
|
27
|
+
|
|
28
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
29
|
+
- 💾 Wait for subprocess outputs
|
|
30
|
+
- 📖 Load the next step only when instructed
|
|
31
|
+
|
|
32
|
+
## CONTEXT BOUNDARIES:
|
|
33
|
+
|
|
34
|
+
- Available context: config, acceptance criteria from Step 1, test strategy from Step 3
|
|
35
|
+
- Focus: subprocess orchestration only
|
|
36
|
+
- Limits: do not generate tests directly (delegate to subprocesses)
|
|
37
|
+
- Dependencies: Steps 1-3 outputs
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## MANDATORY SEQUENCE
|
|
42
|
+
|
|
43
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
44
|
+
|
|
45
|
+
### 1. Prepare Subprocess Inputs
|
|
46
|
+
|
|
47
|
+
**Generate unique timestamp** for temp file naming:
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Prepare input context for both subprocesses:**
|
|
54
|
+
|
|
55
|
+
```javascript
|
|
56
|
+
const subprocessContext = {
|
|
57
|
+
story_acceptance_criteria: /* from Step 1 */,
|
|
58
|
+
test_strategy: /* from Step 3 */,
|
|
59
|
+
knowledge_fragments_loaded: /* list of fragments */,
|
|
60
|
+
config: {
|
|
61
|
+
test_framework: config.test_framework,
|
|
62
|
+
use_playwright_utils: config.tea_use_playwright_utils
|
|
63
|
+
},
|
|
64
|
+
timestamp: timestamp
|
|
65
|
+
};
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### 2. Launch Subprocess A: Failing API Test Generation
|
|
71
|
+
|
|
72
|
+
**Launch subprocess in parallel:**
|
|
73
|
+
|
|
74
|
+
- **Subprocess File:** `./step-04a-subprocess-api-failing.md`
|
|
75
|
+
- **Output File:** `/tmp/tea-atdd-api-tests-${timestamp}.json`
|
|
76
|
+
- **Context:** Pass `subprocessContext`
|
|
77
|
+
- **Execution:** PARALLEL (non-blocking)
|
|
78
|
+
- **TDD Phase:** RED (failing tests)
|
|
79
|
+
|
|
80
|
+
**System Action:**
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
🚀 Launching Subprocess A: FAILING API Test Generation (RED PHASE)
|
|
84
|
+
📝 Output: /tmp/tea-atdd-api-tests-${timestamp}.json
|
|
85
|
+
🔴 TDD Phase: RED (tests will fail until feature implemented)
|
|
86
|
+
⏳ Status: Running in parallel...
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### 3. Launch Subprocess B: Failing E2E Test Generation
|
|
92
|
+
|
|
93
|
+
**Launch subprocess in parallel:**
|
|
94
|
+
|
|
95
|
+
- **Subprocess File:** `./step-04b-subprocess-e2e-failing.md`
|
|
96
|
+
- **Output File:** `/tmp/tea-atdd-e2e-tests-${timestamp}.json`
|
|
97
|
+
- **Context:** Pass `subprocessContext`
|
|
98
|
+
- **Execution:** PARALLEL (non-blocking)
|
|
99
|
+
- **TDD Phase:** RED (failing tests)
|
|
100
|
+
|
|
101
|
+
**System Action:**
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
🚀 Launching Subprocess B: FAILING E2E Test Generation (RED PHASE)
|
|
105
|
+
📝 Output: /tmp/tea-atdd-e2e-tests-${timestamp}.json
|
|
106
|
+
🔴 TDD Phase: RED (tests will fail until feature implemented)
|
|
107
|
+
⏳ Status: Running in parallel...
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### 4. Wait for Both Subprocesses to Complete
|
|
113
|
+
|
|
114
|
+
**Monitor subprocess execution:**
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
⏳ Waiting for subprocesses to complete...
|
|
118
|
+
├── Subprocess A (API RED): Running... ⟳
|
|
119
|
+
└── Subprocess B (E2E RED): Running... ⟳
|
|
120
|
+
|
|
121
|
+
[... time passes ...]
|
|
122
|
+
|
|
123
|
+
├── Subprocess A (API RED): Complete ✅
|
|
124
|
+
└── Subprocess B (E2E RED): Complete ✅
|
|
125
|
+
|
|
126
|
+
✅ All subprocesses completed successfully!
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Verify both outputs exist:**
|
|
130
|
+
|
|
131
|
+
```javascript
|
|
132
|
+
const apiOutputExists = fs.existsSync(`/tmp/tea-atdd-api-tests-${timestamp}.json`);
|
|
133
|
+
const e2eOutputExists = fs.existsSync(`/tmp/tea-atdd-e2e-tests-${timestamp}.json`);
|
|
134
|
+
|
|
135
|
+
if (!apiOutputExists || !e2eOutputExists) {
|
|
136
|
+
throw new Error('One or both subprocess outputs missing!');
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
### 5. TDD Red Phase Report
|
|
143
|
+
|
|
144
|
+
**Display TDD status:**
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
🔴 TDD RED PHASE: Failing Tests Generated
|
|
148
|
+
|
|
149
|
+
✅ Both subprocesses completed:
|
|
150
|
+
- API Tests: Generated with test.skip()
|
|
151
|
+
- E2E Tests: Generated with test.skip()
|
|
152
|
+
|
|
153
|
+
📋 All tests assert EXPECTED behavior
|
|
154
|
+
📋 All tests will FAIL until feature implemented
|
|
155
|
+
📋 This is INTENTIONAL (TDD red phase)
|
|
156
|
+
|
|
157
|
+
Next: Aggregation will verify TDD compliance
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### 6. Performance Report
|
|
163
|
+
|
|
164
|
+
**Display performance metrics:**
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
🚀 Performance Report:
|
|
168
|
+
- Execution Mode: PARALLEL (2 subprocesses)
|
|
169
|
+
- API Test Generation: ~X minutes
|
|
170
|
+
- E2E Test Generation: ~Y minutes
|
|
171
|
+
- Total Elapsed: ~max(X, Y) minutes
|
|
172
|
+
- Sequential Would Take: ~(X + Y) minutes
|
|
173
|
+
- Performance Gain: ~50% faster!
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### 7. Proceed to Aggregation
|
|
179
|
+
|
|
180
|
+
**Load aggregation step:**
|
|
181
|
+
Load next step: `{nextStepFile}`
|
|
182
|
+
|
|
183
|
+
The aggregation step (4C) will:
|
|
184
|
+
|
|
185
|
+
- Read both subprocess outputs
|
|
186
|
+
- Verify TDD red phase compliance (all tests have test.skip())
|
|
187
|
+
- Write all test files to disk
|
|
188
|
+
- Generate ATDD checklist
|
|
189
|
+
- Calculate summary statistics
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## EXIT CONDITION
|
|
194
|
+
|
|
195
|
+
Proceed to Step 4C (Aggregation) when:
|
|
196
|
+
|
|
197
|
+
- ✅ Subprocess A (API failing tests) completed successfully
|
|
198
|
+
- ✅ Subprocess B (E2E failing tests) completed successfully
|
|
199
|
+
- ✅ Both output files exist and are valid JSON
|
|
200
|
+
- ✅ TDD red phase status reported
|
|
201
|
+
|
|
202
|
+
**Do NOT proceed if:**
|
|
203
|
+
|
|
204
|
+
- ❌ One or both subprocesses failed
|
|
205
|
+
- ❌ Output files missing or corrupted
|
|
206
|
+
- ❌ Subprocess generated passing tests (wrong - must be failing)
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
211
|
+
|
|
212
|
+
### ✅ SUCCESS:
|
|
213
|
+
|
|
214
|
+
- Both subprocesses launched successfully
|
|
215
|
+
- Both subprocesses completed without errors
|
|
216
|
+
- Output files generated and valid
|
|
217
|
+
- Tests generated with test.skip() (TDD red phase)
|
|
218
|
+
- Parallel execution achieved ~50% performance gain
|
|
219
|
+
|
|
220
|
+
### ❌ SYSTEM FAILURE:
|
|
221
|
+
|
|
222
|
+
- Failed to launch subprocesses
|
|
223
|
+
- One or both subprocesses failed
|
|
224
|
+
- Output files missing or invalid
|
|
225
|
+
- Tests generated without test.skip() (wrong phase)
|
|
226
|
+
- Attempted sequential generation instead of parallel
|
|
227
|
+
|
|
228
|
+
**Master Rule:** TDD RED PHASE requires FAILING tests (with test.skip()). Parallel subprocess execution is MANDATORY for performance.
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-04a-subprocess-api-failing'
|
|
3
|
+
description: 'Subprocess: Generate FAILING API tests (TDD red phase)'
|
|
4
|
+
subprocess: true
|
|
5
|
+
outputFile: '/tmp/tea-atdd-api-tests-{{timestamp}}.json'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Subprocess 4A: Generate Failing API Tests (TDD Red Phase)
|
|
9
|
+
|
|
10
|
+
## SUBPROCESS CONTEXT
|
|
11
|
+
|
|
12
|
+
This is an **isolated subprocess** running in parallel with E2E failing test generation.
|
|
13
|
+
|
|
14
|
+
**What you have from parent workflow:**
|
|
15
|
+
|
|
16
|
+
- Story acceptance criteria from Step 1
|
|
17
|
+
- Test strategy and scenarios from Step 3
|
|
18
|
+
- Knowledge fragments loaded: api-request, data-factories, api-testing-patterns
|
|
19
|
+
- Config: test framework, Playwright Utils enabled/disabled
|
|
20
|
+
|
|
21
|
+
**Your task:** Generate API tests that will FAIL because the feature is not implemented yet (TDD RED PHASE).
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## MANDATORY EXECUTION RULES
|
|
26
|
+
|
|
27
|
+
- 📖 Read this entire subprocess file before acting
|
|
28
|
+
- ✅ Generate FAILING API tests ONLY
|
|
29
|
+
- ✅ Tests MUST fail when run (feature not implemented yet)
|
|
30
|
+
- ✅ Output structured JSON to temp file
|
|
31
|
+
- ✅ Follow knowledge fragment patterns
|
|
32
|
+
- ❌ Do NOT generate E2E tests (that's subprocess 4B)
|
|
33
|
+
- ❌ Do NOT generate passing tests (this is TDD red phase)
|
|
34
|
+
- ❌ Do NOT run tests (that's step 5)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## SUBPROCESS TASK
|
|
39
|
+
|
|
40
|
+
### 1. Identify API Endpoints from Acceptance Criteria
|
|
41
|
+
|
|
42
|
+
From the story acceptance criteria (Step 1 output), identify:
|
|
43
|
+
|
|
44
|
+
- Which API endpoints will be created for this story
|
|
45
|
+
- Expected request/response contracts
|
|
46
|
+
- Authentication requirements
|
|
47
|
+
- Expected status codes and error scenarios
|
|
48
|
+
|
|
49
|
+
**Example Acceptance Criteria:**
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Story: User Registration
|
|
53
|
+
- As a user, I can POST to /api/users/register with email and password
|
|
54
|
+
- System returns 201 Created with user object
|
|
55
|
+
- System returns 400 Bad Request if email already exists
|
|
56
|
+
- System returns 422 Unprocessable Entity if validation fails
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. Generate FAILING API Test Files
|
|
60
|
+
|
|
61
|
+
For each API endpoint, create test file in `tests/api/[feature].spec.ts`:
|
|
62
|
+
|
|
63
|
+
**Test Structure (ATDD - Red Phase):**
|
|
64
|
+
|
|
65
|
+
```typescript
|
|
66
|
+
import { test, expect } from '@playwright/test';
|
|
67
|
+
// If Playwright Utils enabled:
|
|
68
|
+
// import { apiRequest } from '@playwright-utils/api';
|
|
69
|
+
|
|
70
|
+
test.describe('[Story Name] API Tests (ATDD)', () => {
|
|
71
|
+
test.skip('[P0] should register new user successfully', async ({ request }) => {
|
|
72
|
+
// THIS TEST WILL FAIL - Endpoint not implemented yet
|
|
73
|
+
const response = await request.post('/api/users/register', {
|
|
74
|
+
data: {
|
|
75
|
+
email: 'newuser@example.com',
|
|
76
|
+
password: 'SecurePass123!',
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
// Expect 201 but will get 404 (endpoint doesn't exist)
|
|
81
|
+
expect(response.status()).toBe(201);
|
|
82
|
+
|
|
83
|
+
const user = await response.json();
|
|
84
|
+
expect(user).toMatchObject({
|
|
85
|
+
id: expect.any(Number),
|
|
86
|
+
email: 'newuser@example.com',
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
test.skip('[P1] should return 400 if email exists', async ({ request }) => {
|
|
91
|
+
// THIS TEST WILL FAIL - Endpoint not implemented yet
|
|
92
|
+
const response = await request.post('/api/users/register', {
|
|
93
|
+
data: {
|
|
94
|
+
email: 'existing@example.com',
|
|
95
|
+
password: 'SecurePass123!',
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
expect(response.status()).toBe(400);
|
|
100
|
+
const error = await response.json();
|
|
101
|
+
expect(error.message).toContain('Email already exists');
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**CRITICAL ATDD Requirements:**
|
|
107
|
+
|
|
108
|
+
- ✅ Use `test.skip()` to mark tests as intentionally failing (red phase)
|
|
109
|
+
- ✅ Write assertions for EXPECTED behavior (even though not implemented)
|
|
110
|
+
- ✅ Use realistic test data (not placeholder data)
|
|
111
|
+
- ✅ Test both happy path and error scenarios from acceptance criteria
|
|
112
|
+
- ✅ Use `apiRequest()` helper if Playwright Utils enabled
|
|
113
|
+
- ✅ Use data factories for test data (from data-factories fragment)
|
|
114
|
+
- ✅ Include priority tags [P0], [P1], [P2], [P3]
|
|
115
|
+
|
|
116
|
+
**Why test.skip():**
|
|
117
|
+
|
|
118
|
+
- Tests are written correctly for EXPECTED behavior
|
|
119
|
+
- But we know they'll fail because feature isn't implemented
|
|
120
|
+
- `test.skip()` documents this is intentional (TDD red phase)
|
|
121
|
+
- Once feature is implemented, remove `test.skip()` to verify green phase
|
|
122
|
+
|
|
123
|
+
### 3. Track Fixture Needs
|
|
124
|
+
|
|
125
|
+
Identify fixtures needed for API tests:
|
|
126
|
+
|
|
127
|
+
- Authentication fixtures (if endpoints require auth)
|
|
128
|
+
- Data factories (user data, etc.)
|
|
129
|
+
- API client configurations
|
|
130
|
+
|
|
131
|
+
**Do NOT create fixtures yet** - just track what's needed for aggregation step.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## OUTPUT FORMAT
|
|
136
|
+
|
|
137
|
+
Write JSON to temp file: `/tmp/tea-atdd-api-tests-{{timestamp}}.json`
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"success": true,
|
|
142
|
+
"subprocess": "atdd-api-tests",
|
|
143
|
+
"tests": [
|
|
144
|
+
{
|
|
145
|
+
"file": "tests/api/user-registration.spec.ts",
|
|
146
|
+
"content": "[full TypeScript test file content with test.skip()]",
|
|
147
|
+
"description": "ATDD API tests for user registration (RED PHASE)",
|
|
148
|
+
"expected_to_fail": true,
|
|
149
|
+
"acceptance_criteria_covered": [
|
|
150
|
+
"User can register with email/password",
|
|
151
|
+
"System returns 201 on success",
|
|
152
|
+
"System returns 400 if email exists"
|
|
153
|
+
],
|
|
154
|
+
"priority_coverage": {
|
|
155
|
+
"P0": 1,
|
|
156
|
+
"P1": 2,
|
|
157
|
+
"P2": 0,
|
|
158
|
+
"P3": 0
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
"fixture_needs": ["userDataFactory"],
|
|
163
|
+
"knowledge_fragments_used": ["api-request", "data-factories", "api-testing-patterns"],
|
|
164
|
+
"test_count": 3,
|
|
165
|
+
"tdd_phase": "RED",
|
|
166
|
+
"summary": "Generated 3 FAILING API tests for user registration story"
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**On Error:**
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"success": false,
|
|
175
|
+
"subprocess": "atdd-api-tests",
|
|
176
|
+
"error": "Error message describing what went wrong",
|
|
177
|
+
"partial_output": {
|
|
178
|
+
/* any tests generated before error */
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## EXIT CONDITION
|
|
186
|
+
|
|
187
|
+
Subprocess completes when:
|
|
188
|
+
|
|
189
|
+
- ✅ All API endpoints from acceptance criteria have test files
|
|
190
|
+
- ✅ All tests use `test.skip()` (documented failing tests)
|
|
191
|
+
- ✅ All tests assert EXPECTED behavior (not placeholder assertions)
|
|
192
|
+
- ✅ JSON output written to temp file
|
|
193
|
+
- ✅ Fixture needs tracked
|
|
194
|
+
|
|
195
|
+
**Subprocess terminates here.** Parent workflow will read output and proceed to aggregation.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## 🚨 SUBPROCESS SUCCESS METRICS
|
|
200
|
+
|
|
201
|
+
### ✅ SUCCESS:
|
|
202
|
+
|
|
203
|
+
- All API tests generated with test.skip()
|
|
204
|
+
- Tests assert expected behavior (not placeholders)
|
|
205
|
+
- JSON output valid and complete
|
|
206
|
+
- No E2E/component/unit tests included (out of scope)
|
|
207
|
+
- Tests follow knowledge fragment patterns
|
|
208
|
+
|
|
209
|
+
### ❌ FAILURE:
|
|
210
|
+
|
|
211
|
+
- Generated passing tests (wrong - this is RED phase)
|
|
212
|
+
- Tests without test.skip() (will break CI)
|
|
213
|
+
- Placeholder assertions (expect(true).toBe(true))
|
|
214
|
+
- Did not follow knowledge fragment patterns
|
|
215
|
+
- Invalid or missing JSON output
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-04b-subprocess-e2e-failing'
|
|
3
|
+
description: 'Subprocess: Generate FAILING E2E tests (TDD red phase)'
|
|
4
|
+
subprocess: true
|
|
5
|
+
outputFile: '/tmp/tea-atdd-e2e-tests-{{timestamp}}.json'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Subprocess 4B: Generate Failing E2E Tests (TDD Red Phase)
|
|
9
|
+
|
|
10
|
+
## SUBPROCESS CONTEXT
|
|
11
|
+
|
|
12
|
+
This is an **isolated subprocess** running in parallel with API failing test generation.
|
|
13
|
+
|
|
14
|
+
**What you have from parent workflow:**
|
|
15
|
+
|
|
16
|
+
- Story acceptance criteria from Step 1
|
|
17
|
+
- Test strategy and user journey scenarios from Step 3
|
|
18
|
+
- Knowledge fragments loaded: fixture-architecture, network-first, selector-resilience
|
|
19
|
+
- Config: test framework, Playwright Utils enabled/disabled
|
|
20
|
+
|
|
21
|
+
**Your task:** Generate E2E tests that will FAIL because the feature UI is not implemented yet (TDD RED PHASE).
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## MANDATORY EXECUTION RULES
|
|
26
|
+
|
|
27
|
+
- 📖 Read this entire subprocess file before acting
|
|
28
|
+
- ✅ Generate FAILING E2E tests ONLY
|
|
29
|
+
- ✅ Tests MUST fail when run (UI not implemented yet)
|
|
30
|
+
- ✅ Output structured JSON to temp file
|
|
31
|
+
- ✅ Follow knowledge fragment patterns
|
|
32
|
+
- ❌ Do NOT generate API tests (that's subprocess 4A)
|
|
33
|
+
- ❌ Do NOT generate passing tests (this is TDD red phase)
|
|
34
|
+
- ❌ Do NOT run tests (that's step 5)
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## SUBPROCESS TASK
|
|
39
|
+
|
|
40
|
+
### 1. Identify User Journeys from Acceptance Criteria
|
|
41
|
+
|
|
42
|
+
From the story acceptance criteria (Step 1 output), identify:
|
|
43
|
+
|
|
44
|
+
- Which UI flows will be created for this story
|
|
45
|
+
- User interactions required
|
|
46
|
+
- Expected visual states
|
|
47
|
+
- Success/error messages expected
|
|
48
|
+
|
|
49
|
+
**Example Acceptance Criteria:**
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
Story: User Registration
|
|
53
|
+
- As a user, I can navigate to /register page
|
|
54
|
+
- I can fill in email and password fields
|
|
55
|
+
- I can click "Register" button
|
|
56
|
+
- System shows success message and redirects to dashboard
|
|
57
|
+
- System shows error if email already exists
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 2. Generate FAILING E2E Test Files
|
|
61
|
+
|
|
62
|
+
For each user journey, create test file in `tests/e2e/[feature].spec.ts`:
|
|
63
|
+
|
|
64
|
+
**Test Structure (ATDD - Red Phase):**
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
import { test, expect } from '@playwright/test';
|
|
68
|
+
|
|
69
|
+
test.describe('[Story Name] E2E User Journey (ATDD)', () => {
|
|
70
|
+
test.skip('[P0] should complete user registration successfully', async ({ page }) => {
|
|
71
|
+
// THIS TEST WILL FAIL - UI not implemented yet
|
|
72
|
+
await page.goto('/register');
|
|
73
|
+
|
|
74
|
+
// Expect registration form but will get 404 or missing elements
|
|
75
|
+
await page.fill('[name="email"]', 'newuser@example.com');
|
|
76
|
+
await page.fill('[name="password"]', 'SecurePass123!');
|
|
77
|
+
await page.click('button:has-text("Register")');
|
|
78
|
+
|
|
79
|
+
// Expect success message and redirect
|
|
80
|
+
await expect(page.getByText('Registration successful!')).toBeVisible();
|
|
81
|
+
await page.waitForURL('/dashboard');
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test.skip('[P1] should show error if email exists', async ({ page }) => {
|
|
85
|
+
// THIS TEST WILL FAIL - UI not implemented yet
|
|
86
|
+
await page.goto('/register');
|
|
87
|
+
|
|
88
|
+
await page.fill('[name="email"]', 'existing@example.com');
|
|
89
|
+
await page.fill('[name="password"]', 'SecurePass123!');
|
|
90
|
+
await page.click('button:has-text("Register")');
|
|
91
|
+
|
|
92
|
+
// Expect error message
|
|
93
|
+
await expect(page.getByText('Email already exists')).toBeVisible();
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**CRITICAL ATDD Requirements:**
|
|
99
|
+
|
|
100
|
+
- ✅ Use `test.skip()` to mark tests as intentionally failing (red phase)
|
|
101
|
+
- ✅ Write assertions for EXPECTED UI behavior (even though not implemented)
|
|
102
|
+
- ✅ Use resilient selectors: getByRole, getByText, getByLabel (from selector-resilience)
|
|
103
|
+
- ✅ Follow network-first patterns if API calls involved (from network-first)
|
|
104
|
+
- ✅ Test complete user journeys from acceptance criteria
|
|
105
|
+
- ✅ Include priority tags [P0], [P1], [P2], [P3]
|
|
106
|
+
- ✅ Use proper TypeScript types
|
|
107
|
+
- ✅ Deterministic waits (no hard sleeps)
|
|
108
|
+
|
|
109
|
+
**Why test.skip():**
|
|
110
|
+
|
|
111
|
+
- Tests are written correctly for EXPECTED UI behavior
|
|
112
|
+
- But we know they'll fail because UI isn't implemented
|
|
113
|
+
- `test.skip()` documents this is intentional (TDD red phase)
|
|
114
|
+
- Once UI is implemented, remove `test.skip()` to verify green phase
|
|
115
|
+
|
|
116
|
+
### 3. Track Fixture Needs
|
|
117
|
+
|
|
118
|
+
Identify fixtures needed for E2E tests:
|
|
119
|
+
|
|
120
|
+
- Authentication fixtures (if journey requires logged-in state)
|
|
121
|
+
- Network mocks (if API calls involved)
|
|
122
|
+
- Test data fixtures
|
|
123
|
+
|
|
124
|
+
**Do NOT create fixtures yet** - just track what's needed for aggregation step.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## OUTPUT FORMAT
|
|
129
|
+
|
|
130
|
+
Write JSON to temp file: `/tmp/tea-atdd-e2e-tests-{{timestamp}}.json`
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"success": true,
|
|
135
|
+
"subprocess": "atdd-e2e-tests",
|
|
136
|
+
"tests": [
|
|
137
|
+
{
|
|
138
|
+
"file": "tests/e2e/user-registration.spec.ts",
|
|
139
|
+
"content": "[full TypeScript test file content with test.skip()]",
|
|
140
|
+
"description": "ATDD E2E tests for user registration journey (RED PHASE)",
|
|
141
|
+
"expected_to_fail": true,
|
|
142
|
+
"acceptance_criteria_covered": [
|
|
143
|
+
"User can navigate to /register",
|
|
144
|
+
"User can fill registration form",
|
|
145
|
+
"System shows success message on registration",
|
|
146
|
+
"System shows error if email exists"
|
|
147
|
+
],
|
|
148
|
+
"priority_coverage": {
|
|
149
|
+
"P0": 1,
|
|
150
|
+
"P1": 1,
|
|
151
|
+
"P2": 0,
|
|
152
|
+
"P3": 0
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"fixture_needs": ["registrationPageMock"],
|
|
157
|
+
"knowledge_fragments_used": ["fixture-architecture", "network-first", "selector-resilience"],
|
|
158
|
+
"test_count": 2,
|
|
159
|
+
"tdd_phase": "RED",
|
|
160
|
+
"summary": "Generated 2 FAILING E2E tests for user registration story"
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**On Error:**
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"success": false,
|
|
169
|
+
"subprocess": "atdd-e2e-tests",
|
|
170
|
+
"error": "Error message describing what went wrong",
|
|
171
|
+
"partial_output": {
|
|
172
|
+
/* any tests generated before error */
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## EXIT CONDITION
|
|
180
|
+
|
|
181
|
+
Subprocess completes when:
|
|
182
|
+
|
|
183
|
+
- ✅ All user journeys from acceptance criteria have test files
|
|
184
|
+
- ✅ All tests use `test.skip()` (documented failing tests)
|
|
185
|
+
- ✅ All tests assert EXPECTED UI behavior (not placeholder assertions)
|
|
186
|
+
- ✅ Resilient selectors used (getByRole, getByText)
|
|
187
|
+
- ✅ JSON output written to temp file
|
|
188
|
+
- ✅ Fixture needs tracked
|
|
189
|
+
|
|
190
|
+
**Subprocess terminates here.** Parent workflow will read output and proceed to aggregation.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 🚨 SUBPROCESS SUCCESS METRICS
|
|
195
|
+
|
|
196
|
+
### ✅ SUCCESS:
|
|
197
|
+
|
|
198
|
+
- All E2E tests generated with test.skip()
|
|
199
|
+
- Tests assert expected UI behavior (not placeholders)
|
|
200
|
+
- Resilient selectors used (getByRole, getByText)
|
|
201
|
+
- JSON output valid and complete
|
|
202
|
+
- No API/component/unit tests included (out of scope)
|
|
203
|
+
- Tests follow knowledge fragment patterns
|
|
204
|
+
|
|
205
|
+
### ❌ FAILURE:
|
|
206
|
+
|
|
207
|
+
- Generated passing tests (wrong - this is RED phase)
|
|
208
|
+
- Tests without test.skip() (will break CI)
|
|
209
|
+
- Placeholder assertions (expect(true).toBe(true))
|
|
210
|
+
- Brittle selectors used (CSS classes, XPath)
|
|
211
|
+
- Did not follow knowledge fragment patterns
|
|
212
|
+
- Invalid or missing JSON output
|