@cregis-dev/cckit 0.2.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/LICENSE +21 -0
- package/README.md +253 -0
- package/bin/cckit.js +3 -0
- package/package.json +52 -0
- package/registry.json +194 -0
- package/src/adapters/trae-adapter.js +90 -0
- package/src/cli.js +88 -0
- package/src/commands/add.js +192 -0
- package/src/commands/init.js +333 -0
- package/src/commands/status.js +62 -0
- package/src/commands/sync.js +325 -0
- package/src/commands/update.js +425 -0
- package/src/core/config.js +82 -0
- package/src/core/differ.js +57 -0
- package/src/core/installer.js +97 -0
- package/src/core/plugin-installer.js +237 -0
- package/src/core/registry.js +75 -0
- package/src/core/templatize.js +42 -0
- package/src/core/upstream.js +357 -0
- package/src/utils/fs.js +50 -0
- package/src/utils/logger.js +16 -0
- package/templates/bmad/_config/agent-manifest.csv +12 -0
- package/templates/bmad/_config/agents/bmm-analyst.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-architect.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-dev.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-pm.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-qa.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-sm.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -0
- package/templates/bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -0
- package/templates/bmad/_config/agents/core-bmad-master.customize.yaml +41 -0
- package/templates/bmad/_config/agents/tea-tea.customize.yaml +41 -0
- package/templates/bmad/_config/bmad-help.csv +48 -0
- package/templates/bmad/_config/files-manifest.csv +431 -0
- package/templates/bmad/_config/ides/claude-code.yaml +5 -0
- package/templates/bmad/_config/ides/opencode.yaml +5 -0
- package/templates/bmad/_config/ides/trae.yaml +5 -0
- package/templates/bmad/_config/task-manifest.csv +7 -0
- package/templates/bmad/_config/tool-manifest.csv +1 -0
- package/templates/bmad/_config/workflow-manifest.csv +35 -0
- package/templates/bmad/bmm/agents/analyst.md +78 -0
- package/templates/bmad/bmm/agents/architect.md +58 -0
- package/templates/bmad/bmm/agents/dev.md +69 -0
- package/templates/bmad/bmm/agents/pm.md +72 -0
- package/templates/bmad/bmm/agents/qa.md +92 -0
- package/templates/bmad/bmm/agents/quick-flow-solo-dev.md +69 -0
- package/templates/bmad/bmm/agents/sm.md +70 -0
- package/templates/bmad/bmm/agents/tech-writer/tech-writer.md +70 -0
- package/templates/bmad/bmm/agents/ux-designer.md +57 -0
- package/templates/bmad/bmm/config.yaml +15 -0
- package/templates/bmad/bmm/data/project-context-template.md +26 -0
- package/templates/bmad/bmm/module-help.csv +31 -0
- package/templates/bmad/bmm/teams/default-party.csv +20 -0
- package/templates/bmad/bmm/teams/team-fullstack.yaml +12 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +444 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +487 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -0
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +15 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +152 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +226 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +13 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +173 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +329 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
- package/templates/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
- package/templates/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
- package/templates/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +43 -0
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +207 -0
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +53 -0
- package/templates/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
- package/templates/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +346 -0
- package/templates/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -0
- package/templates/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +52 -0
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +20 -0
- package/templates/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -0
- package/templates/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +52 -0
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -0
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -0
- package/templates/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -0
- package/templates/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +143 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +126 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
- package/templates/bmad/bmm/workflows/document-project/checklist.md +245 -0
- package/templates/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
- package/templates/bmad/bmm/workflows/document-project/instructions.md +130 -0
- package/templates/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
- package/templates/bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
- package/templates/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
- package/templates/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/templates/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
- package/templates/bmad/bmm/workflows/document-project/workflow.yaml +22 -0
- package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
- package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
- package/templates/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
- package/templates/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
- package/templates/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -0
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
- package/templates/bmad/bmm/workflows/generate-project-context/workflow.md +49 -0
- package/templates/bmad/bmm/workflows/qa/automate/checklist.md +33 -0
- package/templates/bmad/bmm/workflows/qa/automate/instructions.md +110 -0
- package/templates/bmad/bmm/workflows/qa/automate/workflow.yaml +44 -0
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/checklist.md +33 -0
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/instructions.md +110 -0
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +42 -0
- package/templates/bmad/commands/bmad-agent-bmad-master.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-analyst.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-architect.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-dev.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-pm.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-qa.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-quick-flow-solo-dev.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-sm.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-tech-writer.md +15 -0
- package/templates/bmad/commands/bmad-agent-bmm-ux-designer.md +15 -0
- package/templates/bmad/commands/bmad-agent-tea-tea.md +15 -0
- package/templates/bmad/commands/bmad-bmm-check-implementation-readiness.md +6 -0
- package/templates/bmad/commands/bmad-bmm-code-review.md +14 -0
- package/templates/bmad/commands/bmad-bmm-correct-course.md +14 -0
- package/templates/bmad/commands/bmad-bmm-create-architecture.md +6 -0
- package/templates/bmad/commands/bmad-bmm-create-epics-and-stories.md +6 -0
- package/templates/bmad/commands/bmad-bmm-create-prd.md +6 -0
- package/templates/bmad/commands/bmad-bmm-create-product-brief.md +6 -0
- package/templates/bmad/commands/bmad-bmm-create-story.md +14 -0
- package/templates/bmad/commands/bmad-bmm-create-ux-design.md +6 -0
- package/templates/bmad/commands/bmad-bmm-dev-story.md +14 -0
- package/templates/bmad/commands/bmad-bmm-document-project.md +14 -0
- package/templates/bmad/commands/bmad-bmm-domain-research.md +6 -0
- package/templates/bmad/commands/bmad-bmm-edit-prd.md +6 -0
- package/templates/bmad/commands/bmad-bmm-generate-project-context.md +6 -0
- package/templates/bmad/commands/bmad-bmm-market-research.md +6 -0
- package/templates/bmad/commands/bmad-bmm-qa-automate.md +15 -0
- package/templates/bmad/commands/bmad-bmm-qa-generate-e2e-tests.md +14 -0
- package/templates/bmad/commands/bmad-bmm-quick-dev.md +6 -0
- package/templates/bmad/commands/bmad-bmm-quick-spec.md +6 -0
- package/templates/bmad/commands/bmad-bmm-retrospective.md +14 -0
- package/templates/bmad/commands/bmad-bmm-sprint-planning.md +14 -0
- package/templates/bmad/commands/bmad-bmm-sprint-status.md +14 -0
- package/templates/bmad/commands/bmad-bmm-technical-research.md +6 -0
- package/templates/bmad/commands/bmad-bmm-validate-prd.md +6 -0
- package/templates/bmad/commands/bmad-brainstorming.md +6 -0
- package/templates/bmad/commands/bmad-editorial-review-prose.md +10 -0
- package/templates/bmad/commands/bmad-editorial-review-structure.md +10 -0
- package/templates/bmad/commands/bmad-help.md +10 -0
- package/templates/bmad/commands/bmad-index-docs.md +10 -0
- package/templates/bmad/commands/bmad-party-mode.md +6 -0
- package/templates/bmad/commands/bmad-review-adversarial-general.md +10 -0
- package/templates/bmad/commands/bmad-shard-doc.md +10 -0
- package/templates/bmad/commands/bmad-tea-teach-me-testing.md +6 -0
- package/templates/bmad/commands/bmad-tea-testarch-atdd.md +14 -0
- package/templates/bmad/commands/bmad-tea-testarch-automate.md +14 -0
- package/templates/bmad/commands/bmad-tea-testarch-ci.md +14 -0
- package/templates/bmad/commands/bmad-tea-testarch-framework.md +14 -0
- package/templates/bmad/commands/bmad-tea-testarch-nfr.md +14 -0
- package/templates/bmad/commands/bmad-tea-testarch-test-design.md +14 -0
- package/templates/bmad/commands/bmad-tea-testarch-test-review.md +14 -0
- package/templates/bmad/commands/bmad-tea-testarch-trace.md +14 -0
- package/templates/bmad/core/agents/bmad-master.md +56 -0
- package/templates/bmad/core/config.yaml +8 -0
- package/templates/bmad/core/module-help.csv +9 -0
- package/templates/bmad/core/tasks/editorial-review-prose.xml +102 -0
- package/templates/bmad/core/tasks/editorial-review-structure.xml +208 -0
- package/templates/bmad/core/tasks/help.md +86 -0
- package/templates/bmad/core/tasks/index-docs.xml +65 -0
- package/templates/bmad/core/tasks/review-adversarial-general.xml +49 -0
- package/templates/bmad/core/tasks/shard-doc.xml +108 -0
- package/templates/bmad/core/tasks/workflow.xml +235 -0
- package/templates/bmad/core/workflows/advanced-elicitation/methods.csv +51 -0
- package/templates/bmad/core/workflows/advanced-elicitation/workflow.xml +118 -0
- package/templates/bmad/core/workflows/brainstorming/brain-methods.csv +62 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
- package/templates/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
- package/templates/bmad/core/workflows/brainstorming/template.md +15 -0
- package/templates/bmad/core/workflows/brainstorming/workflow.md +58 -0
- package/templates/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
- package/templates/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
- package/templates/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -0
- package/templates/bmad/core/workflows/party-mode/workflow.md +194 -0
- package/templates/bmad/tea/agents/tea.md +71 -0
- package/templates/bmad/tea/config.yaml +20 -0
- package/templates/bmad/tea/module-help.csv +10 -0
- package/templates/bmad/tea/teams/default-party.csv +2 -0
- package/templates/bmad/tea/testarch/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/templates/bmad/tea/testarch/knowledge/api-request.md +563 -0
- package/templates/bmad/tea/testarch/knowledge/api-testing-patterns.md +915 -0
- package/templates/bmad/tea/testarch/knowledge/auth-session.md +548 -0
- package/templates/bmad/tea/testarch/knowledge/burn-in.md +273 -0
- package/templates/bmad/tea/testarch/knowledge/ci-burn-in.md +675 -0
- package/templates/bmad/tea/testarch/knowledge/component-tdd.md +486 -0
- package/templates/bmad/tea/testarch/knowledge/contract-testing.md +957 -0
- package/templates/bmad/tea/testarch/knowledge/data-factories.md +500 -0
- package/templates/bmad/tea/testarch/knowledge/email-auth.md +721 -0
- package/templates/bmad/tea/testarch/knowledge/error-handling.md +725 -0
- package/templates/bmad/tea/testarch/knowledge/feature-flags.md +750 -0
- package/templates/bmad/tea/testarch/knowledge/file-utils.md +456 -0
- package/templates/bmad/tea/testarch/knowledge/fixture-architecture.md +401 -0
- package/templates/bmad/tea/testarch/knowledge/fixtures-composition.md +382 -0
- package/templates/bmad/tea/testarch/knowledge/intercept-network-call.md +426 -0
- package/templates/bmad/tea/testarch/knowledge/log.md +426 -0
- package/templates/bmad/tea/testarch/knowledge/network-error-monitor.md +401 -0
- package/templates/bmad/tea/testarch/knowledge/network-first.md +486 -0
- package/templates/bmad/tea/testarch/knowledge/network-recorder.md +527 -0
- package/templates/bmad/tea/testarch/knowledge/nfr-criteria.md +670 -0
- package/templates/bmad/tea/testarch/knowledge/overview.md +286 -0
- package/templates/bmad/tea/testarch/knowledge/playwright-cli.md +165 -0
- package/templates/bmad/tea/testarch/knowledge/playwright-config.md +730 -0
- package/templates/bmad/tea/testarch/knowledge/probability-impact.md +601 -0
- package/templates/bmad/tea/testarch/knowledge/recurse.md +421 -0
- package/templates/bmad/tea/testarch/knowledge/risk-governance.md +615 -0
- package/templates/bmad/tea/testarch/knowledge/selective-testing.md +732 -0
- package/templates/bmad/tea/testarch/knowledge/selector-resilience.md +527 -0
- package/templates/bmad/tea/testarch/knowledge/test-healing-patterns.md +644 -0
- package/templates/bmad/tea/testarch/knowledge/test-levels-framework.md +473 -0
- package/templates/bmad/tea/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/templates/bmad/tea/testarch/knowledge/test-quality.md +664 -0
- package/templates/bmad/tea/testarch/knowledge/timing-debugging.md +372 -0
- package/templates/bmad/tea/testarch/knowledge/visual-debugging.md +524 -0
- package/templates/bmad/tea/testarch/tea-index.csv +36 -0
- package/templates/bmad/tea/workflows/testarch/README.md +74 -0
- package/templates/bmad/tea/workflows/testarch/atdd/atdd-checklist-template.md +371 -0
- package/templates/bmad/tea/workflows/testarch/atdd/checklist.md +374 -0
- package/templates/bmad/tea/workflows/testarch/atdd/instructions.md +45 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +196 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01b-resume.md +96 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +125 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +110 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +229 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subprocess-api-failing.md +215 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subprocess-e2e-failing.md +244 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +354 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +106 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +73 -0
- package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +116 -0
- package/templates/bmad/tea/workflows/testarch/atdd/workflow-plan.md +21 -0
- package/templates/bmad/tea/workflows/testarch/atdd/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/atdd/workflow.yaml +46 -0
- package/templates/bmad/tea/workflows/testarch/automate/checklist.md +582 -0
- package/templates/bmad/tea/workflows/testarch/automate/instructions.md +50 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +205 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01b-resume.md +94 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-02-identify-targets.md +145 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +278 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03a-subprocess-api.md +183 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subprocess-backend.md +246 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subprocess-e2e.md +213 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +377 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +106 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +72 -0
- package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +114 -0
- package/templates/bmad/tea/workflows/testarch/automate/workflow-plan.md +20 -0
- package/templates/bmad/tea/workflows/testarch/automate/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/automate/workflow.yaml +53 -0
- package/templates/bmad/tea/workflows/testarch/ci/azure-pipelines-template.yaml +155 -0
- package/templates/bmad/tea/workflows/testarch/ci/checklist.md +288 -0
- package/templates/bmad/tea/workflows/testarch/ci/github-actions-template.yaml +210 -0
- package/templates/bmad/tea/workflows/testarch/ci/gitlab-ci-template.yaml +158 -0
- package/templates/bmad/tea/workflows/testarch/ci/harness-pipeline-template.yaml +159 -0
- package/templates/bmad/tea/workflows/testarch/ci/instructions.md +45 -0
- package/templates/bmad/tea/workflows/testarch/ci/jenkins-pipeline-template.groovy +129 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-01-preflight.md +158 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-01b-resume.md +110 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +118 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +105 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +92 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/ci/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +72 -0
- package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +114 -0
- package/templates/bmad/tea/workflows/testarch/ci/workflow-plan.md +20 -0
- package/templates/bmad/tea/workflows/testarch/ci/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/ci/workflow.yaml +48 -0
- package/templates/bmad/tea/workflows/testarch/framework/checklist.md +321 -0
- package/templates/bmad/tea/workflows/testarch/framework/instructions.md +45 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-01-preflight.md +132 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-01b-resume.md +116 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-02-select-framework.md +117 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +196 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +105 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +93 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/framework/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +73 -0
- package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +116 -0
- package/templates/bmad/tea/workflows/testarch/framework/workflow-plan.md +22 -0
- package/templates/bmad/tea/workflows/testarch/framework/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/framework/workflow.yaml +48 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/checklist.md +407 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/instructions.md +43 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/nfr-report-template.md +470 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +138 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-01b-resume.md +106 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +107 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +108 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +140 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subprocess-security.md +138 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subprocess-performance.md +84 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subprocess-reliability.md +85 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subprocess-scalability.md +88 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +247 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +108 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +73 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +116 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow-plan.md +19 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +48 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/checklist.md +197 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/curriculum.yaml +129 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/quiz-questions.yaml +206 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/role-paths.yaml +136 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/session-content-map.yaml +207 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +359 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/instructions.md +130 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01-init.md +235 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-01b-continue.md +147 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-02-assess.md +258 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-03-session-menu.md +219 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-01.md +460 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-02.md +465 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-03.md +301 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-04.md +234 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-05.md +234 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-06.md +209 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-04-session-07.md +212 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-c/step-05-completion.md +339 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-01-assess-workflow.md +141 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-e/step-e-02-apply-edits.md +122 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/steps-v/step-v-01-validate.md +263 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/templates/certificate-template.md +86 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/templates/progress-template.yaml +95 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/templates/session-notes-template.md +83 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +950 -0
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow.md +90 -0
- package/templates/bmad/tea/workflows/testarch/test-design/checklist.md +464 -0
- package/templates/bmad/tea/workflows/testarch/test-design/instructions.md +105 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +134 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-01b-resume.md +102 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +212 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +110 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +123 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +151 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/test-design/test-design-architecture-template.md +230 -0
- package/templates/bmad/tea/workflows/testarch/test-design/test-design-handoff-template.md +70 -0
- package/templates/bmad/tea/workflows/testarch/test-design/test-design-qa-template.md +396 -0
- package/templates/bmad/tea/workflows/testarch/test-design/test-design-template.md +344 -0
- package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +73 -0
- package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +116 -0
- package/templates/bmad/tea/workflows/testarch/test-design/workflow-plan.md +22 -0
- package/templates/bmad/tea/workflows/testarch/test-design/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/test-design/workflow.yaml +77 -0
- package/templates/bmad/tea/workflows/testarch/test-review/checklist.md +475 -0
- package/templates/bmad/tea/workflows/testarch/test-review/instructions.md +45 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +169 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01b-resume.md +104 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +113 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +173 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subprocess-determinism.md +214 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subprocess-isolation.md +125 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subprocess-maintainability.md +102 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03d-subprocess-coverage.md +111 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subprocess-performance.md +117 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +277 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-04-generate-report.md +111 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/test-review/test-review-template.md +387 -0
- package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +72 -0
- package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +114 -0
- package/templates/bmad/tea/workflows/testarch/test-review/workflow-plan.md +18 -0
- package/templates/bmad/tea/workflows/testarch/test-review/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/test-review/workflow.yaml +48 -0
- package/templates/bmad/tea/workflows/testarch/trace/checklist.md +647 -0
- package/templates/bmad/tea/workflows/testarch/trace/instructions.md +43 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-01-load-context.md +105 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-01b-resume.md +102 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-02-discover-tests.md +112 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-03-map-criteria.md +97 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +330 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-05-gate-decision.md +266 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-e/step-01-assess.md +65 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-e/step-02-apply-edit.md +60 -0
- package/templates/bmad/tea/workflows/testarch/trace/steps-v/step-01-validate.md +67 -0
- package/templates/bmad/tea/workflows/testarch/trace/trace-template.md +708 -0
- package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +73 -0
- package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +116 -0
- package/templates/bmad/tea/workflows/testarch/trace/workflow-plan.md +21 -0
- package/templates/bmad/tea/workflows/testarch/trace/workflow.md +41 -0
- package/templates/bmad/tea/workflows/testarch/trace/workflow.yaml +56 -0
- package/templates/ecc/agents/architect.md +211 -0
- package/templates/ecc/agents/build-error-resolver.md +114 -0
- package/templates/ecc/agents/code-reviewer.md +224 -0
- package/templates/ecc/agents/database-reviewer.md +91 -0
- package/templates/ecc/agents/doc-updater.md +107 -0
- package/templates/ecc/agents/e2e-runner.md +107 -0
- package/templates/ecc/agents/go-build-resolver.md +94 -0
- package/templates/ecc/agents/go-reviewer.md +76 -0
- package/templates/ecc/agents/planner.md +212 -0
- package/templates/ecc/agents/python-reviewer.md +98 -0
- package/templates/ecc/agents/refactor-cleaner.md +85 -0
- package/templates/ecc/agents/security-reviewer.md +108 -0
- package/templates/ecc/agents/tdd-guide.md +80 -0
- package/templates/ecc/commands/build-fix.md +62 -0
- package/templates/ecc/commands/checkpoint.md +74 -0
- package/templates/ecc/commands/code-review.md +40 -0
- package/templates/ecc/commands/e2e.md +363 -0
- package/templates/ecc/commands/eval.md +120 -0
- package/templates/ecc/commands/evolve.md +193 -0
- package/templates/ecc/commands/go-build.md +183 -0
- package/templates/ecc/commands/go-review.md +148 -0
- package/templates/ecc/commands/go-test.md +268 -0
- package/templates/ecc/commands/instinct-export.md +91 -0
- package/templates/ecc/commands/instinct-import.md +142 -0
- package/templates/ecc/commands/instinct-status.md +86 -0
- package/templates/ecc/commands/learn-eval.md +91 -0
- package/templates/ecc/commands/learn.md +70 -0
- package/templates/ecc/commands/multi-backend.md +158 -0
- package/templates/ecc/commands/multi-execute.md +310 -0
- package/templates/ecc/commands/multi-frontend.md +158 -0
- package/templates/ecc/commands/multi-plan.md +261 -0
- package/templates/ecc/commands/multi-workflow.md +183 -0
- package/templates/ecc/commands/orchestrate.md +172 -0
- package/templates/ecc/commands/plan.md +113 -0
- package/templates/ecc/commands/pm2.md +272 -0
- package/templates/ecc/commands/python-review.md +297 -0
- package/templates/ecc/commands/refactor-clean.md +80 -0
- package/templates/ecc/commands/sessions.md +305 -0
- package/templates/ecc/commands/setup-pm.md +80 -0
- package/templates/ecc/commands/skill-create.md +174 -0
- package/templates/ecc/commands/tdd.md +326 -0
- package/templates/ecc/commands/test-coverage.md +69 -0
- package/templates/ecc/commands/update-codemaps.md +72 -0
- package/templates/ecc/commands/update-docs.md +84 -0
- package/templates/ecc/commands/verify.md +59 -0
- package/templates/ecc/rules/README.md +82 -0
- package/templates/ecc/rules/common/agents.md +49 -0
- package/templates/ecc/rules/common/coding-style.md +48 -0
- package/templates/ecc/rules/common/git-workflow.md +45 -0
- package/templates/ecc/rules/common/hooks.md +30 -0
- package/templates/ecc/rules/common/patterns.md +31 -0
- package/templates/ecc/rules/common/performance.md +55 -0
- package/templates/ecc/rules/common/security.md +29 -0
- package/templates/ecc/rules/common/testing.md +29 -0
- package/templates/ecc/rules/golang/coding-style.md +32 -0
- package/templates/ecc/rules/golang/hooks.md +17 -0
- package/templates/ecc/rules/golang/patterns.md +45 -0
- package/templates/ecc/rules/golang/security.md +34 -0
- package/templates/ecc/rules/golang/testing.md +31 -0
- package/templates/ecc/rules/python/coding-style.md +42 -0
- package/templates/ecc/rules/python/hooks.md +19 -0
- package/templates/ecc/rules/python/patterns.md +39 -0
- package/templates/ecc/rules/python/security.md +30 -0
- package/templates/ecc/rules/python/testing.md +38 -0
- package/templates/ecc/rules/typescript/coding-style.md +65 -0
- package/templates/ecc/rules/typescript/hooks.md +22 -0
- package/templates/ecc/rules/typescript/patterns.md +52 -0
- package/templates/ecc/rules/typescript/security.md +28 -0
- package/templates/ecc/rules/typescript/testing.md +18 -0
- package/templates/ecc/skills/api-design/SKILL.md +522 -0
- package/templates/ecc/skills/backend-patterns/SKILL.md +597 -0
- package/templates/ecc/skills/clickhouse-io/SKILL.md +438 -0
- package/templates/ecc/skills/coding-standards/SKILL.md +529 -0
- package/templates/ecc/skills/configure-ecc/SKILL.md +298 -0
- package/templates/ecc/skills/content-hash-cache-pattern/SKILL.md +160 -0
- package/templates/ecc/skills/continuous-learning/SKILL.md +118 -0
- package/templates/ecc/skills/continuous-learning/config.json +18 -0
- package/templates/ecc/skills/continuous-learning/evaluate-session.sh +69 -0
- package/templates/ecc/skills/continuous-learning-v2/SKILL.md +292 -0
- package/templates/ecc/skills/continuous-learning-v2/agents/observer.md +137 -0
- package/templates/ecc/skills/continuous-learning-v2/agents/start-observer.sh +143 -0
- package/templates/ecc/skills/continuous-learning-v2/config.json +41 -0
- package/templates/ecc/skills/continuous-learning-v2/hooks/observe.sh +157 -0
- package/templates/ecc/skills/continuous-learning-v2/scripts/instinct-cli.py +575 -0
- package/templates/ecc/skills/continuous-learning-v2/scripts/test_parse_instinct.py +82 -0
- package/templates/ecc/skills/cost-aware-llm-pipeline/SKILL.md +182 -0
- package/templates/ecc/skills/cpp-coding-standards/SKILL.md +722 -0
- package/templates/ecc/skills/cpp-testing/SKILL.md +322 -0
- package/templates/ecc/skills/database-migrations/SKILL.md +334 -0
- package/templates/ecc/skills/deployment-patterns/SKILL.md +426 -0
- package/templates/ecc/skills/django-patterns/SKILL.md +733 -0
- package/templates/ecc/skills/django-security/SKILL.md +592 -0
- package/templates/ecc/skills/django-tdd/SKILL.md +728 -0
- package/templates/ecc/skills/django-verification/SKILL.md +468 -0
- package/templates/ecc/skills/docker-patterns/SKILL.md +363 -0
- package/templates/ecc/skills/e2e-testing/SKILL.md +325 -0
- package/templates/ecc/skills/eval-harness/SKILL.md +235 -0
- package/templates/ecc/skills/frontend-patterns/SKILL.md +641 -0
- package/templates/ecc/skills/golang-patterns/SKILL.md +673 -0
- package/templates/ecc/skills/golang-testing/SKILL.md +719 -0
- package/templates/ecc/skills/iterative-retrieval/SKILL.md +210 -0
- package/templates/ecc/skills/java-coding-standards/SKILL.md +146 -0
- package/templates/ecc/skills/jpa-patterns/SKILL.md +150 -0
- package/templates/ecc/skills/nutrient-document-processing/SKILL.md +165 -0
- package/templates/ecc/skills/postgres-patterns/SKILL.md +146 -0
- package/templates/ecc/skills/project-guidelines-example/SKILL.md +348 -0
- package/templates/ecc/skills/python-patterns/SKILL.md +749 -0
- package/templates/ecc/skills/python-testing/SKILL.md +815 -0
- package/templates/ecc/skills/regex-vs-llm-structured-text/SKILL.md +219 -0
- package/templates/ecc/skills/search-first/SKILL.md +159 -0
- package/templates/ecc/skills/security-review/SKILL.md +494 -0
- package/templates/ecc/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/templates/ecc/skills/security-scan/SKILL.md +164 -0
- package/templates/ecc/skills/springboot-patterns/SKILL.md +313 -0
- package/templates/ecc/skills/springboot-security/SKILL.md +271 -0
- package/templates/ecc/skills/springboot-tdd/SKILL.md +157 -0
- package/templates/ecc/skills/springboot-verification/SKILL.md +230 -0
- package/templates/ecc/skills/strategic-compact/SKILL.md +102 -0
- package/templates/ecc/skills/strategic-compact/suggest-compact.sh +54 -0
- package/templates/ecc/skills/swift-actor-persistence/SKILL.md +142 -0
- package/templates/ecc/skills/swift-protocol-di-testing/SKILL.md +189 -0
- package/templates/ecc/skills/tdd-workflow/SKILL.md +409 -0
- package/templates/ecc/skills/verification-loop/SKILL.md +125 -0
- package/templates/ext-skills/pinchtab/SKILL.md +570 -0
- package/templates/mcp/claude-code/.mcp.json +35 -0
- package/templates/mcp/trae/mcp.json +35 -0
- package/templates/trae-bmad/rules/bmad-agent-bmad-master.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-analyst.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-architect.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-dev.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-pm.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-qa.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-quick-flow-solo-dev.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-sm.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-tech-writer.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-bmm-ux-designer.md +15 -0
- package/templates/trae-bmad/rules/bmad-agent-tea-tea.md +15 -0
- package/templates/trae-bmad/rules/bmad-bmm-check-implementation-readiness.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-code-review.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-correct-course.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-create-architecture.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-create-epics-and-stories.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-create-prd.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-create-product-brief.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-create-story.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-create-ux-design.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-dev-story.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-document-project.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-domain-research.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-edit-prd.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-generate-project-context.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-market-research.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-qa-automate.md +15 -0
- package/templates/trae-bmad/rules/bmad-bmm-qa-generate-e2e-tests.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-quick-dev.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-quick-spec.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-retrospective.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-sprint-planning.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-sprint-status.md +14 -0
- package/templates/trae-bmad/rules/bmad-bmm-technical-research.md +6 -0
- package/templates/trae-bmad/rules/bmad-bmm-validate-prd.md +6 -0
- package/templates/trae-bmad/rules/bmad-brainstorming.md +6 -0
- package/templates/trae-bmad/rules/bmad-editorial-review-prose.md +10 -0
- package/templates/trae-bmad/rules/bmad-editorial-review-structure.md +10 -0
- package/templates/trae-bmad/rules/bmad-help.md +10 -0
- package/templates/trae-bmad/rules/bmad-index-docs.md +10 -0
- package/templates/trae-bmad/rules/bmad-party-mode.md +6 -0
- package/templates/trae-bmad/rules/bmad-review-adversarial-general.md +10 -0
- package/templates/trae-bmad/rules/bmad-shard-doc.md +10 -0
- package/templates/trae-bmad/rules/bmad-tea-teach-me-testing.md +6 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-atdd.md +14 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-automate.md +14 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-ci.md +14 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-framework.md +14 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-nfr.md +14 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-design.md +14 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-review.md +14 -0
- package/templates/trae-bmad/rules/bmad-tea-testarch-trace.md +14 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-03b-subprocess-e2e'
|
|
3
|
+
description: 'Subprocess: Generate E2E tests only'
|
|
4
|
+
subprocess: true
|
|
5
|
+
outputFile: '/tmp/tea-automate-e2e-tests-{{timestamp}}.json'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Subprocess 3B: Generate E2E Tests
|
|
9
|
+
|
|
10
|
+
## SUBPROCESS CONTEXT
|
|
11
|
+
|
|
12
|
+
This is an **isolated subprocess** running in parallel with API test generation.
|
|
13
|
+
|
|
14
|
+
**What you have from parent workflow:**
|
|
15
|
+
|
|
16
|
+
- Target features/user journeys identified in Step 2
|
|
17
|
+
- Knowledge fragments loaded: fixture-architecture, network-first, selector-resilience
|
|
18
|
+
- Config: test framework, Playwright Utils enabled/disabled
|
|
19
|
+
- Coverage plan: which user journeys need E2E testing
|
|
20
|
+
|
|
21
|
+
**Your task:** Generate E2E tests ONLY (not API, not fixtures, not other test types).
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## MANDATORY EXECUTION RULES
|
|
26
|
+
|
|
27
|
+
- 📖 Read this entire subprocess file before acting
|
|
28
|
+
- ✅ Generate E2E tests ONLY
|
|
29
|
+
- ✅ Output structured JSON to temp file
|
|
30
|
+
- ✅ Follow knowledge fragment patterns
|
|
31
|
+
- ❌ Do NOT generate API tests (that's subprocess 3A)
|
|
32
|
+
- ❌ Do NOT run tests (that's step 4)
|
|
33
|
+
- ❌ Do NOT generate fixtures yet (that's step 3C aggregation)
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## SUBPROCESS TASK
|
|
38
|
+
|
|
39
|
+
### 1. Identify User Journeys
|
|
40
|
+
|
|
41
|
+
From the coverage plan (Step 2 output), identify:
|
|
42
|
+
|
|
43
|
+
- Which user journeys need E2E coverage
|
|
44
|
+
- Critical user paths (authentication, checkout, profile, etc.)
|
|
45
|
+
- UI interactions required
|
|
46
|
+
- Expected visual states
|
|
47
|
+
|
|
48
|
+
### 2. Browser Interaction (Selector Verification)
|
|
49
|
+
|
|
50
|
+
**Automation mode:** `config.tea_browser_automation`
|
|
51
|
+
|
|
52
|
+
If `auto` (fall back to MCP if CLI unavailable; if neither available, generate from best practices):
|
|
53
|
+
|
|
54
|
+
- Open the target page first, then verify selectors with a snapshot:
|
|
55
|
+
`playwright-cli -s=tea-automate-{{timestamp}} open <target_url>`
|
|
56
|
+
`playwright-cli -s=tea-automate-{{timestamp}} snapshot` → map refs to Playwright locators
|
|
57
|
+
- ref `{role: "button", name: "Submit"}` → `page.getByRole('button', { name: 'Submit' })`
|
|
58
|
+
- ref `{role: "textbox", name: "Email"}` → `page.getByRole('textbox', { name: 'Email' })`
|
|
59
|
+
- `playwright-cli -s=tea-automate-{{timestamp}} close` when done
|
|
60
|
+
|
|
61
|
+
If `cli` (CLI only — do NOT fall back to MCP; generate from best practices if CLI unavailable):
|
|
62
|
+
|
|
63
|
+
- Open the target page first, then verify selectors with a snapshot:
|
|
64
|
+
`playwright-cli -s=tea-automate-{{timestamp}} open <target_url>`
|
|
65
|
+
`playwright-cli -s=tea-automate-{{timestamp}} snapshot` → map refs to Playwright locators
|
|
66
|
+
- ref `{role: "button", name: "Submit"}` → `page.getByRole('button', { name: 'Submit' })`
|
|
67
|
+
- ref `{role: "textbox", name: "Email"}` → `page.getByRole('textbox', { name: 'Email' })`
|
|
68
|
+
- `playwright-cli -s=tea-automate-{{timestamp}} close` when done
|
|
69
|
+
|
|
70
|
+
> **Session Hygiene:** Always close sessions using `playwright-cli -s=tea-automate-{{timestamp}} close`. Do NOT use `close-all` — it kills every session on the machine and breaks parallel execution.
|
|
71
|
+
|
|
72
|
+
If `mcp`:
|
|
73
|
+
|
|
74
|
+
- Use MCP tools for selector verification (current behavior)
|
|
75
|
+
|
|
76
|
+
If `none`:
|
|
77
|
+
|
|
78
|
+
- Generate selectors from best practices without browser verification
|
|
79
|
+
|
|
80
|
+
### 3. Generate E2E Test Files
|
|
81
|
+
|
|
82
|
+
For each user journey, create test file in `tests/e2e/[feature].spec.ts`:
|
|
83
|
+
|
|
84
|
+
**Test Structure:**
|
|
85
|
+
|
|
86
|
+
```typescript
|
|
87
|
+
import { test, expect } from '@playwright/test';
|
|
88
|
+
|
|
89
|
+
test.describe('[Feature] E2E User Journey', () => {
|
|
90
|
+
test('[P0] should complete [user journey]', async ({ page }) => {
|
|
91
|
+
// Navigate to starting point
|
|
92
|
+
await page.goto('/feature');
|
|
93
|
+
|
|
94
|
+
// Interact with UI
|
|
95
|
+
await page.getByRole('button', { name: 'Submit' }).click();
|
|
96
|
+
|
|
97
|
+
// Assert expected state
|
|
98
|
+
await expect(page.getByText('Success')).toBeVisible();
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
test('[P1] should handle [edge case]', async ({ page }) => {
|
|
102
|
+
// Test edge case scenario
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Requirements:**
|
|
108
|
+
|
|
109
|
+
- ✅ Follow fixture architecture patterns (from fixture-architecture fragment)
|
|
110
|
+
- ✅ Use network-first patterns: intercept before navigate (from network-first fragment)
|
|
111
|
+
- ✅ Use resilient selectors: getByRole, getByText, getByLabel (from selector-resilience fragment)
|
|
112
|
+
- ✅ Include priority tags [P0], [P1], [P2], [P3]
|
|
113
|
+
- ✅ Test complete user journeys (not isolated clicks)
|
|
114
|
+
- ✅ Use proper TypeScript types
|
|
115
|
+
- ✅ Deterministic waits (no hard sleeps, use expect().toBeVisible())
|
|
116
|
+
|
|
117
|
+
### 4. Track Fixture Needs
|
|
118
|
+
|
|
119
|
+
Identify fixtures needed for E2E tests:
|
|
120
|
+
|
|
121
|
+
- Page object models (if complex)
|
|
122
|
+
- Authentication fixtures (logged-in user state)
|
|
123
|
+
- Network mocks/intercepts
|
|
124
|
+
- Test data fixtures
|
|
125
|
+
|
|
126
|
+
**Do NOT create fixtures yet** - just track what's needed for aggregation step.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## OUTPUT FORMAT
|
|
131
|
+
|
|
132
|
+
Write JSON to temp file: `/tmp/tea-automate-e2e-tests-{{timestamp}}.json`
|
|
133
|
+
|
|
134
|
+
```json
|
|
135
|
+
{
|
|
136
|
+
"success": true,
|
|
137
|
+
"subprocess": "e2e-tests",
|
|
138
|
+
"tests": [
|
|
139
|
+
{
|
|
140
|
+
"file": "tests/e2e/authentication.spec.ts",
|
|
141
|
+
"content": "[full TypeScript test file content]",
|
|
142
|
+
"description": "E2E tests for user authentication journey",
|
|
143
|
+
"priority_coverage": {
|
|
144
|
+
"P0": 2,
|
|
145
|
+
"P1": 3,
|
|
146
|
+
"P2": 2,
|
|
147
|
+
"P3": 0
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"file": "tests/e2e/checkout.spec.ts",
|
|
152
|
+
"content": "[full TypeScript test file content]",
|
|
153
|
+
"description": "E2E tests for checkout journey",
|
|
154
|
+
"priority_coverage": {
|
|
155
|
+
"P0": 3,
|
|
156
|
+
"P1": 2,
|
|
157
|
+
"P2": 1,
|
|
158
|
+
"P3": 0
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
"fixture_needs": ["authenticatedUserFixture", "paymentMockFixture", "checkoutDataFixture"],
|
|
163
|
+
"knowledge_fragments_used": ["fixture-architecture", "network-first", "selector-resilience"],
|
|
164
|
+
"test_count": 15,
|
|
165
|
+
"summary": "Generated 15 E2E test cases covering 5 user journeys"
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**On Error:**
|
|
170
|
+
|
|
171
|
+
```json
|
|
172
|
+
{
|
|
173
|
+
"success": false,
|
|
174
|
+
"subprocess": "e2e-tests",
|
|
175
|
+
"error": "Error message describing what went wrong",
|
|
176
|
+
"partial_output": {
|
|
177
|
+
/* any tests generated before error */
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## EXIT CONDITION
|
|
185
|
+
|
|
186
|
+
Subprocess completes when:
|
|
187
|
+
|
|
188
|
+
- ✅ All user journeys have E2E test files generated
|
|
189
|
+
- ✅ All tests follow knowledge fragment patterns
|
|
190
|
+
- ✅ JSON output written to temp file
|
|
191
|
+
- ✅ Fixture needs tracked
|
|
192
|
+
|
|
193
|
+
**Subprocess terminates here.** Parent workflow will read output and proceed to aggregation.
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 🚨 SUBPROCESS SUCCESS METRICS
|
|
198
|
+
|
|
199
|
+
### ✅ SUCCESS:
|
|
200
|
+
|
|
201
|
+
- All E2E tests generated following patterns
|
|
202
|
+
- JSON output valid and complete
|
|
203
|
+
- No API/component/unit tests included (out of scope)
|
|
204
|
+
- Resilient selectors used (getByRole, getByText)
|
|
205
|
+
- Network-first patterns applied (intercept before navigate)
|
|
206
|
+
|
|
207
|
+
### ❌ FAILURE:
|
|
208
|
+
|
|
209
|
+
- Generated tests other than E2E tests
|
|
210
|
+
- Did not follow knowledge fragment patterns
|
|
211
|
+
- Invalid or missing JSON output
|
|
212
|
+
- Ran tests (not subprocess responsibility)
|
|
213
|
+
- Used brittle selectors (CSS classes, XPath)
|
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-03c-aggregate'
|
|
3
|
+
description: 'Aggregate subprocess outputs and complete test infrastructure'
|
|
4
|
+
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
|
+
nextStepFile: './step-04-validate-and-summarize.md'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 3C: Aggregate Test Generation Results
|
|
9
|
+
|
|
10
|
+
## STEP GOAL
|
|
11
|
+
|
|
12
|
+
Read outputs from parallel subprocesses (API + E2E and/or Backend test generation based on `{detected_stack}`), aggregate results, and create supporting infrastructure (fixtures, helpers).
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## MANDATORY EXECUTION RULES
|
|
17
|
+
|
|
18
|
+
- 📖 Read the entire step file before acting
|
|
19
|
+
- ✅ Speak in `{communication_language}`
|
|
20
|
+
- ✅ Read subprocess outputs from temp files
|
|
21
|
+
- ✅ Generate shared fixtures based on fixture needs from both subprocesses
|
|
22
|
+
- ✅ Write all generated test files to disk
|
|
23
|
+
- ❌ Do NOT regenerate tests (use subprocess outputs)
|
|
24
|
+
- ❌ Do NOT run tests yet (that's step 4)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## EXECUTION PROTOCOLS:
|
|
29
|
+
|
|
30
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
31
|
+
- 💾 Record outputs before proceeding
|
|
32
|
+
- 📖 Load the next step only when instructed
|
|
33
|
+
|
|
34
|
+
## CONTEXT BOUNDARIES:
|
|
35
|
+
|
|
36
|
+
- Available context: config, subprocess outputs from temp files
|
|
37
|
+
- Focus: aggregation and fixture generation only
|
|
38
|
+
- Limits: do not execute future steps
|
|
39
|
+
- Dependencies: Step 3A and 3B subprocess outputs
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## MANDATORY SEQUENCE
|
|
44
|
+
|
|
45
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
46
|
+
|
|
47
|
+
### 1. Read Subprocess Outputs
|
|
48
|
+
|
|
49
|
+
**Read API test subprocess output (always):**
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
const apiTestsPath = '/tmp/tea-automate-api-tests-{{timestamp}}.json';
|
|
53
|
+
const apiTestsOutput = JSON.parse(fs.readFileSync(apiTestsPath, 'utf8'));
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Read E2E test subprocess output (if {detected_stack} is `frontend` or `fullstack`):**
|
|
57
|
+
|
|
58
|
+
```javascript
|
|
59
|
+
let e2eTestsOutput = null;
|
|
60
|
+
if (detected_stack === 'frontend' || detected_stack === 'fullstack') {
|
|
61
|
+
const e2eTestsPath = '/tmp/tea-automate-e2e-tests-{{timestamp}}.json';
|
|
62
|
+
e2eTestsOutput = JSON.parse(fs.readFileSync(e2eTestsPath, 'utf8'));
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Read Backend test subprocess output (if {detected_stack} is `backend` or `fullstack`):**
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
let backendTestsOutput = null;
|
|
70
|
+
if (detected_stack === 'backend' || detected_stack === 'fullstack') {
|
|
71
|
+
const backendTestsPath = '/tmp/tea-automate-backend-tests-{{timestamp}}.json';
|
|
72
|
+
backendTestsOutput = JSON.parse(fs.readFileSync(backendTestsPath, 'utf8'));
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Verify all launched subprocesses succeeded:**
|
|
77
|
+
|
|
78
|
+
- Check `apiTestsOutput.success === true`
|
|
79
|
+
- If E2E was launched: check `e2eTestsOutput.success === true`
|
|
80
|
+
- If Backend was launched: check `backendTestsOutput.success === true`
|
|
81
|
+
- If any failed, report error and stop (don't proceed)
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### 2. Write All Test Files to Disk
|
|
86
|
+
|
|
87
|
+
**Write API test files:**
|
|
88
|
+
|
|
89
|
+
```javascript
|
|
90
|
+
apiTestsOutput.tests.forEach((test) => {
|
|
91
|
+
fs.writeFileSync(test.file, test.content, 'utf8');
|
|
92
|
+
console.log(`✅ Created: ${test.file}`);
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Write E2E test files (if {detected_stack} is `frontend` or `fullstack`):**
|
|
97
|
+
|
|
98
|
+
```javascript
|
|
99
|
+
if (e2eTestsOutput) {
|
|
100
|
+
e2eTestsOutput.tests.forEach((test) => {
|
|
101
|
+
fs.writeFileSync(test.file, test.content, 'utf8');
|
|
102
|
+
console.log(`✅ Created: ${test.file}`);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Write Backend test files (if {detected_stack} is `backend` or `fullstack`):**
|
|
108
|
+
|
|
109
|
+
```javascript
|
|
110
|
+
if (backendTestsOutput) {
|
|
111
|
+
backendTestsOutput.testsGenerated.forEach((test) => {
|
|
112
|
+
fs.writeFileSync(test.file, test.content, 'utf8');
|
|
113
|
+
console.log(`✅ Created: ${test.file}`);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### 3. Aggregate Fixture Needs
|
|
121
|
+
|
|
122
|
+
**Collect all fixture needs from all launched subprocesses:**
|
|
123
|
+
|
|
124
|
+
```javascript
|
|
125
|
+
const allFixtureNeeds = [
|
|
126
|
+
...apiTestsOutput.fixture_needs,
|
|
127
|
+
...(e2eTestsOutput ? e2eTestsOutput.fixture_needs : []),
|
|
128
|
+
...(backendTestsOutput ? backendTestsOutput.coverageSummary?.fixtureNeeds || [] : []),
|
|
129
|
+
];
|
|
130
|
+
|
|
131
|
+
// Remove duplicates
|
|
132
|
+
const uniqueFixtures = [...new Set(allFixtureNeeds)];
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Categorize fixtures:**
|
|
136
|
+
|
|
137
|
+
- **Authentication fixtures:** authToken, authenticatedUserFixture, etc.
|
|
138
|
+
- **Data factories:** userDataFactory, productDataFactory, etc.
|
|
139
|
+
- **Network mocks:** paymentMockFixture, apiResponseMocks, etc.
|
|
140
|
+
- **Test helpers:** wait/retry/assertion helpers
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### 4. Generate Fixture Infrastructure
|
|
145
|
+
|
|
146
|
+
**Create or update fixture files based on needs:**
|
|
147
|
+
|
|
148
|
+
**A) Authentication Fixtures** (`tests/fixtures/auth.ts`):
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
import { test as base } from '@playwright/test';
|
|
152
|
+
|
|
153
|
+
export const test = base.extend({
|
|
154
|
+
authenticatedUser: async ({ page }, use) => {
|
|
155
|
+
// Login logic
|
|
156
|
+
await page.goto('/login');
|
|
157
|
+
await page.fill('[name="email"]', 'test@example.com');
|
|
158
|
+
await page.fill('[name="password"]', 'password');
|
|
159
|
+
await page.click('button[type="submit"]');
|
|
160
|
+
await page.waitForURL('/dashboard');
|
|
161
|
+
|
|
162
|
+
await use(page);
|
|
163
|
+
},
|
|
164
|
+
|
|
165
|
+
authToken: async ({ request }, use) => {
|
|
166
|
+
// Get auth token for API tests
|
|
167
|
+
const response = await request.post('/api/auth/login', {
|
|
168
|
+
data: { email: 'test@example.com', password: 'password' },
|
|
169
|
+
});
|
|
170
|
+
const { token } = await response.json();
|
|
171
|
+
|
|
172
|
+
await use(token);
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**B) Data Factories** (`tests/fixtures/data-factories.ts`):
|
|
178
|
+
|
|
179
|
+
```typescript
|
|
180
|
+
import { faker } from '@faker-js/faker';
|
|
181
|
+
|
|
182
|
+
export const createUserData = (overrides = {}) => ({
|
|
183
|
+
name: faker.person.fullName(),
|
|
184
|
+
email: faker.internet.email(),
|
|
185
|
+
...overrides,
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
export const createProductData = (overrides = {}) => ({
|
|
189
|
+
name: faker.commerce.productName(),
|
|
190
|
+
price: faker.number.int({ min: 10, max: 1000 }),
|
|
191
|
+
...overrides,
|
|
192
|
+
});
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**C) Network Mocks** (`tests/fixtures/network-mocks.ts`):
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
import { Page } from '@playwright/test';
|
|
199
|
+
|
|
200
|
+
export const mockPaymentSuccess = async (page: Page) => {
|
|
201
|
+
await page.route('/api/payment/**', (route) => {
|
|
202
|
+
route.fulfill({
|
|
203
|
+
status: 200,
|
|
204
|
+
body: JSON.stringify({ success: true, transactionId: '12345' }),
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**D) Helper Utilities** (`tests/fixtures/helpers.ts`):
|
|
211
|
+
|
|
212
|
+
```typescript
|
|
213
|
+
import { expect, Page } from '@playwright/test';
|
|
214
|
+
|
|
215
|
+
export const waitForApiResponse = async (page: Page, urlPattern: string) => {
|
|
216
|
+
return page.waitForResponse((response) => response.url().includes(urlPattern) && response.ok());
|
|
217
|
+
};
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
### 5. Calculate Summary Statistics
|
|
223
|
+
|
|
224
|
+
**Aggregate test counts (based on `{detected_stack}`):**
|
|
225
|
+
|
|
226
|
+
```javascript
|
|
227
|
+
const e2eCount = e2eTestsOutput ? e2eTestsOutput.test_count : 0;
|
|
228
|
+
const backendCount = backendTestsOutput ? (backendTestsOutput.coverageSummary?.totalTests ?? 0) : 0;
|
|
229
|
+
|
|
230
|
+
const summary = {
|
|
231
|
+
detected_stack: '{detected_stack}',
|
|
232
|
+
total_tests: apiTestsOutput.test_count + e2eCount + backendCount,
|
|
233
|
+
api_tests: apiTestsOutput.test_count,
|
|
234
|
+
e2e_tests: e2eCount,
|
|
235
|
+
backend_tests: backendCount,
|
|
236
|
+
fixtures_created: uniqueFixtures.length,
|
|
237
|
+
api_test_files: apiTestsOutput.tests.length,
|
|
238
|
+
e2e_test_files: e2eTestsOutput ? e2eTestsOutput.tests.length : 0,
|
|
239
|
+
backend_test_files: backendTestsOutput ? backendTestsOutput.testsGenerated.length : 0,
|
|
240
|
+
priority_coverage: {
|
|
241
|
+
P0:
|
|
242
|
+
(apiTestsOutput.priority_coverage?.P0 ?? 0) +
|
|
243
|
+
(e2eTestsOutput?.priority_coverage?.P0 ?? 0) +
|
|
244
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P0 ?? 0), 0) ?? 0),
|
|
245
|
+
P1:
|
|
246
|
+
(apiTestsOutput.priority_coverage?.P1 ?? 0) +
|
|
247
|
+
(e2eTestsOutput?.priority_coverage?.P1 ?? 0) +
|
|
248
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P1 ?? 0), 0) ?? 0),
|
|
249
|
+
P2:
|
|
250
|
+
(apiTestsOutput.priority_coverage?.P2 ?? 0) +
|
|
251
|
+
(e2eTestsOutput?.priority_coverage?.P2 ?? 0) +
|
|
252
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P2 ?? 0), 0) ?? 0),
|
|
253
|
+
P3:
|
|
254
|
+
(apiTestsOutput.priority_coverage?.P3 ?? 0) +
|
|
255
|
+
(e2eTestsOutput?.priority_coverage?.P3 ?? 0) +
|
|
256
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P3 ?? 0), 0) ?? 0),
|
|
257
|
+
},
|
|
258
|
+
knowledge_fragments_used: [
|
|
259
|
+
...apiTestsOutput.knowledge_fragments_used,
|
|
260
|
+
...(e2eTestsOutput ? e2eTestsOutput.knowledge_fragments_used : []),
|
|
261
|
+
...(backendTestsOutput ? backendTestsOutput.knowledge_fragments_used || [] : []),
|
|
262
|
+
],
|
|
263
|
+
subprocess_execution: `PARALLEL (based on ${detected_stack})`,
|
|
264
|
+
performance_gain: '~40-70% faster than sequential',
|
|
265
|
+
};
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Store summary for Step 4:**
|
|
269
|
+
Save summary to temp file for validation step:
|
|
270
|
+
|
|
271
|
+
```javascript
|
|
272
|
+
fs.writeFileSync('/tmp/tea-automate-summary-{{timestamp}}.json', JSON.stringify(summary, null, 2), 'utf8');
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
### 6. Optional Cleanup
|
|
278
|
+
|
|
279
|
+
**Clean up subprocess temp files** (optional - can keep for debugging):
|
|
280
|
+
|
|
281
|
+
```javascript
|
|
282
|
+
fs.unlinkSync(apiTestsPath);
|
|
283
|
+
if (e2eTestsOutput) fs.unlinkSync('/tmp/tea-automate-e2e-tests-{{timestamp}}.json');
|
|
284
|
+
if (backendTestsOutput) fs.unlinkSync('/tmp/tea-automate-backend-tests-{{timestamp}}.json');
|
|
285
|
+
console.log('✅ Subprocess temp files cleaned up');
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## OUTPUT SUMMARY
|
|
291
|
+
|
|
292
|
+
Display to user:
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
✅ Test Generation Complete (Parallel Execution)
|
|
296
|
+
|
|
297
|
+
📊 Summary:
|
|
298
|
+
- Stack Type: {detected_stack}
|
|
299
|
+
- Total Tests: {total_tests}
|
|
300
|
+
- API Tests: {api_tests} ({api_test_files} files)
|
|
301
|
+
- E2E Tests: {e2e_tests} ({e2e_test_files} files) [if frontend/fullstack]
|
|
302
|
+
- Backend Tests: {backend_tests} ({backend_test_files} files) [if backend/fullstack]
|
|
303
|
+
- Fixtures Created: {fixtures_created}
|
|
304
|
+
- Priority Coverage:
|
|
305
|
+
- P0 (Critical): {P0} tests
|
|
306
|
+
- P1 (High): {P1} tests
|
|
307
|
+
- P2 (Medium): {P2} tests
|
|
308
|
+
- P3 (Low): {P3} tests
|
|
309
|
+
|
|
310
|
+
🚀 Performance: Parallel execution ~40-70% faster than sequential
|
|
311
|
+
|
|
312
|
+
📂 Generated Files:
|
|
313
|
+
- tests/api/[feature].spec.ts [always]
|
|
314
|
+
- tests/e2e/[feature].spec.ts [if frontend/fullstack]
|
|
315
|
+
- tests/unit/[feature].test.* [if backend/fullstack]
|
|
316
|
+
- tests/integration/[feature].test.* [if backend/fullstack]
|
|
317
|
+
- tests/fixtures/ or tests/support/ [shared infrastructure]
|
|
318
|
+
|
|
319
|
+
✅ Ready for validation (Step 4)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## EXIT CONDITION
|
|
325
|
+
|
|
326
|
+
Proceed to Step 4 when:
|
|
327
|
+
|
|
328
|
+
- ✅ All test files written to disk (API + E2E and/or Backend, based on `{detected_stack}`)
|
|
329
|
+
- ✅ All fixtures and helpers created
|
|
330
|
+
- ✅ Summary statistics calculated and saved
|
|
331
|
+
- ✅ Output displayed to user
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
### 7. Save Progress
|
|
336
|
+
|
|
337
|
+
**Save this step's accumulated work to `{outputFile}`.**
|
|
338
|
+
|
|
339
|
+
- **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
|
|
340
|
+
|
|
341
|
+
```yaml
|
|
342
|
+
---
|
|
343
|
+
stepsCompleted: ['step-03c-aggregate']
|
|
344
|
+
lastStep: 'step-03c-aggregate'
|
|
345
|
+
lastSaved: '{date}'
|
|
346
|
+
---
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
Then write this step's output below the frontmatter.
|
|
350
|
+
|
|
351
|
+
- **If `{outputFile}` already exists**, update:
|
|
352
|
+
- Add `'step-03c-aggregate'` to `stepsCompleted` array (only if not already present)
|
|
353
|
+
- Set `lastStep: 'step-03c-aggregate'`
|
|
354
|
+
- Set `lastSaved: '{date}'`
|
|
355
|
+
- Append this step's output to the appropriate section.
|
|
356
|
+
|
|
357
|
+
Load next step: `{nextStepFile}`
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
362
|
+
|
|
363
|
+
### ✅ SUCCESS:
|
|
364
|
+
|
|
365
|
+
- All launched subprocesses succeeded (based on `{detected_stack}`)
|
|
366
|
+
- All test files written to disk
|
|
367
|
+
- Fixtures generated based on subprocess needs
|
|
368
|
+
- Summary complete and accurate
|
|
369
|
+
|
|
370
|
+
### ❌ SYSTEM FAILURE:
|
|
371
|
+
|
|
372
|
+
- One or more subprocesses failed
|
|
373
|
+
- Test files not written to disk
|
|
374
|
+
- Fixtures missing or incomplete
|
|
375
|
+
- Summary missing or inaccurate
|
|
376
|
+
|
|
377
|
+
**Master Rule:** Do NOT proceed to Step 4 if aggregation incomplete.
|
package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-04-validate-and-summarize'
|
|
3
|
+
description: 'Validate outputs and produce automation summary'
|
|
4
|
+
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 4: Validate & Summarize
|
|
8
|
+
|
|
9
|
+
## STEP GOAL
|
|
10
|
+
|
|
11
|
+
Validate generated outputs and produce a concise automation summary.
|
|
12
|
+
|
|
13
|
+
## MANDATORY EXECUTION RULES
|
|
14
|
+
|
|
15
|
+
- 📖 Read the entire step file before acting
|
|
16
|
+
- ✅ Speak in `{communication_language}`
|
|
17
|
+
- ✅ Validate against the checklist before completion
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## EXECUTION PROTOCOLS:
|
|
22
|
+
|
|
23
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
24
|
+
- 💾 Record outputs before proceeding
|
|
25
|
+
- 📖 Load the next step only when instructed
|
|
26
|
+
|
|
27
|
+
## CONTEXT BOUNDARIES:
|
|
28
|
+
|
|
29
|
+
- Available context: config, loaded artifacts, and knowledge fragments
|
|
30
|
+
- Focus: this step's goal only
|
|
31
|
+
- Limits: do not execute future steps
|
|
32
|
+
- Dependencies: prior steps' outputs (if any)
|
|
33
|
+
|
|
34
|
+
## MANDATORY SEQUENCE
|
|
35
|
+
|
|
36
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
37
|
+
|
|
38
|
+
## 1. Validate
|
|
39
|
+
|
|
40
|
+
Use `checklist.md` to validate:
|
|
41
|
+
|
|
42
|
+
- Framework readiness
|
|
43
|
+
- Coverage mapping
|
|
44
|
+
- Test quality and structure
|
|
45
|
+
- Fixtures, factories, helpers
|
|
46
|
+
- [ ] CLI sessions cleaned up (no orphaned browsers)
|
|
47
|
+
- [ ] Temp artifacts stored in `{test_artifacts}/` not random locations
|
|
48
|
+
|
|
49
|
+
Fix gaps before proceeding.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 2. Polish Output
|
|
54
|
+
|
|
55
|
+
Before finalizing, review the complete output document for quality:
|
|
56
|
+
|
|
57
|
+
1. **Remove duplication**: Progressive-append workflow may have created repeated sections — consolidate
|
|
58
|
+
2. **Verify consistency**: Ensure terminology, risk scores, and references are consistent throughout
|
|
59
|
+
3. **Check completeness**: All template sections should be populated or explicitly marked N/A
|
|
60
|
+
4. **Format cleanup**: Ensure markdown formatting is clean (tables aligned, headers consistent, no orphaned references)
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 3. Summary Output
|
|
65
|
+
|
|
66
|
+
Write `{outputFile}` including:
|
|
67
|
+
|
|
68
|
+
- Coverage plan by test level and priority
|
|
69
|
+
- Files created/updated
|
|
70
|
+
- Key assumptions and risks
|
|
71
|
+
- Next recommended workflow (e.g., `test-review` or `trace`)
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 4. Save Progress
|
|
76
|
+
|
|
77
|
+
**Save this step's accumulated work to `{outputFile}`.**
|
|
78
|
+
|
|
79
|
+
- **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
---
|
|
83
|
+
stepsCompleted: ['step-04-validate-and-summarize']
|
|
84
|
+
lastStep: 'step-04-validate-and-summarize'
|
|
85
|
+
lastSaved: '{date}'
|
|
86
|
+
---
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Then write this step's output below the frontmatter.
|
|
90
|
+
|
|
91
|
+
- **If `{outputFile}` already exists**, update:
|
|
92
|
+
- Add `'step-04-validate-and-summarize'` to `stepsCompleted` array (only if not already present)
|
|
93
|
+
- Set `lastStep: 'step-04-validate-and-summarize'`
|
|
94
|
+
- Set `lastSaved: '{date}'`
|
|
95
|
+
- Append this step's output to the appropriate section.
|
|
96
|
+
|
|
97
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
98
|
+
|
|
99
|
+
### ✅ SUCCESS:
|
|
100
|
+
|
|
101
|
+
- Step completed in full with required outputs
|
|
102
|
+
|
|
103
|
+
### ❌ SYSTEM FAILURE:
|
|
104
|
+
|
|
105
|
+
- Skipped sequence steps or missing outputs
|
|
106
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|