@cregis-dev/cckit 0.3.0 → 0.4.1
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 -21
- package/README.md +89 -85
- package/bin/cckit.js +3 -3
- package/package.json +7 -5
- package/registry.json +43 -9
- package/src/adapters/trae-adapter.js +90 -90
- package/src/cli.js +2 -2
- package/src/commands/init.js +337 -333
- package/src/commands/status.js +62 -62
- package/src/commands/sync.js +325 -325
- package/src/commands/update.js +430 -425
- package/src/core/config.js +82 -82
- package/src/core/differ.js +57 -57
- package/src/core/installer.js +97 -97
- package/src/core/plugin-installer.js +278 -232
- package/src/core/registry.js +75 -75
- package/src/core/templatize.js +42 -42
- package/src/core/upstream.js +357 -357
- package/src/utils/fs.js +55 -50
- package/src/utils/logger.js +16 -16
- package/templates/bmad/_config/agent-manifest.csv +12 -12
- package/templates/bmad/_config/agents/bmm-analyst.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-architect.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-dev.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-pm.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-qa.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-quick-flow-solo-dev.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-sm.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-tech-writer.customize.yaml +41 -41
- package/templates/bmad/_config/agents/bmm-ux-designer.customize.yaml +41 -41
- package/templates/bmad/_config/agents/core-bmad-master.customize.yaml +41 -41
- package/templates/bmad/_config/agents/tea-tea.customize.yaml +41 -41
- package/templates/bmad/_config/bmad-help.csv +48 -47
- package/templates/bmad/_config/files-manifest.csv +118 -112
- package/templates/bmad/_config/ides/claude-code.yaml +2 -2
- package/templates/bmad/_config/ides/opencode.yaml +5 -5
- package/templates/bmad/_config/ides/trae.yaml +2 -2
- package/templates/bmad/_config/task-manifest.csv +8 -7
- package/templates/bmad/_config/tool-manifest.csv +1 -1
- package/templates/bmad/_config/workflow-manifest.csv +35 -35
- package/templates/bmad/bmm/agents/analyst.md +78 -78
- package/templates/bmad/bmm/agents/architect.md +58 -58
- package/templates/bmad/bmm/agents/dev.md +69 -69
- package/templates/bmad/bmm/agents/pm.md +72 -72
- package/templates/bmad/bmm/agents/qa.md +92 -92
- package/templates/bmad/bmm/agents/quick-flow-solo-dev.md +69 -69
- package/templates/bmad/bmm/agents/sm.md +70 -70
- package/templates/bmad/bmm/agents/tech-writer/tech-writer.md +70 -70
- package/templates/bmad/bmm/agents/ux-designer.md +57 -57
- package/templates/bmad/bmm/config.yaml +15 -15
- package/templates/bmad/bmm/data/project-context-template.md +26 -26
- package/templates/bmad/bmm/module-help.csv +31 -31
- package/templates/bmad/bmm/teams/default-party.csv +20 -20
- package/templates/bmad/bmm/teams/team-fullstack.yaml +12 -12
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -10
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -177
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -161
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -199
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -202
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -205
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -219
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -162
- package/templates/bmad/bmm/workflows/1-analysis/create-product-brief/workflow.md +57 -57
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -137
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -229
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -238
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -206
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -234
- package/templates/bmad/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +444 -444
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -182
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -237
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -249
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -259
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -177
- package/templates/bmad/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +476 -476
- package/templates/bmad/bmm/workflows/1-analysis/research/research.template.md +29 -29
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -137
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -239
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -248
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -202
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +233 -233
- package/templates/bmad/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +487 -487
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-domain-research.md +54 -54
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-market-research.md +54 -54
- package/templates/bmad/bmm/workflows/1-analysis/research/workflow-technical-research.md +54 -54
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +14 -14
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -197
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +10 -10
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -191
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +152 -152
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -224
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02b-vision.md +154 -154
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02c-executive-summary.md +170 -170
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -226
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -213
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -207
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -226
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -237
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -228
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -231
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -242
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -217
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -124
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -247
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -208
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -249
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -253
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -168
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +226 -226
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -191
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -209
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -174
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -214
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -228
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -217
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -205
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -243
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -263
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -209
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -264
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -242
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -231
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -10
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-create-prd.md +63 -63
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-edit-prd.md +65 -65
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-prd/workflow-validate-prd.md +63 -63
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -135
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -127
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -190
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -216
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -219
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -234
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -252
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -254
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -224
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -224
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -241
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -248
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -237
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -264
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -171
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -13
- package/templates/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +42 -42
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +184 -184
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +172 -172
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +173 -173
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +133 -133
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +245 -245
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +129 -129
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -4
- package/templates/bmad/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +54 -54
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -12
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +12 -12
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +6 -6
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -153
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +173 -173
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -224
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +329 -329
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -318
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -359
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -379
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -359
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -76
- package/templates/bmad/bmm/workflows/3-solutioning/create-architecture/workflow.md +49 -49
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -259
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -233
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -272
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -149
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -57
- package/templates/bmad/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -58
- package/templates/bmad/bmm/workflows/4-implementation/code-review/checklist.md +23 -23
- package/templates/bmad/bmm/workflows/4-implementation/code-review/instructions.xml +226 -226
- package/templates/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +43 -43
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +288 -288
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +207 -207
- package/templates/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +53 -53
- package/templates/bmad/bmm/workflows/4-implementation/create-story/checklist.md +358 -358
- package/templates/bmad/bmm/workflows/4-implementation/create-story/instructions.xml +346 -346
- package/templates/bmad/bmm/workflows/4-implementation/create-story/template.md +49 -49
- package/templates/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +52 -52
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +80 -80
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -410
- package/templates/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +20 -20
- package/templates/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1444 -1444
- package/templates/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +52 -52
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -33
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +226 -226
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -55
- package/templates/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -47
- package/templates/bmad/bmm/workflows/4-implementation/sprint-status/instructions.md +230 -230
- package/templates/bmad/bmm/workflows/4-implementation/sprint-status/workflow.yaml +25 -25
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +174 -174
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +118 -118
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +111 -111
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +111 -111
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +104 -104
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +146 -146
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -50
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +189 -189
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +143 -143
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +126 -126
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +200 -200
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -74
- package/templates/bmad/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -79
- package/templates/bmad/bmm/workflows/document-project/checklist.md +245 -245
- package/templates/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -12
- package/templates/bmad/bmm/workflows/document-project/instructions.md +130 -130
- package/templates/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -345
- package/templates/bmad/bmm/workflows/document-project/templates/index-template.md +169 -169
- package/templates/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -103
- package/templates/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -160
- package/templates/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -135
- package/templates/bmad/bmm/workflows/document-project/workflow.yaml +22 -22
- package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -298
- package/templates/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -31
- package/templates/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -1106
- package/templates/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -31
- package/templates/bmad/bmm/workflows/generate-project-context/project-context-template.md +21 -21
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -184
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -318
- package/templates/bmad/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -278
- package/templates/bmad/bmm/workflows/generate-project-context/workflow.md +49 -49
- package/templates/bmad/bmm/workflows/qa/automate/checklist.md +33 -33
- package/templates/bmad/bmm/workflows/qa/automate/instructions.md +110 -110
- package/templates/bmad/bmm/workflows/qa/automate/workflow.yaml +44 -44
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/checklist.md +33 -33
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/instructions.md +110 -110
- package/templates/bmad/bmm/workflows/qa-generate-e2e-tests/workflow.yaml +42 -42
- package/templates/bmad/commands/bmad-agent-bmad-master.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-analyst.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-architect.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-dev.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-pm.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-qa.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-quick-flow-solo-dev.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-sm.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-tech-writer.md +15 -15
- package/templates/bmad/commands/bmad-agent-bmm-ux-designer.md +15 -15
- package/templates/bmad/commands/bmad-agent-tea-tea.md +15 -15
- package/templates/bmad/commands/bmad-bmm-check-implementation-readiness.md +6 -6
- package/templates/bmad/commands/bmad-bmm-code-review.md +14 -14
- package/templates/bmad/commands/bmad-bmm-correct-course.md +14 -14
- package/templates/bmad/commands/bmad-bmm-create-architecture.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-epics-and-stories.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-prd.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-product-brief.md +6 -6
- package/templates/bmad/commands/bmad-bmm-create-story.md +14 -14
- package/templates/bmad/commands/bmad-bmm-create-ux-design.md +6 -6
- package/templates/bmad/commands/bmad-bmm-dev-story.md +14 -14
- package/templates/bmad/commands/bmad-bmm-document-project.md +14 -14
- package/templates/bmad/commands/bmad-bmm-domain-research.md +6 -6
- package/templates/bmad/commands/bmad-bmm-edit-prd.md +6 -6
- package/templates/bmad/commands/bmad-bmm-generate-project-context.md +6 -6
- package/templates/bmad/commands/bmad-bmm-market-research.md +6 -6
- package/templates/bmad/commands/bmad-bmm-qa-automate.md +15 -15
- package/templates/bmad/commands/bmad-bmm-qa-generate-e2e-tests.md +14 -14
- package/templates/bmad/commands/bmad-bmm-quick-dev.md +6 -6
- package/templates/bmad/commands/bmad-bmm-quick-spec.md +6 -6
- package/templates/bmad/commands/bmad-bmm-retrospective.md +14 -14
- package/templates/bmad/commands/bmad-bmm-sprint-planning.md +14 -14
- package/templates/bmad/commands/bmad-bmm-sprint-status.md +14 -14
- package/templates/bmad/commands/bmad-bmm-technical-research.md +6 -6
- package/templates/bmad/commands/bmad-bmm-validate-prd.md +6 -6
- package/templates/bmad/commands/bmad-brainstorming.md +6 -6
- package/templates/bmad/commands/bmad-editorial-review-prose.md +10 -10
- package/templates/bmad/commands/bmad-editorial-review-structure.md +10 -10
- package/templates/bmad/commands/bmad-help.md +10 -10
- package/templates/bmad/commands/bmad-index-docs.md +10 -10
- package/templates/bmad/commands/bmad-party-mode.md +6 -6
- package/templates/bmad/commands/bmad-review-adversarial-general.md +10 -10
- package/templates/bmad/commands/bmad-review-edge-case-hunter.md +10 -0
- package/templates/bmad/commands/bmad-shard-doc.md +10 -10
- package/templates/bmad/commands/bmad-tea-teach-me-testing.md +6 -6
- package/templates/bmad/commands/bmad-tea-testarch-atdd.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-automate.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-ci.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-framework.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-nfr.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-test-design.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-test-review.md +14 -14
- package/templates/bmad/commands/bmad-tea-testarch-trace.md +14 -14
- package/templates/bmad/core/agents/bmad-master.md +56 -56
- package/templates/bmad/core/config.yaml +8 -8
- package/templates/bmad/core/module-help.csv +10 -9
- package/templates/bmad/core/tasks/editorial-review-prose.xml +101 -101
- package/templates/bmad/core/tasks/editorial-review-structure.xml +207 -207
- package/templates/bmad/core/tasks/help.md +86 -86
- package/templates/bmad/core/tasks/index-docs.xml +64 -64
- package/templates/bmad/core/tasks/review-adversarial-general.xml +48 -48
- package/templates/bmad/core/tasks/review-edge-case-hunter.xml +63 -0
- package/templates/bmad/core/tasks/shard-doc.xml +107 -107
- package/templates/bmad/core/tasks/workflow.xml +234 -234
- package/templates/bmad/core/workflows/advanced-elicitation/methods.csv +51 -51
- package/templates/bmad/core/workflows/advanced-elicitation/workflow.xml +117 -117
- package/templates/bmad/core/workflows/brainstorming/brain-methods.csv +61 -61
- package/templates/bmad/core/workflows/brainstorming/steps/step-01-session-setup.md +210 -197
- package/templates/bmad/core/workflows/brainstorming/steps/step-01b-continue.md +122 -122
- package/templates/bmad/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -225
- package/templates/bmad/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -237
- package/templates/bmad/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -209
- package/templates/bmad/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -264
- package/templates/bmad/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -399
- package/templates/bmad/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -303
- package/templates/bmad/core/workflows/brainstorming/template.md +15 -15
- package/templates/bmad/core/workflows/brainstorming/workflow.md +60 -58
- package/templates/bmad/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -138
- package/templates/bmad/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -187
- package/templates/bmad/core/workflows/party-mode/steps/step-03-graceful-exit.md +168 -168
- package/templates/bmad/core/workflows/party-mode/workflow.md +194 -194
- package/templates/bmad/tea/agents/tea.md +71 -71
- package/templates/bmad/tea/config.yaml +24 -20
- 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/mcp/claude-code/.mcp.json +35 -35
- package/templates/mcp/trae/mcp.json +35 -35
- 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-agent-bmad-master.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-analyst.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-architect.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-dev.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-pm.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-qa.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-quick-flow-solo-dev.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-sm.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-tech-writer.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-bmm-ux-designer.md +15 -15
- package/templates/trae-bmad/rules/bmad-agent-tea-tea.md +15 -15
- package/templates/trae-bmad/rules/bmad-bmm-check-implementation-readiness.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-code-review.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-correct-course.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-create-architecture.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-epics-and-stories.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-prd.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-product-brief.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-create-story.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-create-ux-design.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-dev-story.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-document-project.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-domain-research.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-edit-prd.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-generate-project-context.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-market-research.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-qa-automate.md +15 -15
- package/templates/trae-bmad/rules/bmad-bmm-qa-generate-e2e-tests.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-quick-dev.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-quick-spec.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-retrospective.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-sprint-planning.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-sprint-status.md +14 -14
- package/templates/trae-bmad/rules/bmad-bmm-technical-research.md +6 -6
- package/templates/trae-bmad/rules/bmad-bmm-validate-prd.md +6 -6
- package/templates/trae-bmad/rules/bmad-brainstorming.md +6 -6
- package/templates/trae-bmad/rules/bmad-editorial-review-prose.md +10 -10
- package/templates/trae-bmad/rules/bmad-editorial-review-structure.md +10 -10
- package/templates/trae-bmad/rules/bmad-help.md +10 -10
- package/templates/trae-bmad/rules/bmad-index-docs.md +10 -10
- package/templates/trae-bmad/rules/bmad-party-mode.md +6 -6
- package/templates/trae-bmad/rules/bmad-review-adversarial-general.md +10 -10
- package/templates/trae-bmad/rules/bmad-review-edge-case-hunter.md +10 -0
- package/templates/trae-bmad/rules/bmad-shard-doc.md +10 -10
- package/templates/trae-bmad/rules/bmad-tea-teach-me-testing.md +6 -6
- package/templates/trae-bmad/rules/bmad-tea-testarch-atdd.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-automate.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-ci.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-framework.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-nfr.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-design.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-test-review.md +14 -14
- package/templates/trae-bmad/rules/bmad-tea-testarch-trace.md +14 -14
package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03-quality-evaluation.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 'step-03-quality-evaluation'
|
|
3
|
-
description: 'Orchestrate
|
|
3
|
+
description: 'Orchestrate adaptive quality dimension checks (agent-team, subagent, or sequential)'
|
|
4
4
|
nextStepFile: './step-03f-aggregate-scores.md'
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# Step 3: Orchestrate
|
|
7
|
+
# Step 3: Orchestrate Adaptive Quality Evaluation
|
|
8
8
|
|
|
9
9
|
## STEP GOAL
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Select execution mode deterministically, then evaluate quality dimensions using agent-team, subagent, or sequential execution while preserving output contracts:
|
|
12
12
|
|
|
13
13
|
- Determinism
|
|
14
14
|
- Isolation
|
|
@@ -21,30 +21,31 @@ Coverage is intentionally excluded from this workflow and handled by `trace`.
|
|
|
21
21
|
|
|
22
22
|
- 📖 Read the entire step file before acting
|
|
23
23
|
- ✅ Speak in `{communication_language}`
|
|
24
|
-
- ✅
|
|
25
|
-
- ✅
|
|
26
|
-
-
|
|
27
|
-
- ❌ Do NOT
|
|
24
|
+
- ✅ Resolve execution mode from config (`tea_execution_mode`, `tea_capability_probe`)
|
|
25
|
+
- ✅ Apply fallback rules deterministically when requested mode is unsupported
|
|
26
|
+
- ✅ Wait for required worker steps to complete
|
|
27
|
+
- ❌ Do NOT skip capability checks when probing is enabled
|
|
28
|
+
- ❌ Do NOT proceed until required worker steps finish
|
|
28
29
|
|
|
29
30
|
---
|
|
30
31
|
|
|
31
32
|
## EXECUTION PROTOCOLS:
|
|
32
33
|
|
|
33
34
|
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
34
|
-
- 💾 Wait for
|
|
35
|
+
- 💾 Wait for subagent outputs
|
|
35
36
|
- 📖 Load the next step only when instructed
|
|
36
37
|
|
|
37
38
|
## CONTEXT BOUNDARIES:
|
|
38
39
|
|
|
39
40
|
- Available context: test files from Step 2, knowledge fragments
|
|
40
|
-
- Focus:
|
|
41
|
-
- Limits: do not evaluate quality directly (delegate to
|
|
41
|
+
- Focus: orchestration only (mode selection + worker dispatch)
|
|
42
|
+
- Limits: do not evaluate quality directly (delegate to worker steps)
|
|
42
43
|
|
|
43
44
|
---
|
|
44
45
|
|
|
45
46
|
## MANDATORY SEQUENCE
|
|
46
47
|
|
|
47
|
-
### 1. Prepare
|
|
48
|
+
### 1. Prepare Execution Context
|
|
48
49
|
|
|
49
50
|
**Generate unique timestamp:**
|
|
50
51
|
|
|
@@ -52,56 +53,156 @@ Coverage is intentionally excluded from this workflow and handled by `trace`.
|
|
|
52
53
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
53
54
|
```
|
|
54
55
|
|
|
55
|
-
**Prepare context for all
|
|
56
|
+
**Prepare context for all subagents:**
|
|
56
57
|
|
|
57
58
|
```javascript
|
|
58
|
-
const
|
|
59
|
+
const parseBooleanFlag = (value, defaultValue = true) => {
|
|
60
|
+
if (typeof value === 'string') {
|
|
61
|
+
const normalized = value.trim().toLowerCase();
|
|
62
|
+
if (['false', '0', 'off', 'no'].includes(normalized)) return false;
|
|
63
|
+
if (['true', '1', 'on', 'yes'].includes(normalized)) return true;
|
|
64
|
+
}
|
|
65
|
+
if (value === undefined || value === null) return defaultValue;
|
|
66
|
+
return Boolean(value);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const subagentContext = {
|
|
59
70
|
test_files: /* from Step 2 */,
|
|
60
71
|
knowledge_fragments_loaded: ['test-quality'],
|
|
72
|
+
config: {
|
|
73
|
+
execution_mode: config.tea_execution_mode || 'auto', // "auto" | "subagent" | "agent-team" | "sequential"
|
|
74
|
+
capability_probe: parseBooleanFlag(config.tea_capability_probe, true), // supports booleans and "false"/"true" strings
|
|
75
|
+
},
|
|
61
76
|
timestamp: timestamp
|
|
62
77
|
};
|
|
63
78
|
```
|
|
64
79
|
|
|
65
80
|
---
|
|
66
81
|
|
|
67
|
-
### 2.
|
|
82
|
+
### 2. Resolve Execution Mode with Capability Probe
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
const normalizeUserExecutionMode = (mode) => {
|
|
86
|
+
if (typeof mode !== 'string') return null;
|
|
87
|
+
const normalized = mode.trim().toLowerCase().replace(/[-_]/g, ' ').replace(/\s+/g, ' ');
|
|
88
|
+
|
|
89
|
+
if (normalized === 'auto') return 'auto';
|
|
90
|
+
if (normalized === 'sequential') return 'sequential';
|
|
91
|
+
if (normalized === 'subagent' || normalized === 'sub agent' || normalized === 'subagents' || normalized === 'sub agents') {
|
|
92
|
+
return 'subagent';
|
|
93
|
+
}
|
|
94
|
+
if (normalized === 'agent team' || normalized === 'agent teams' || normalized === 'agentteam') {
|
|
95
|
+
return 'agent-team';
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return null;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const normalizeConfigExecutionMode = (mode) => {
|
|
102
|
+
if (mode === 'subagent') return 'subagent';
|
|
103
|
+
if (mode === 'auto' || mode === 'sequential' || mode === 'subagent' || mode === 'agent-team') {
|
|
104
|
+
return mode;
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
};
|
|
68
108
|
|
|
69
|
-
|
|
109
|
+
// Explicit user instruction in the active run takes priority over config.
|
|
110
|
+
const explicitModeFromUser = normalizeUserExecutionMode(runtime.getExplicitExecutionModeHint?.() || null);
|
|
70
111
|
|
|
71
|
-
|
|
112
|
+
const requestedMode = explicitModeFromUser || normalizeConfigExecutionMode(subagentContext.config.execution_mode) || 'auto';
|
|
113
|
+
const probeEnabled = subagentContext.config.capability_probe;
|
|
114
|
+
|
|
115
|
+
const supports = {
|
|
116
|
+
subagent: false,
|
|
117
|
+
agentTeam: false,
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
if (probeEnabled) {
|
|
121
|
+
supports.subagent = runtime.canLaunchSubagents?.() === true;
|
|
122
|
+
supports.agentTeam = runtime.canLaunchAgentTeams?.() === true;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
let resolvedMode = requestedMode;
|
|
126
|
+
|
|
127
|
+
if (requestedMode === 'auto') {
|
|
128
|
+
if (supports.agentTeam) resolvedMode = 'agent-team';
|
|
129
|
+
else if (supports.subagent) resolvedMode = 'subagent';
|
|
130
|
+
else resolvedMode = 'sequential';
|
|
131
|
+
} else if (probeEnabled && requestedMode === 'agent-team' && !supports.agentTeam) {
|
|
132
|
+
resolvedMode = supports.subagent ? 'subagent' : 'sequential';
|
|
133
|
+
} else if (probeEnabled && requestedMode === 'subagent' && !supports.subagent) {
|
|
134
|
+
resolvedMode = 'sequential';
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
subagentContext.execution = {
|
|
138
|
+
requestedMode,
|
|
139
|
+
resolvedMode,
|
|
140
|
+
probeEnabled,
|
|
141
|
+
supports,
|
|
142
|
+
};
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Resolution precedence:
|
|
146
|
+
|
|
147
|
+
1. Explicit user request in this run (`agent team` => `agent-team`; `subagent` => `subagent`; `sequential`; `auto`)
|
|
148
|
+
2. `tea_execution_mode` from config
|
|
149
|
+
3. Runtime capability fallback (when probing enabled)
|
|
150
|
+
|
|
151
|
+
If probing is disabled, honor the requested mode strictly. If that mode cannot be executed at runtime, fail with explicit error instead of silent fallback.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### 3. Dispatch 4 Quality Workers
|
|
156
|
+
|
|
157
|
+
**Subagent A: Determinism**
|
|
158
|
+
|
|
159
|
+
- File: `./step-03a-subagent-determinism.md`
|
|
72
160
|
- Output: `/tmp/tea-test-review-determinism-${timestamp}.json`
|
|
73
|
-
-
|
|
161
|
+
- Execution:
|
|
162
|
+
- `agent-team` or `subagent`: launch non-blocking
|
|
163
|
+
- `sequential`: run blocking and wait
|
|
164
|
+
- Status: Running... ⟳
|
|
74
165
|
|
|
75
|
-
**
|
|
166
|
+
**Subagent B: Isolation**
|
|
76
167
|
|
|
77
|
-
- File: `./step-03b-
|
|
168
|
+
- File: `./step-03b-subagent-isolation.md`
|
|
78
169
|
- Output: `/tmp/tea-test-review-isolation-${timestamp}.json`
|
|
79
|
-
- Status: Running
|
|
170
|
+
- Status: Running... ⟳
|
|
80
171
|
|
|
81
|
-
**
|
|
172
|
+
**Subagent C: Maintainability**
|
|
82
173
|
|
|
83
|
-
- File: `./step-03c-
|
|
174
|
+
- File: `./step-03c-subagent-maintainability.md`
|
|
84
175
|
- Output: `/tmp/tea-test-review-maintainability-${timestamp}.json`
|
|
85
|
-
- Status: Running
|
|
176
|
+
- Status: Running... ⟳
|
|
86
177
|
|
|
87
|
-
**
|
|
178
|
+
**Subagent D: Performance**
|
|
88
179
|
|
|
89
|
-
- File: `./step-03e-
|
|
180
|
+
- File: `./step-03e-subagent-performance.md`
|
|
90
181
|
- Output: `/tmp/tea-test-review-performance-${timestamp}.json`
|
|
91
|
-
- Status: Running
|
|
182
|
+
- Status: Running... ⟳
|
|
183
|
+
|
|
184
|
+
In `agent-team` and `subagent` modes, runtime decides worker scheduling and concurrency.
|
|
92
185
|
|
|
93
186
|
---
|
|
94
187
|
|
|
95
|
-
###
|
|
188
|
+
### 4. Wait for Expected Worker Completion
|
|
189
|
+
|
|
190
|
+
**If `resolvedMode` is `agent-team` or `subagent`:**
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
⏳ Waiting for 4 quality subagents to complete...
|
|
194
|
+
✅ All 4 quality subagents completed successfully!
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**If `resolvedMode` is `sequential`:**
|
|
96
198
|
|
|
97
199
|
```
|
|
98
|
-
|
|
99
|
-
✅ All 4 quality subprocesses completed successfully!
|
|
200
|
+
✅ Sequential mode: each worker already completed during dispatch.
|
|
100
201
|
```
|
|
101
202
|
|
|
102
203
|
---
|
|
103
204
|
|
|
104
|
-
###
|
|
205
|
+
### 5. Verify All Outputs Exist
|
|
105
206
|
|
|
106
207
|
```javascript
|
|
107
208
|
const outputs = ['determinism', 'isolation', 'maintainability', 'performance'].map(
|
|
@@ -110,26 +211,25 @@ const outputs = ['determinism', 'isolation', 'maintainability', 'performance'].m
|
|
|
110
211
|
|
|
111
212
|
outputs.forEach((output) => {
|
|
112
213
|
if (!fs.existsSync(output)) {
|
|
113
|
-
throw new Error(`
|
|
214
|
+
throw new Error(`Subagent output missing: ${output}`);
|
|
114
215
|
}
|
|
115
216
|
});
|
|
116
217
|
```
|
|
117
218
|
|
|
118
219
|
---
|
|
119
220
|
|
|
120
|
-
###
|
|
221
|
+
### 6. Execution Report
|
|
121
222
|
|
|
122
223
|
```
|
|
123
224
|
🚀 Performance Report:
|
|
124
|
-
- Execution Mode:
|
|
125
|
-
- Total Elapsed: ~
|
|
126
|
-
-
|
|
127
|
-
- Performance Gain: ~60-70% faster!
|
|
225
|
+
- Execution Mode: {resolvedMode}
|
|
226
|
+
- Total Elapsed: ~mode-dependent
|
|
227
|
+
- Parallel Gain: ~60-70% faster when mode is subagent/agent-team
|
|
128
228
|
```
|
|
129
229
|
|
|
130
230
|
---
|
|
131
231
|
|
|
132
|
-
###
|
|
232
|
+
### 7. Proceed to Aggregation
|
|
133
233
|
|
|
134
234
|
Pass the same `timestamp` value to Step 3F (do not regenerate it). Step 3F must read the exact temp files written in this step.
|
|
135
235
|
|
|
@@ -137,7 +237,7 @@ Load next step: `{nextStepFile}`
|
|
|
137
237
|
|
|
138
238
|
The aggregation step (3F) will:
|
|
139
239
|
|
|
140
|
-
- Read all 4
|
|
240
|
+
- Read all 4 subagent outputs
|
|
141
241
|
- Calculate weighted overall score (0-100)
|
|
142
242
|
- Aggregate violations by severity
|
|
143
243
|
- Generate review report with top suggestions
|
|
@@ -148,11 +248,11 @@ The aggregation step (3F) will:
|
|
|
148
248
|
|
|
149
249
|
Proceed to Step 3F when:
|
|
150
250
|
|
|
151
|
-
- ✅ All 4
|
|
251
|
+
- ✅ All 4 subagents completed successfully
|
|
152
252
|
- ✅ All output files exist and are valid JSON
|
|
153
|
-
- ✅
|
|
253
|
+
- ✅ Execution metrics displayed
|
|
154
254
|
|
|
155
|
-
**Do NOT proceed if any
|
|
255
|
+
**Do NOT proceed if any subagent failed.**
|
|
156
256
|
|
|
157
257
|
---
|
|
158
258
|
|
|
@@ -160,14 +260,15 @@ Proceed to Step 3F when:
|
|
|
160
260
|
|
|
161
261
|
### ✅ SUCCESS:
|
|
162
262
|
|
|
163
|
-
- All 4
|
|
263
|
+
- All 4 subagents launched and completed
|
|
264
|
+
- All required worker steps completed
|
|
164
265
|
- Output files generated and valid
|
|
165
|
-
-
|
|
266
|
+
- Fallback behavior respected configuration and capability probe rules
|
|
166
267
|
|
|
167
268
|
### ❌ FAILURE:
|
|
168
269
|
|
|
169
|
-
- One or more
|
|
270
|
+
- One or more subagents failed
|
|
170
271
|
- Output files missing or invalid
|
|
171
|
-
-
|
|
272
|
+
- Unsupported requested mode with probing disabled
|
|
172
273
|
|
|
173
|
-
**Master Rule:**
|
|
274
|
+
**Master Rule:** Deterministic mode selection + stable output contract. Use the best supported mode, then aggregate normally.
|
package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03a-subagent-determinism.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-03a-subagent-determinism'
|
|
3
|
+
description: 'Subagent: Check test determinism (no random/time dependencies)'
|
|
4
|
+
subagent: true
|
|
5
|
+
outputFile: '/tmp/tea-test-review-determinism-{{timestamp}}.json'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Subagent 3A: Determinism Quality Check
|
|
9
|
+
|
|
10
|
+
## SUBAGENT CONTEXT
|
|
11
|
+
|
|
12
|
+
This is an **isolated subagent** running in parallel with other quality dimension checks.
|
|
13
|
+
|
|
14
|
+
**What you have from parent workflow:**
|
|
15
|
+
|
|
16
|
+
- Test files discovered in Step 2
|
|
17
|
+
- Knowledge fragment: test-quality (determinism criteria)
|
|
18
|
+
- Config: test framework
|
|
19
|
+
|
|
20
|
+
**Your task:** Analyze test files for DETERMINISM violations only.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## MANDATORY EXECUTION RULES
|
|
25
|
+
|
|
26
|
+
- 📖 Read this entire subagent file before acting
|
|
27
|
+
- ✅ Check DETERMINISM only (not other quality dimensions)
|
|
28
|
+
- ✅ Output structured JSON to temp file
|
|
29
|
+
- ❌ Do NOT check isolation, maintainability, coverage, or performance (other subagents)
|
|
30
|
+
- ❌ Do NOT modify test files (read-only analysis)
|
|
31
|
+
- ❌ Do NOT run tests (just analyze code)
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## SUBAGENT TASK
|
|
36
|
+
|
|
37
|
+
### 1. Identify Determinism Violations
|
|
38
|
+
|
|
39
|
+
**Scan test files for non-deterministic patterns:**
|
|
40
|
+
|
|
41
|
+
**HIGH SEVERITY Violations**:
|
|
42
|
+
|
|
43
|
+
- `Math.random()` - Random number generation
|
|
44
|
+
- `Date.now()` or `new Date()` without mocking
|
|
45
|
+
- `setTimeout` / `setInterval` without proper waits
|
|
46
|
+
- External API calls without mocking
|
|
47
|
+
- File system operations on random paths
|
|
48
|
+
- Database queries with non-deterministic ordering
|
|
49
|
+
|
|
50
|
+
**MEDIUM SEVERITY Violations**:
|
|
51
|
+
|
|
52
|
+
- `page.waitForTimeout(N)` - Hard waits instead of conditions
|
|
53
|
+
- Flaky selectors (CSS classes that may change)
|
|
54
|
+
- Race conditions (missing proper synchronization)
|
|
55
|
+
- Test order dependencies (test A must run before test B)
|
|
56
|
+
|
|
57
|
+
**LOW SEVERITY Violations**:
|
|
58
|
+
|
|
59
|
+
- Missing test isolation (shared state between tests)
|
|
60
|
+
- Console timestamps without fixed timezone
|
|
61
|
+
|
|
62
|
+
### 2. Analyze Each Test File
|
|
63
|
+
|
|
64
|
+
For each test file from Step 2:
|
|
65
|
+
|
|
66
|
+
```javascript
|
|
67
|
+
const violations = [];
|
|
68
|
+
|
|
69
|
+
// Check for Math.random()
|
|
70
|
+
if (testFileContent.includes('Math.random()')) {
|
|
71
|
+
violations.push({
|
|
72
|
+
file: testFile,
|
|
73
|
+
line: findLineNumber('Math.random()'),
|
|
74
|
+
severity: 'HIGH',
|
|
75
|
+
category: 'random-generation',
|
|
76
|
+
description: 'Test uses Math.random() - non-deterministic',
|
|
77
|
+
suggestion: 'Use faker.seed(12345) for deterministic random data',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Check for Date.now()
|
|
82
|
+
if (testFileContent.includes('Date.now()') || testFileContent.includes('new Date()')) {
|
|
83
|
+
violations.push({
|
|
84
|
+
file: testFile,
|
|
85
|
+
line: findLineNumber('Date.now()'),
|
|
86
|
+
severity: 'HIGH',
|
|
87
|
+
category: 'time-dependency',
|
|
88
|
+
description: 'Test uses Date.now() or new Date() without mocking',
|
|
89
|
+
suggestion: 'Mock system time with test.useFakeTimers() or use fixed timestamps',
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Check for hard waits
|
|
94
|
+
if (testFileContent.includes('waitForTimeout')) {
|
|
95
|
+
violations.push({
|
|
96
|
+
file: testFile,
|
|
97
|
+
line: findLineNumber('waitForTimeout'),
|
|
98
|
+
severity: 'MEDIUM',
|
|
99
|
+
category: 'hard-wait',
|
|
100
|
+
description: 'Test uses waitForTimeout - creates flakiness',
|
|
101
|
+
suggestion: 'Replace with expect(locator).toBeVisible() or waitForResponse',
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// ... check other patterns
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 3. Calculate Determinism Score
|
|
109
|
+
|
|
110
|
+
**Scoring Logic**:
|
|
111
|
+
|
|
112
|
+
```javascript
|
|
113
|
+
const totalChecks = testFiles.length * checksPerFile;
|
|
114
|
+
const failedChecks = violations.length;
|
|
115
|
+
const passedChecks = totalChecks - failedChecks;
|
|
116
|
+
|
|
117
|
+
// Weight violations by severity
|
|
118
|
+
const severityWeights = { HIGH: 10, MEDIUM: 5, LOW: 2 };
|
|
119
|
+
const totalPenalty = violations.reduce((sum, v) => sum + severityWeights[v.severity], 0);
|
|
120
|
+
|
|
121
|
+
// Score: 100 - (penalty points)
|
|
122
|
+
const score = Math.max(0, 100 - totalPenalty);
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## OUTPUT FORMAT
|
|
128
|
+
|
|
129
|
+
Write JSON to temp file: `/tmp/tea-test-review-determinism-{{timestamp}}.json`
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"dimension": "determinism",
|
|
134
|
+
"score": 85,
|
|
135
|
+
"max_score": 100,
|
|
136
|
+
"grade": "B",
|
|
137
|
+
"violations": [
|
|
138
|
+
{
|
|
139
|
+
"file": "tests/api/user.spec.ts",
|
|
140
|
+
"line": 42,
|
|
141
|
+
"severity": "HIGH",
|
|
142
|
+
"category": "random-generation",
|
|
143
|
+
"description": "Test uses Math.random() - non-deterministic",
|
|
144
|
+
"suggestion": "Use faker.seed(12345) for deterministic random data",
|
|
145
|
+
"code_snippet": "const userId = Math.random() * 1000;"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"file": "tests/e2e/checkout.spec.ts",
|
|
149
|
+
"line": 78,
|
|
150
|
+
"severity": "MEDIUM",
|
|
151
|
+
"category": "hard-wait",
|
|
152
|
+
"description": "Test uses waitForTimeout - creates flakiness",
|
|
153
|
+
"suggestion": "Replace with expect(locator).toBeVisible()",
|
|
154
|
+
"code_snippet": "await page.waitForTimeout(5000);"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"passed_checks": 12,
|
|
158
|
+
"failed_checks": 3,
|
|
159
|
+
"total_checks": 15,
|
|
160
|
+
"violation_summary": {
|
|
161
|
+
"HIGH": 1,
|
|
162
|
+
"MEDIUM": 1,
|
|
163
|
+
"LOW": 1
|
|
164
|
+
},
|
|
165
|
+
"recommendations": [
|
|
166
|
+
"Use faker with fixed seed for all random data",
|
|
167
|
+
"Replace all waitForTimeout with conditional waits",
|
|
168
|
+
"Mock Date.now() in tests that use current time"
|
|
169
|
+
],
|
|
170
|
+
"summary": "Tests are mostly deterministic with 3 violations (1 HIGH, 1 MEDIUM, 1 LOW)"
|
|
171
|
+
}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**On Error:**
|
|
175
|
+
|
|
176
|
+
```json
|
|
177
|
+
{
|
|
178
|
+
"dimension": "determinism",
|
|
179
|
+
"success": false,
|
|
180
|
+
"error": "Error message describing what went wrong"
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## EXIT CONDITION
|
|
187
|
+
|
|
188
|
+
Subagent completes when:
|
|
189
|
+
|
|
190
|
+
- ✅ All test files analyzed for determinism violations
|
|
191
|
+
- ✅ Score calculated (0-100)
|
|
192
|
+
- ✅ Violations categorized by severity
|
|
193
|
+
- ✅ Recommendations generated
|
|
194
|
+
- ✅ JSON output written to temp file
|
|
195
|
+
|
|
196
|
+
**Subagent terminates here.** Parent workflow will read output and aggregate with other quality dimensions.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 🚨 SUBAGENT SUCCESS METRICS
|
|
201
|
+
|
|
202
|
+
### ✅ SUCCESS:
|
|
203
|
+
|
|
204
|
+
- All test files scanned for determinism violations
|
|
205
|
+
- Score calculated with proper severity weighting
|
|
206
|
+
- JSON output valid and complete
|
|
207
|
+
- Only determinism checked (not other dimensions)
|
|
208
|
+
|
|
209
|
+
### ❌ FAILURE:
|
|
210
|
+
|
|
211
|
+
- Checked quality dimensions other than determinism
|
|
212
|
+
- Invalid or missing JSON output
|
|
213
|
+
- Score calculation incorrect
|
|
214
|
+
- Modified test files (should be read-only)
|
package/templates/bmad/tea/workflows/testarch/test-review/steps-c/step-03b-subagent-isolation.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-03b-subagent-isolation'
|
|
3
|
+
description: 'Subagent: Check test isolation (no shared state/dependencies)'
|
|
4
|
+
subagent: true
|
|
5
|
+
outputFile: '/tmp/tea-test-review-isolation-{{timestamp}}.json'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Subagent 3B: Isolation Quality Check
|
|
9
|
+
|
|
10
|
+
## SUBAGENT CONTEXT
|
|
11
|
+
|
|
12
|
+
This is an **isolated subagent** running in parallel with other quality dimension checks.
|
|
13
|
+
|
|
14
|
+
**Your task:** Analyze test files for ISOLATION violations only.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## MANDATORY EXECUTION RULES
|
|
19
|
+
|
|
20
|
+
- ✅ Check ISOLATION only (not other quality dimensions)
|
|
21
|
+
- ✅ Output structured JSON to temp file
|
|
22
|
+
- ❌ Do NOT check determinism, maintainability, coverage, or performance
|
|
23
|
+
- ❌ Do NOT modify test files (read-only analysis)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## SUBAGENT TASK
|
|
28
|
+
|
|
29
|
+
### 1. Identify Isolation Violations
|
|
30
|
+
|
|
31
|
+
**Scan test files for isolation issues:**
|
|
32
|
+
|
|
33
|
+
**HIGH SEVERITY Violations**:
|
|
34
|
+
|
|
35
|
+
- Global state mutations (global variables modified)
|
|
36
|
+
- Test order dependencies (test B depends on test A running first)
|
|
37
|
+
- Shared database records without cleanup
|
|
38
|
+
- beforeAll/afterAll with side effects leaking to other tests
|
|
39
|
+
|
|
40
|
+
**MEDIUM SEVERITY Violations**:
|
|
41
|
+
|
|
42
|
+
- Missing test cleanup (created data not deleted)
|
|
43
|
+
- Shared fixtures that mutate state
|
|
44
|
+
- Tests that assume specific execution order
|
|
45
|
+
- Environment variables modified without restoration
|
|
46
|
+
|
|
47
|
+
**LOW SEVERITY Violations**:
|
|
48
|
+
|
|
49
|
+
- Tests sharing test data (but not mutating)
|
|
50
|
+
- Missing test.describe grouping
|
|
51
|
+
- Tests that could be more isolated
|
|
52
|
+
|
|
53
|
+
### 2. Calculate Isolation Score
|
|
54
|
+
|
|
55
|
+
```javascript
|
|
56
|
+
const totalChecks = testFiles.length * checksPerFile;
|
|
57
|
+
const failedChecks = violations.length;
|
|
58
|
+
const severityWeights = { HIGH: 10, MEDIUM: 5, LOW: 2 };
|
|
59
|
+
const totalPenalty = violations.reduce((sum, v) => sum + severityWeights[v.severity], 0);
|
|
60
|
+
const score = Math.max(0, 100 - totalPenalty);
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## OUTPUT FORMAT
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"dimension": "isolation",
|
|
70
|
+
"score": 90,
|
|
71
|
+
"max_score": 100,
|
|
72
|
+
"grade": "A-",
|
|
73
|
+
"violations": [
|
|
74
|
+
{
|
|
75
|
+
"file": "tests/api/integration.spec.ts",
|
|
76
|
+
"line": 15,
|
|
77
|
+
"severity": "HIGH",
|
|
78
|
+
"category": "test-order-dependency",
|
|
79
|
+
"description": "Test depends on previous test creating user record",
|
|
80
|
+
"suggestion": "Each test should create its own test data in beforeEach",
|
|
81
|
+
"code_snippet": "test('should update user', async () => { /* assumes user exists */ });"
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"passed_checks": 14,
|
|
85
|
+
"failed_checks": 1,
|
|
86
|
+
"total_checks": 15,
|
|
87
|
+
"violation_summary": {
|
|
88
|
+
"HIGH": 1,
|
|
89
|
+
"MEDIUM": 0,
|
|
90
|
+
"LOW": 0
|
|
91
|
+
},
|
|
92
|
+
"recommendations": [
|
|
93
|
+
"Add beforeEach hooks to create test data",
|
|
94
|
+
"Add afterEach hooks to cleanup created records",
|
|
95
|
+
"Use test.describe.configure({ mode: 'parallel' }) to enforce isolation"
|
|
96
|
+
],
|
|
97
|
+
"summary": "Tests are well isolated with 1 HIGH severity violation"
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## EXIT CONDITION
|
|
104
|
+
|
|
105
|
+
Subagent completes when:
|
|
106
|
+
|
|
107
|
+
- ✅ All test files analyzed for isolation violations
|
|
108
|
+
- ✅ Score calculated
|
|
109
|
+
- ✅ JSON output written to temp file
|
|
110
|
+
|
|
111
|
+
**Subagent terminates here.**
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 🚨 SUBAGENT SUCCESS METRICS
|
|
116
|
+
|
|
117
|
+
### ✅ SUCCESS:
|
|
118
|
+
|
|
119
|
+
- Only isolation checked (not other dimensions)
|
|
120
|
+
- JSON output valid and complete
|
|
121
|
+
|
|
122
|
+
### ❌ FAILURE:
|
|
123
|
+
|
|
124
|
+
- Checked quality dimensions other than isolation
|
|
125
|
+
- Invalid or missing JSON output
|