@cregis-dev/cckit 0.2.0 → 0.4.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/README.md +15 -3
- package/package.json +1 -1
- package/registry.json +234 -194
- package/src/commands/init.js +19 -15
- package/src/commands/update.js +9 -4
- package/src/core/plugin-installer.js +64 -23
- package/src/utils/fs.js +6 -1
- package/templates/bmad/_config/bmad-help.csv +2 -1
- package/templates/bmad/_config/files-manifest.csv +437 -431
- package/templates/bmad/_config/ides/claude-code.yaml +5 -5
- package/templates/bmad/_config/ides/trae.yaml +5 -5
- package/templates/bmad/_config/task-manifest.csv +7 -6
- package/templates/bmad/_config/workflow-manifest.csv +34 -34
- package/templates/bmad/bmm/agents/qa.md +1 -1
- package/templates/bmad/bmm/config.yaml +1 -1
- package/templates/bmad/bmm/module-help.csv +1 -1
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +1 -1
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +1 -1
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +1 -1
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +1 -1
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +1 -1
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +1 -1
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +1 -1
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +1 -1
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +1 -1
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +1 -1
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +1 -1
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +1 -1
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +1 -1
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/document-project/workflow.yaml +1 -1
- package/templates/bmad/bmm/workflows/generate-project-context/workflow.md +1 -1
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +2 -2
- package/templates/bmad/commands/bmad-bmm-check-implementation-readiness.md +2 -2
- package/templates/bmad/commands/bmad-bmm-code-review.md +4 -4
- package/templates/bmad/commands/bmad-bmm-correct-course.md +4 -4
- package/templates/bmad/commands/bmad-bmm-create-architecture.md +2 -2
- package/templates/bmad/commands/bmad-bmm-create-epics-and-stories.md +2 -2
- package/templates/bmad/commands/bmad-bmm-create-prd.md +2 -2
- package/templates/bmad/commands/bmad-bmm-create-product-brief.md +2 -2
- package/templates/bmad/commands/bmad-bmm-create-story.md +4 -4
- package/templates/bmad/commands/bmad-bmm-create-ux-design.md +2 -2
- package/templates/bmad/commands/bmad-bmm-dev-story.md +4 -4
- package/templates/bmad/commands/bmad-bmm-document-project.md +4 -4
- package/templates/bmad/commands/bmad-bmm-domain-research.md +2 -2
- package/templates/bmad/commands/bmad-bmm-edit-prd.md +2 -2
- package/templates/bmad/commands/bmad-bmm-generate-project-context.md +2 -2
- package/templates/bmad/commands/bmad-bmm-market-research.md +2 -2
- package/templates/bmad/commands/bmad-bmm-qa-generate-e2e-tests.md +4 -4
- package/templates/bmad/commands/bmad-bmm-quick-dev.md +2 -2
- package/templates/bmad/commands/bmad-bmm-quick-spec.md +2 -2
- package/templates/bmad/commands/bmad-bmm-retrospective.md +4 -4
- package/templates/bmad/commands/bmad-bmm-sprint-planning.md +4 -4
- package/templates/bmad/commands/bmad-bmm-sprint-status.md +4 -4
- package/templates/bmad/commands/bmad-bmm-technical-research.md +2 -2
- package/templates/bmad/commands/bmad-bmm-validate-prd.md +2 -2
- package/templates/bmad/commands/bmad-brainstorming.md +2 -2
- package/templates/bmad/commands/bmad-editorial-review-prose.md +1 -1
- package/templates/bmad/commands/bmad-editorial-review-structure.md +1 -1
- package/templates/bmad/commands/bmad-help.md +1 -1
- package/templates/bmad/commands/bmad-index-docs.md +1 -1
- package/templates/bmad/commands/bmad-party-mode.md +2 -2
- package/templates/bmad/commands/bmad-review-adversarial-general.md +1 -1
- package/templates/bmad/commands/bmad-review-edge-case-hunter.md +10 -0
- package/templates/bmad/commands/bmad-shard-doc.md +1 -1
- package/templates/bmad/commands/bmad-tea-teach-me-testing.md +2 -2
- package/templates/bmad/commands/bmad-tea-testarch-atdd.md +4 -4
- package/templates/bmad/commands/bmad-tea-testarch-automate.md +4 -4
- package/templates/bmad/commands/bmad-tea-testarch-ci.md +4 -4
- package/templates/bmad/commands/bmad-tea-testarch-framework.md +4 -4
- package/templates/bmad/commands/bmad-tea-testarch-nfr.md +4 -4
- package/templates/bmad/commands/bmad-tea-testarch-test-design.md +4 -4
- package/templates/bmad/commands/bmad-tea-testarch-test-review.md +4 -4
- package/templates/bmad/commands/bmad-tea-testarch-trace.md +4 -4
- package/templates/bmad/core/config.yaml +1 -1
- package/templates/bmad/core/module-help.csv +1 -0
- package/templates/bmad/core/tasks/editorial-review-prose.xml +1 -1
- package/templates/bmad/core/tasks/editorial-review-structure.xml +1 -1
- package/templates/bmad/core/tasks/help.md +1 -1
- package/templates/bmad/core/tasks/index-docs.xml +1 -1
- package/templates/bmad/core/tasks/review-adversarial-general.xml +1 -1
- package/templates/bmad/core/tasks/review-edge-case-hunter.xml +63 -0
- package/templates/bmad/core/tasks/shard-doc.xml +1 -1
- package/templates/bmad/core/workflows/advanced-elicitation/workflow.xml +1 -1
- package/templates/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +31 -18
- package/templates/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +1 -1
- package/templates/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +2 -2
- package/templates/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +2 -2
- package/templates/bmad/core/workflows/brainstorming/workflow.md +4 -2
- package/templates/bmad/core/workflows/party-mode/workflow.md +1 -1
- package/templates/bmad/tea/config.yaml +5 -1
- package/templates/bmad/tea/testarch/knowledge/contract-testing.md +24 -2
- package/templates/bmad/tea/testarch/knowledge/pact-mcp.md +204 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-consumer-helpers.md +211 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-overview.md +210 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-provider-verifier.md +315 -0
- package/templates/bmad/tea/testarch/knowledge/pactjs-utils-request-filter.md +224 -0
- package/templates/bmad/tea/testarch/tea-index.csv +5 -0
- package/templates/bmad/tea/workflows/testarch/README.md +1 -1
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +30 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04-generate-tests.md +159 -57
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04a-subagent-api-failing.md +215 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04b-subagent-e2e-failing.md +244 -0
- package/templates/bmad/tea/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +31 -15
- package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/atdd/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/atdd/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +32 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03-generate-tests.md +215 -101
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03a-subagent-api.md +193 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-backend.md +246 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03b-subagent-e2e.md +213 -0
- package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-03c-aggregate.md +38 -22
- package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/automate/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/automate/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +124 -1
- package/templates/bmad/tea/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +7 -0
- package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/ci/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/ci/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +126 -3
- package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/framework/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/framework/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04-evaluate-and-score.md +150 -36
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04a-subagent-security.md +138 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04b-subagent-performance.md +84 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04c-subagent-reliability.md +85 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04d-subagent-scalability.md +88 -0
- package/templates/bmad/tea/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +27 -10
- package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/nfr-assess/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/nfr-assess/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/data/tea-resources-index.yaml +3 -3
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow-plan-teach-me-testing.md +6 -6
- package/templates/bmad/tea/workflows/testarch/teach-me-testing/workflow.md +1 -1
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-02-load-context.md +30 -0
- package/templates/bmad/tea/workflows/testarch/test-design/steps-c/step-05-generate-output.md +72 -1
- package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/test-design/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/test-design/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-01-load-context.md +29 -1
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md +147 -46
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md +214 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md +125 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03c-subagent-maintainability.md +102 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03e-subagent-performance.md +117 -0
- package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +10 -10
- package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/test-review/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/test-review/workflow.yaml +2 -2
- package/templates/bmad/tea/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +92 -1
- package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-095021.md +1 -1
- package/templates/bmad/tea/workflows/testarch/trace/validation-report-20260127-102401.md +3 -3
- package/templates/bmad/tea/workflows/testarch/trace/workflow.yaml +2 -2
- package/templates/ecc/agents/chief-of-staff.md +151 -0
- package/templates/ecc/commands/claw.md +79 -0
- package/templates/ecc/rules/README.md +23 -2
- package/templates/ecc/rules/common/development-workflow.md +37 -0
- package/templates/ecc/rules/common/git-workflow.md +2 -23
- package/templates/ecc/rules/swift/coding-style.md +47 -0
- package/templates/ecc/rules/swift/hooks.md +20 -0
- package/templates/ecc/rules/swift/patterns.md +66 -0
- package/templates/ecc/rules/swift/security.md +33 -0
- package/templates/ecc/rules/swift/testing.md +45 -0
- package/templates/ecc/skills/api-design/SKILL.md +1 -0
- package/templates/ecc/skills/article-writing/SKILL.md +85 -0
- package/templates/ecc/skills/backend-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/clickhouse-io/SKILL.md +1 -0
- package/templates/ecc/skills/coding-standards/SKILL.md +1 -0
- package/templates/ecc/skills/configure-ecc/SKILL.md +32 -4
- package/templates/ecc/skills/content-engine/SKILL.md +88 -0
- package/templates/ecc/skills/content-hash-cache-pattern/SKILL.md +1 -0
- package/templates/ecc/skills/continuous-learning/SKILL.md +2 -1
- package/templates/ecc/skills/continuous-learning-v2/SKILL.md +4 -1
- package/templates/ecc/skills/continuous-learning-v2/hooks/observe.sh +14 -7
- package/templates/ecc/skills/cost-aware-llm-pipeline/SKILL.md +1 -0
- package/templates/ecc/skills/cpp-coding-standards/SKILL.md +1 -0
- package/templates/ecc/skills/cpp-testing/SKILL.md +1 -0
- package/templates/ecc/skills/database-migrations/SKILL.md +1 -0
- package/templates/ecc/skills/deployment-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/django-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/django-security/SKILL.md +1 -0
- package/templates/ecc/skills/django-tdd/SKILL.md +1 -0
- package/templates/ecc/skills/django-verification/SKILL.md +1 -0
- package/templates/ecc/skills/docker-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/e2e-testing/SKILL.md +1 -0
- package/templates/ecc/skills/eval-harness/SKILL.md +1 -0
- package/templates/ecc/skills/foundation-models-on-device/SKILL.md +243 -0
- package/templates/ecc/skills/frontend-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/frontend-slides/SKILL.md +184 -0
- package/templates/ecc/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/templates/ecc/skills/golang-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/golang-testing/SKILL.md +1 -0
- package/templates/ecc/skills/investor-materials/SKILL.md +96 -0
- package/templates/ecc/skills/investor-outreach/SKILL.md +76 -0
- package/templates/ecc/skills/iterative-retrieval/SKILL.md +1 -0
- package/templates/ecc/skills/java-coding-standards/SKILL.md +1 -0
- package/templates/ecc/skills/jpa-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/liquid-glass-design/SKILL.md +279 -0
- package/templates/ecc/skills/market-research/SKILL.md +75 -0
- package/templates/ecc/skills/nutrient-document-processing/SKILL.md +1 -1
- package/templates/ecc/skills/postgres-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/project-guidelines-example/SKILL.md +1 -0
- package/templates/ecc/skills/python-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/python-testing/SKILL.md +1 -0
- package/templates/ecc/skills/regex-vs-llm-structured-text/SKILL.md +1 -0
- package/templates/ecc/skills/search-first/SKILL.md +3 -1
- package/templates/ecc/skills/security-review/SKILL.md +1 -0
- package/templates/ecc/skills/security-scan/SKILL.md +1 -0
- package/templates/ecc/skills/skill-stocktake/SKILL.md +176 -0
- package/templates/ecc/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/templates/ecc/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/templates/ecc/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/templates/ecc/skills/springboot-patterns/SKILL.md +1 -0
- package/templates/ecc/skills/springboot-security/SKILL.md +1 -0
- package/templates/ecc/skills/springboot-tdd/SKILL.md +1 -0
- package/templates/ecc/skills/springboot-verification/SKILL.md +1 -0
- package/templates/ecc/skills/strategic-compact/SKILL.md +1 -0
- package/templates/ecc/skills/swift-actor-persistence/SKILL.md +1 -0
- package/templates/ecc/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/templates/ecc/skills/swift-protocol-di-testing/SKILL.md +1 -0
- package/templates/ecc/skills/swiftui-patterns/SKILL.md +259 -0
- package/templates/ecc/skills/tdd-workflow/SKILL.md +1 -0
- package/templates/ecc/skills/verification-loop/SKILL.md +1 -0
- package/templates/ecc/skills/visa-doc-translate/README.md +86 -0
- package/templates/ecc/skills/visa-doc-translate/SKILL.md +117 -0
- package/templates/ext-skills/pinchtab/SKILL.md +89 -486
- package/templates/ext-skills/pinchtab/TRUST.md +69 -0
- package/templates/ext-skills/pinchtab/references/api.md +297 -0
- package/templates/ext-skills/pinchtab/references/env.md +45 -0
- package/templates/ext-skills/pinchtab/references/profiles.md +107 -0
- package/templates/plugins/claude-code-setup/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/claude-code-setup/LICENSE +202 -0
- package/templates/plugins/claude-code-setup/README.md +29 -0
- package/templates/plugins/claude-code-setup/automation-recommender-example.png +0 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/SKILL.md +288 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/hooks-patterns.md +226 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/mcp-servers.md +263 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/plugins-reference.md +98 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/skills-reference.md +408 -0
- package/templates/plugins/claude-code-setup/skills/claude-automation-recommender/references/subagent-templates.md +181 -0
- package/templates/plugins/claude-md-management/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/claude-md-management/LICENSE +202 -0
- package/templates/plugins/claude-md-management/README.md +40 -0
- package/templates/plugins/claude-md-management/claude-md-improver-example.png +0 -0
- package/templates/plugins/claude-md-management/commands/revise-claude-md.md +54 -0
- package/templates/plugins/claude-md-management/revise-claude-md-example.png +0 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/SKILL.md +179 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/references/quality-criteria.md +109 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/references/templates.md +253 -0
- package/templates/plugins/claude-md-management/skills/claude-md-improver/references/update-guidelines.md +150 -0
- package/templates/plugins/code-simplifier/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/code-simplifier/LICENSE +202 -0
- package/templates/plugins/code-simplifier/agents/code-simplifier.md +52 -0
- package/templates/plugins/commit-commands/.claude-plugin/plugin.json +9 -0
- package/templates/plugins/commit-commands/LICENSE +202 -0
- package/templates/plugins/commit-commands/README.md +225 -0
- package/templates/plugins/commit-commands/commands/clean_gone.md +53 -0
- package/templates/plugins/commit-commands/commands/commit-push-pr.md +20 -0
- package/templates/plugins/commit-commands/commands/commit.md +17 -0
- package/templates/trae-bmad/rules/bmad-bmm-check-implementation-readiness.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-code-review.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-correct-course.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-create-architecture.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-create-epics-and-stories.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-create-prd.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-create-product-brief.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-create-story.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-create-ux-design.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-dev-story.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-document-project.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-domain-research.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-edit-prd.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-generate-project-context.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-market-research.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-qa-generate-e2e-tests.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-quick-dev.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-quick-spec.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-retrospective.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-sprint-planning.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-sprint-status.md +4 -4
- package/templates/trae-bmad/rules/bmad-bmm-technical-research.md +2 -2
- package/templates/trae-bmad/rules/bmad-bmm-validate-prd.md +2 -2
- package/templates/trae-bmad/rules/bmad-brainstorming.md +2 -2
- package/templates/trae-bmad/rules/bmad-editorial-review-prose.md +1 -1
- package/templates/trae-bmad/rules/bmad-editorial-review-structure.md +1 -1
- package/templates/trae-bmad/rules/bmad-help.md +1 -1
- package/templates/trae-bmad/rules/bmad-index-docs.md +1 -1
- package/templates/trae-bmad/rules/bmad-party-mode.md +2 -2
- package/templates/trae-bmad/rules/bmad-review-adversarial-general.md +1 -1
- package/templates/trae-bmad/rules/bmad-review-edge-case-hunter.md +10 -0
- package/templates/trae-bmad/rules/bmad-shard-doc.md +1 -1
- package/templates/trae-bmad/rules/bmad-tea-teach-me-testing.md +2 -2
- package/templates/trae-bmad/rules/bmad-tea-testarch-atdd.md +4 -4
- package/templates/trae-bmad/rules/bmad-tea-testarch-automate.md +4 -4
- package/templates/trae-bmad/rules/bmad-tea-testarch-ci.md +4 -4
- package/templates/trae-bmad/rules/bmad-tea-testarch-framework.md +4 -4
- package/templates/trae-bmad/rules/bmad-tea-testarch-nfr.md +4 -4
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-design.md +4 -4
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-review.md +4 -4
- package/templates/trae-bmad/rules/bmad-tea-testarch-trace.md +4 -4
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-04b-subagent-e2e-failing'
|
|
3
|
+
description: 'Subagent: Generate FAILING E2E tests (TDD red phase)'
|
|
4
|
+
subagent: true
|
|
5
|
+
outputFile: '/tmp/tea-atdd-e2e-tests-{{timestamp}}.json'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Subagent 4B: Generate Failing E2E Tests (TDD Red Phase)
|
|
9
|
+
|
|
10
|
+
## SUBAGENT CONTEXT
|
|
11
|
+
|
|
12
|
+
This is an **isolated subagent** 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 subagent 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 subagent 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
|
+
## SUBAGENT 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. Browser Interaction (Selector Verification)
|
|
61
|
+
|
|
62
|
+
**Automation mode:** `config.tea_browser_automation`
|
|
63
|
+
|
|
64
|
+
If `auto` (fall back to MCP if CLI unavailable; if neither available, generate from best practices):
|
|
65
|
+
|
|
66
|
+
- Open the target page first, then verify selectors with a snapshot:
|
|
67
|
+
`playwright-cli -s=tea-atdd-{{timestamp}} open <target_url>`
|
|
68
|
+
`playwright-cli -s=tea-atdd-{{timestamp}} snapshot` → map refs to Playwright locators
|
|
69
|
+
- ref `{role: "button", name: "Submit"}` → `page.getByRole('button', { name: 'Submit' })`
|
|
70
|
+
- ref `{role: "textbox", name: "Email"}` → `page.getByRole('textbox', { name: 'Email' })`
|
|
71
|
+
- `playwright-cli -s=tea-atdd-{{timestamp}} close` when done
|
|
72
|
+
|
|
73
|
+
If `cli` (CLI only — do NOT fall back to MCP; generate from best practices if CLI unavailable):
|
|
74
|
+
|
|
75
|
+
- Open the target page first, then verify selectors with a snapshot:
|
|
76
|
+
`playwright-cli -s=tea-atdd-{{timestamp}} open <target_url>`
|
|
77
|
+
`playwright-cli -s=tea-atdd-{{timestamp}} snapshot` → map refs to Playwright locators
|
|
78
|
+
- ref `{role: "button", name: "Submit"}` → `page.getByRole('button', { name: 'Submit' })`
|
|
79
|
+
- ref `{role: "textbox", name: "Email"}` → `page.getByRole('textbox', { name: 'Email' })`
|
|
80
|
+
- `playwright-cli -s=tea-atdd-{{timestamp}} close` when done
|
|
81
|
+
|
|
82
|
+
> **Session Hygiene:** Always close sessions using `playwright-cli -s=tea-atdd-{{timestamp}} close`. Do NOT use `close-all` — it kills every session on the machine and breaks parallel execution.
|
|
83
|
+
|
|
84
|
+
If `mcp`:
|
|
85
|
+
|
|
86
|
+
- Use MCP tools for selector verification (current behavior)
|
|
87
|
+
|
|
88
|
+
If `none`:
|
|
89
|
+
|
|
90
|
+
- Generate selectors from best practices without browser verification
|
|
91
|
+
|
|
92
|
+
### 3. Generate FAILING E2E Test Files
|
|
93
|
+
|
|
94
|
+
For each user journey, create test file in `tests/e2e/[feature].spec.ts`:
|
|
95
|
+
|
|
96
|
+
**Test Structure (ATDD - Red Phase):**
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
import { test, expect } from '@playwright/test';
|
|
100
|
+
|
|
101
|
+
test.describe('[Story Name] E2E User Journey (ATDD)', () => {
|
|
102
|
+
test.skip('[P0] should complete user registration successfully', async ({ page }) => {
|
|
103
|
+
// THIS TEST WILL FAIL - UI not implemented yet
|
|
104
|
+
await page.goto('/register');
|
|
105
|
+
|
|
106
|
+
// Expect registration form but will get 404 or missing elements
|
|
107
|
+
await page.fill('[name="email"]', 'newuser@example.com');
|
|
108
|
+
await page.fill('[name="password"]', 'SecurePass123!');
|
|
109
|
+
await page.click('button:has-text("Register")');
|
|
110
|
+
|
|
111
|
+
// Expect success message and redirect
|
|
112
|
+
await expect(page.getByText('Registration successful!')).toBeVisible();
|
|
113
|
+
await page.waitForURL('/dashboard');
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
test.skip('[P1] should show error if email exists', async ({ page }) => {
|
|
117
|
+
// THIS TEST WILL FAIL - UI not implemented yet
|
|
118
|
+
await page.goto('/register');
|
|
119
|
+
|
|
120
|
+
await page.fill('[name="email"]', 'existing@example.com');
|
|
121
|
+
await page.fill('[name="password"]', 'SecurePass123!');
|
|
122
|
+
await page.click('button:has-text("Register")');
|
|
123
|
+
|
|
124
|
+
// Expect error message
|
|
125
|
+
await expect(page.getByText('Email already exists')).toBeVisible();
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**CRITICAL ATDD Requirements:**
|
|
131
|
+
|
|
132
|
+
- ✅ Use `test.skip()` to mark tests as intentionally failing (red phase)
|
|
133
|
+
- ✅ Write assertions for EXPECTED UI behavior (even though not implemented)
|
|
134
|
+
- ✅ Use resilient selectors: getByRole, getByText, getByLabel (from selector-resilience)
|
|
135
|
+
- ✅ Follow network-first patterns if API calls involved (from network-first)
|
|
136
|
+
- ✅ Test complete user journeys from acceptance criteria
|
|
137
|
+
- ✅ Include priority tags [P0], [P1], [P2], [P3]
|
|
138
|
+
- ✅ Use proper TypeScript types
|
|
139
|
+
- ✅ Deterministic waits (no hard sleeps)
|
|
140
|
+
|
|
141
|
+
**Why test.skip():**
|
|
142
|
+
|
|
143
|
+
- Tests are written correctly for EXPECTED UI behavior
|
|
144
|
+
- But we know they'll fail because UI isn't implemented
|
|
145
|
+
- `test.skip()` documents this is intentional (TDD red phase)
|
|
146
|
+
- Once UI is implemented, remove `test.skip()` to verify green phase
|
|
147
|
+
|
|
148
|
+
### 4. Track Fixture Needs
|
|
149
|
+
|
|
150
|
+
Identify fixtures needed for E2E tests:
|
|
151
|
+
|
|
152
|
+
- Authentication fixtures (if journey requires logged-in state)
|
|
153
|
+
- Network mocks (if API calls involved)
|
|
154
|
+
- Test data fixtures
|
|
155
|
+
|
|
156
|
+
**Do NOT create fixtures yet** - just track what's needed for aggregation step.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## OUTPUT FORMAT
|
|
161
|
+
|
|
162
|
+
Write JSON to temp file: `/tmp/tea-atdd-e2e-tests-{{timestamp}}.json`
|
|
163
|
+
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"success": true,
|
|
167
|
+
"subagent": "atdd-e2e-tests",
|
|
168
|
+
"tests": [
|
|
169
|
+
{
|
|
170
|
+
"file": "tests/e2e/user-registration.spec.ts",
|
|
171
|
+
"content": "[full TypeScript test file content with test.skip()]",
|
|
172
|
+
"description": "ATDD E2E tests for user registration journey (RED PHASE)",
|
|
173
|
+
"expected_to_fail": true,
|
|
174
|
+
"acceptance_criteria_covered": [
|
|
175
|
+
"User can navigate to /register",
|
|
176
|
+
"User can fill registration form",
|
|
177
|
+
"System shows success message on registration",
|
|
178
|
+
"System shows error if email exists"
|
|
179
|
+
],
|
|
180
|
+
"priority_coverage": {
|
|
181
|
+
"P0": 1,
|
|
182
|
+
"P1": 1,
|
|
183
|
+
"P2": 0,
|
|
184
|
+
"P3": 0
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"fixture_needs": ["registrationPageMock"],
|
|
189
|
+
"knowledge_fragments_used": ["fixture-architecture", "network-first", "selector-resilience"],
|
|
190
|
+
"test_count": 2,
|
|
191
|
+
"tdd_phase": "RED",
|
|
192
|
+
"summary": "Generated 2 FAILING E2E tests for user registration story"
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**On Error:**
|
|
197
|
+
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"success": false,
|
|
201
|
+
"subagent": "atdd-e2e-tests",
|
|
202
|
+
"error": "Error message describing what went wrong",
|
|
203
|
+
"partial_output": {
|
|
204
|
+
/* any tests generated before error */
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## EXIT CONDITION
|
|
212
|
+
|
|
213
|
+
Subagent completes when:
|
|
214
|
+
|
|
215
|
+
- ✅ All user journeys from acceptance criteria have test files
|
|
216
|
+
- ✅ All tests use `test.skip()` (documented failing tests)
|
|
217
|
+
- ✅ All tests assert EXPECTED UI behavior (not placeholder assertions)
|
|
218
|
+
- ✅ Resilient selectors used (getByRole, getByText)
|
|
219
|
+
- ✅ JSON output written to temp file
|
|
220
|
+
- ✅ Fixture needs tracked
|
|
221
|
+
|
|
222
|
+
**Subagent terminates here.** Parent workflow will read output and proceed to aggregation.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## 🚨 SUBAGENT SUCCESS METRICS
|
|
227
|
+
|
|
228
|
+
### ✅ SUCCESS:
|
|
229
|
+
|
|
230
|
+
- All E2E tests generated with test.skip()
|
|
231
|
+
- Tests assert expected UI behavior (not placeholders)
|
|
232
|
+
- Resilient selectors used (getByRole, getByText)
|
|
233
|
+
- JSON output valid and complete
|
|
234
|
+
- No API/component/unit tests included (out of scope)
|
|
235
|
+
- Tests follow knowledge fragment patterns
|
|
236
|
+
|
|
237
|
+
### ❌ FAILURE:
|
|
238
|
+
|
|
239
|
+
- Generated passing tests (wrong - this is RED phase)
|
|
240
|
+
- Tests without test.skip() (will break CI)
|
|
241
|
+
- Placeholder assertions (expect(true).toBe(true))
|
|
242
|
+
- Brittle selectors used (CSS classes, XPath)
|
|
243
|
+
- Did not follow knowledge fragment patterns
|
|
244
|
+
- Invalid or missing JSON output
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 'step-04c-aggregate'
|
|
3
|
-
description: 'Aggregate
|
|
3
|
+
description: 'Aggregate subagent outputs and complete ATDD test infrastructure'
|
|
4
4
|
outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
|
|
5
5
|
nextStepFile: './step-05-validate-and-complete.md'
|
|
6
6
|
---
|
|
@@ -9,7 +9,7 @@ nextStepFile: './step-05-validate-and-complete.md'
|
|
|
9
9
|
|
|
10
10
|
## STEP GOAL
|
|
11
11
|
|
|
12
|
-
Read outputs from parallel
|
|
12
|
+
Read outputs from parallel subagents (API + E2E failing test generation), aggregate results, verify TDD red phase compliance, and create supporting infrastructure.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -17,7 +17,7 @@ Read outputs from parallel subprocesses (API + E2E failing test generation), agg
|
|
|
17
17
|
|
|
18
18
|
- 📖 Read the entire step file before acting
|
|
19
19
|
- ✅ Speak in `{communication_language}`
|
|
20
|
-
- ✅ Read
|
|
20
|
+
- ✅ Read subagent outputs from temp files
|
|
21
21
|
- ✅ Verify all tests are marked with test.skip() (TDD red phase)
|
|
22
22
|
- ✅ Generate shared fixtures based on fixture needs
|
|
23
23
|
- ✅ Write all generated test files to disk
|
|
@@ -34,10 +34,10 @@ Read outputs from parallel subprocesses (API + E2E failing test generation), agg
|
|
|
34
34
|
|
|
35
35
|
## CONTEXT BOUNDARIES:
|
|
36
36
|
|
|
37
|
-
- Available context: config,
|
|
37
|
+
- Available context: config, subagent outputs from temp files
|
|
38
38
|
- Focus: aggregation and TDD validation
|
|
39
39
|
- Limits: do not execute future steps
|
|
40
|
-
- Dependencies: Step 4A and 4B
|
|
40
|
+
- Dependencies: Step 4A and 4B subagent outputs
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
@@ -45,23 +45,23 @@ Read outputs from parallel subprocesses (API + E2E failing test generation), agg
|
|
|
45
45
|
|
|
46
46
|
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
47
47
|
|
|
48
|
-
### 1. Read
|
|
48
|
+
### 1. Read Subagent Outputs
|
|
49
49
|
|
|
50
|
-
**Read API test
|
|
50
|
+
**Read API test subagent output:**
|
|
51
51
|
|
|
52
52
|
```javascript
|
|
53
53
|
const apiTestsPath = '/tmp/tea-atdd-api-tests-{{timestamp}}.json';
|
|
54
54
|
const apiTestsOutput = JSON.parse(fs.readFileSync(apiTestsPath, 'utf8'));
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
**Read E2E test
|
|
57
|
+
**Read E2E test subagent output:**
|
|
58
58
|
|
|
59
59
|
```javascript
|
|
60
60
|
const e2eTestsPath = '/tmp/tea-atdd-e2e-tests-{{timestamp}}.json';
|
|
61
61
|
const e2eTestsOutput = JSON.parse(fs.readFileSync(e2eTestsPath, 'utf8'));
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
**Verify both
|
|
64
|
+
**Verify both subagents succeeded:**
|
|
65
65
|
|
|
66
66
|
- Check `apiTestsOutput.success === true`
|
|
67
67
|
- Check `e2eTestsOutput.success === true`
|
|
@@ -148,7 +148,7 @@ e2eTestsOutput.tests.forEach((test) => {
|
|
|
148
148
|
|
|
149
149
|
### 4. Aggregate Fixture Needs
|
|
150
150
|
|
|
151
|
-
**Collect all fixture needs from both
|
|
151
|
+
**Collect all fixture needs from both subagents:**
|
|
152
152
|
|
|
153
153
|
```javascript
|
|
154
154
|
const allFixtureNeeds = [...apiTestsOutput.fixture_needs, ...e2eTestsOutput.fixture_needs];
|
|
@@ -230,6 +230,22 @@ fs.writeFileSync(`{test_artifacts}/atdd-checklist-{story-id}.md`, checklistConte
|
|
|
230
230
|
**Aggregate test counts:**
|
|
231
231
|
|
|
232
232
|
```javascript
|
|
233
|
+
const resolvedMode = subagentContext?.execution?.resolvedMode; // Provided by Step 4's orchestration context
|
|
234
|
+
const subagentExecutionLabel =
|
|
235
|
+
resolvedMode === 'sequential'
|
|
236
|
+
? 'SEQUENTIAL (API → E2E)'
|
|
237
|
+
: resolvedMode === 'agent-team'
|
|
238
|
+
? 'AGENT-TEAM (API + E2E)'
|
|
239
|
+
: resolvedMode === 'subagent'
|
|
240
|
+
? 'SUBAGENT (API + E2E)'
|
|
241
|
+
: 'PARALLEL (API + E2E)';
|
|
242
|
+
const performanceGainLabel =
|
|
243
|
+
resolvedMode === 'sequential'
|
|
244
|
+
? 'baseline (no parallel speedup)'
|
|
245
|
+
: resolvedMode === 'agent-team' || resolvedMode === 'subagent'
|
|
246
|
+
? '~50% faster than sequential'
|
|
247
|
+
: 'mode-dependent';
|
|
248
|
+
|
|
233
249
|
const summary = {
|
|
234
250
|
tdd_phase: 'RED',
|
|
235
251
|
total_tests: apiTestsOutput.test_count + e2eTestsOutput.test_count,
|
|
@@ -243,8 +259,8 @@ const summary = {
|
|
|
243
259
|
...e2eTestsOutput.tests.flatMap((t) => t.acceptance_criteria_covered),
|
|
244
260
|
],
|
|
245
261
|
knowledge_fragments_used: [...apiTestsOutput.knowledge_fragments_used, ...e2eTestsOutput.knowledge_fragments_used],
|
|
246
|
-
|
|
247
|
-
performance_gain:
|
|
262
|
+
subagent_execution: subagentExecutionLabel,
|
|
263
|
+
performance_gain: performanceGainLabel,
|
|
248
264
|
};
|
|
249
265
|
```
|
|
250
266
|
|
|
@@ -275,7 +291,7 @@ Display to user:
|
|
|
275
291
|
✅ Acceptance Criteria Coverage:
|
|
276
292
|
{list all covered criteria}
|
|
277
293
|
|
|
278
|
-
🚀 Performance:
|
|
294
|
+
🚀 Performance: {performance_gain}
|
|
279
295
|
|
|
280
296
|
📂 Generated Files:
|
|
281
297
|
- tests/api/[feature].spec.ts (with test.skip())
|
|
@@ -337,7 +353,7 @@ Load next step: `{nextStepFile}`
|
|
|
337
353
|
|
|
338
354
|
### ✅ SUCCESS:
|
|
339
355
|
|
|
340
|
-
- Both
|
|
356
|
+
- Both subagents succeeded
|
|
341
357
|
- All tests have test.skip() (TDD red phase compliant)
|
|
342
358
|
- All tests assert expected behavior (not placeholders)
|
|
343
359
|
- All test files written to disk
|
|
@@ -345,7 +361,7 @@ Load next step: `{nextStepFile}`
|
|
|
345
361
|
|
|
346
362
|
### ❌ SYSTEM FAILURE:
|
|
347
363
|
|
|
348
|
-
- One or both
|
|
364
|
+
- One or both subagents failed
|
|
349
365
|
- Tests missing test.skip() (would break CI)
|
|
350
366
|
- Tests have placeholder assertions
|
|
351
367
|
- Test files not written to disk
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
validationDate: 2026-01-27
|
|
3
3
|
workflowName: testarch-atdd
|
|
4
|
-
workflowPath:
|
|
4
|
+
workflowPath: {project-root}/src/workflows/testarch/atdd
|
|
5
5
|
validationStatus: COMPLETE
|
|
6
6
|
completionDate: 2026-01-27 10:03:10
|
|
7
7
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
validationDate: 2026-01-27
|
|
3
3
|
workflowName: testarch-atdd
|
|
4
|
-
workflowPath:
|
|
4
|
+
workflowPath: {project-root}/src/workflows/testarch/atdd
|
|
5
5
|
validationStatus: COMPLETE
|
|
6
6
|
completionDate: 2026-01-27 10:24:01
|
|
7
7
|
---
|
|
@@ -87,9 +87,9 @@ Standard BMAD config variables treated as valid exceptions: bmb_creations_output
|
|
|
87
87
|
- Steps use progressive prompts and clear role reinforcement; no laundry-list interrogation detected
|
|
88
88
|
- Flow progression is clear and aligned to workflow goals
|
|
89
89
|
|
|
90
|
-
##
|
|
90
|
+
## Subagent Optimization Opportunities
|
|
91
91
|
|
|
92
|
-
- No high-priority
|
|
92
|
+
- No high-priority subagent optimizations identified; workflow already uses step-file architecture
|
|
93
93
|
- Pattern 1 (grep/regex): N/A for most steps
|
|
94
94
|
- Pattern 2 (per-file analysis): already aligned to validation structure
|
|
95
95
|
- Pattern 3 (data ops): minimal data file loads
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Test Architect workflow: atdd
|
|
2
2
|
name: testarch-atdd
|
|
3
|
-
|
|
3
|
+
# prettier-ignore
|
|
4
|
+
description: 'Generate failing acceptance tests using TDD cycle. Use when the user says "lets write acceptance tests" or "I want to do ATDD"'
|
|
4
5
|
|
|
5
6
|
# Critical variables from config
|
|
6
7
|
config_source: "{project-root}/_bmad/tea/config.yaml"
|
|
@@ -43,4 +44,3 @@ execution_hints:
|
|
|
43
44
|
interactive: false # Minimize prompts
|
|
44
45
|
autonomous: true # Proceed without user input unless blocked
|
|
45
46
|
iterative: true
|
|
46
|
-
|
package/templates/bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md
CHANGED
|
@@ -96,6 +96,8 @@ If missing: **HALT** with message "Run `framework` workflow first."
|
|
|
96
96
|
### Read TEA Config Flags
|
|
97
97
|
|
|
98
98
|
- From `{config_source}` read `tea_use_playwright_utils`
|
|
99
|
+
- From `{config_source}` read `tea_use_pactjs_utils`
|
|
100
|
+
- From `{config_source}` read `tea_pact_mcp`
|
|
99
101
|
- From `{config_source}` read `tea_browser_automation`
|
|
100
102
|
- From `{config_source}` read `test_stack_type`
|
|
101
103
|
|
|
@@ -123,6 +125,24 @@ Load fragments based on their `tier` classification in `tea-index.csv`:
|
|
|
123
125
|
|
|
124
126
|
**Detection**: Scan `{test_dir}` for files containing `page.goto` or `page.locator`. If none found, use API-only profile.
|
|
125
127
|
|
|
128
|
+
### Pact.js Utils Loading
|
|
129
|
+
|
|
130
|
+
**If `tea_use_pactjs_utils` is enabled** (and `{detected_stack}` is `backend` or `fullstack`, or microservices indicators detected):
|
|
131
|
+
|
|
132
|
+
Load: `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md` (~800 lines)
|
|
133
|
+
|
|
134
|
+
**If `tea_use_pactjs_utils` is disabled** but contract testing is relevant (microservices architecture detected, existing Pact config found):
|
|
135
|
+
|
|
136
|
+
Load: `contract-testing.md` (~960 lines)
|
|
137
|
+
|
|
138
|
+
**Detection**: Scan `{project-root}` for Pact indicators: `pact/` directory, `@pact-foundation/pact` in `package.json`, `pactUrls` in test files, `PACT_BROKER` in env files.
|
|
139
|
+
|
|
140
|
+
### Pact MCP Loading
|
|
141
|
+
|
|
142
|
+
**If `tea_pact_mcp` is `"mcp"`:**
|
|
143
|
+
|
|
144
|
+
Load: `pact-mcp.md` (~150 lines) — enables agent to use SmartBear MCP tools for fetching provider states and generating pact tests during automation.
|
|
145
|
+
|
|
126
146
|
## 4. Load Knowledge Base Fragments
|
|
127
147
|
|
|
128
148
|
Use `{knowledgeIndex}` and load only what is required.
|
|
@@ -145,6 +165,18 @@ Use `{knowledgeIndex}` and load only what is required.
|
|
|
145
165
|
- `fixture-architecture.md`
|
|
146
166
|
- `network-first.md`
|
|
147
167
|
|
|
168
|
+
**Pact.js Utils (if enabled):**
|
|
169
|
+
|
|
170
|
+
- `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`
|
|
171
|
+
|
|
172
|
+
**Contract Testing (if pactjs-utils disabled but relevant):**
|
|
173
|
+
|
|
174
|
+
- `contract-testing.md`
|
|
175
|
+
|
|
176
|
+
**Pact MCP (if tea_pact_mcp is "mcp"):**
|
|
177
|
+
|
|
178
|
+
- `pact-mcp.md`
|
|
179
|
+
|
|
148
180
|
**Healing (if auto-heal enabled):**
|
|
149
181
|
|
|
150
182
|
- `test-healing-patterns.md`
|