ma-agents 3.12.3 → 3.13.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/bin/cli.js +67 -13
- package/docs/architecture.md +18 -0
- package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/hooks/commit-msg.sample +52 -2
- package/lib/bmad-cache/bmb/_git_preserved/hooks/fsmonitor-watchman.sample +2 -8
- package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-8f8b045fef5af6911495cf3b2a89f1ed75e120f7.idx +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-8f8b045fef5af6911495cf3b2a89f1ed75e120f7.pack +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-8f8b045fef5af6911495cf3b2a89f1ed75e120f7.rev +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/bmb/package-lock.json +2 -2
- package/lib/bmad-cache/bmb/package.json +1 -1
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/assets/module-help.csv +1 -1
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/merge-config.py +33 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/merge-help-csv.py +28 -0
- package/lib/bmad-cache/bmb/samples/sample-module-setup/assets/module-help.csv +1 -1
- package/lib/bmad-cache/bmb/samples/sample-module-setup/scripts/cleanup-legacy.py +28 -0
- package/lib/bmad-cache/bmb/samples/sample-module-setup/scripts/merge-config.py +33 -0
- package/lib/bmad-cache/bmb/samples/sample-module-setup/scripts/merge-help-csv.py +28 -0
- package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/assets/module-help.csv +1 -1
- package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/cleanup-legacy.py +28 -0
- package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-config.py +33 -0
- package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-help-csv.py +28 -0
- package/lib/bmad-cache/bmb/skills/bmad-eval-runner/assets/Dockerfile +29 -0
- package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/docker_setup.py +115 -0
- package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/generate_report.py +184 -0
- package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/pty_runner.py +171 -0
- package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/run_evals.py +492 -0
- package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/run_triggers.py +366 -0
- package/lib/bmad-cache/bmb/skills/bmad-eval-runner/scripts/utils.py +260 -0
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/assets/module-help.csv +1 -1
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/cleanup-legacy.py +28 -0
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-config.py +33 -0
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-help-csv.py +28 -0
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-config.py +33 -0
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-help-csv.py +28 -0
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-validate-module.py +74 -1
- package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/validate-module.py +24 -13
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/assets/sample-customize-product-brief.toml +48 -33
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/extract-report-json.py +287 -0
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-html-report.py +57 -8
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/prepass-prompt-metrics.py +7 -7
- package/lib/bmad-cache/bmb/skills/module-help.csv +1 -1
- package/lib/bmad-cache/bmb/website/public/img/eval-test-types.png +0 -0
- package/lib/bmad-cache/cache-manifest.json +17 -18
- package/lib/bmad-cache/cis/_git_preserved/hooks/commit-msg.sample +52 -2
- package/lib/bmad-cache/cis/_git_preserved/hooks/fsmonitor-watchman.sample +2 -8
- package/lib/bmad-cache/cis/_git_preserved/index +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-18c8290560a98bcb7bf0676e6cc9b2ac5ca2823e.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.pack → pack-18c8290560a98bcb7bf0676e6cc9b2ac5ca2823e.pack} +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-18c8290560a98bcb7bf0676e6cc9b2ac5ca2823e.rev +0 -0
- package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/cis/_git_preserved/refs/tags/v0.2.1 +1 -0
- package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/cis/package-lock.json +2 -2
- package/lib/bmad-cache/cis/package.json +1 -1
- package/lib/bmad-cache/cis/src/module-help.csv +1 -1
- package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +4 -7
- package/lib/bmad-cache/gds/README.md +3 -1
- package/lib/bmad-cache/gds/_git_preserved/hooks/commit-msg.sample +52 -2
- package/lib/bmad-cache/gds/_git_preserved/hooks/fsmonitor-watchman.sample +2 -8
- package/lib/bmad-cache/gds/_git_preserved/index +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-9427a146a90c00bb542cba038874bf9671ba4dc0.pack → pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.pack} +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/gds/package.json +1 -1
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/customize.toml +5 -5
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/customize.toml +5 -5
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/customize.toml +0 -5
- package/lib/bmad-cache/gds/src/module-help.csv +6 -12
- package/lib/bmad-cache/gds/src/module.yaml +1 -1
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/customize.toml +97 -22
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/validation-report-template.html +190 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/customize.toml +99 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/scripts/render-validation-html.py +290 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-prd/assets/validation-report-template.html +190 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-prd/customize.toml +84 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-ux/assets/validation-report-template.html +319 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-ux/customize.toml +101 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/architecture-patterns.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/decision-catalog.yaml +88 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/engine-mcps.yaml +124 -2
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-investigate/customize.toml +62 -0
- package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +1 -1
- package/lib/bmad-cache/tea/.github/workflows/docs.yaml +3 -3
- package/lib/bmad-cache/tea/.github/workflows/quality.yaml +10 -10
- package/lib/bmad-cache/tea/AGENTS.md +31 -0
- package/lib/bmad-cache/tea/CHANGELOG.md +42 -1
- package/lib/bmad-cache/tea/README.md +8 -5
- package/lib/bmad-cache/tea/_git_preserved/hooks/commit-msg.sample +52 -2
- package/lib/bmad-cache/tea/_git_preserved/hooks/fsmonitor-watchman.sample +2 -8
- package/lib/bmad-cache/tea/_git_preserved/index +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9e4197e37df7763dd7a05c2965ee921dfd2eb617.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-f0df537f2649464ff6c5aee241165eb9c8664227.pack → pack-9e4197e37df7763dd7a05c2965ee921dfd2eb617.pack} +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9e4197e37df7763dd7a05c2965ee921dfd2eb617.rev +0 -0
- package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.19.0 +1 -0
- package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/tea/docs/explanation/engagement-models.md +15 -16
- package/lib/bmad-cache/tea/docs/explanation/knowledge-base-system.md +2 -0
- package/lib/bmad-cache/tea/docs/explanation/risk-based-testing.md +1 -1
- package/lib/bmad-cache/tea/docs/explanation/tea-overview.md +88 -52
- package/lib/bmad-cache/tea/docs/explanation/testing-as-engineering.md +13 -12
- package/lib/bmad-cache/tea/docs/glossary/index.md +2 -2
- package/lib/bmad-cache/tea/docs/how-to/brownfield/use-tea-for-enterprise.md +19 -18
- package/lib/bmad-cache/tea/docs/how-to/brownfield/use-tea-with-existing-tests.md +1 -1
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-nfr-assess.md +32 -26
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-test-design.md +20 -14
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-trace.md +3 -3
- package/lib/bmad-cache/tea/docs/index.md +13 -11
- package/lib/bmad-cache/tea/docs/reference/commands.md +37 -13
- package/lib/bmad-cache/tea/docs/reference/knowledge-base.md +2 -2
- package/lib/bmad-cache/tea/package-lock.json +2 -2
- package/lib/bmad-cache/tea/package.json +1 -1
- package/lib/bmad-cache/tea/src/agents/bmad-tea/customize.toml +20 -15
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/confidence-gate.md +73 -0
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/test-quality.md +1 -0
- package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +2 -1
- package/lib/bmad-cache/tea/src/module-help.csv +2 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/README.md +5 -4
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/role-paths.yaml +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/tea-resources-index.yaml +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-01.md +2 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-07.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/certificate-template.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/SKILL.md +3 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/checklist.md +11 -11
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/instructions.md +4 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/nfr-report-template.md +5 -5
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01b-resume.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-02-define-thresholds.md +14 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04-evaluate-and-score.md +7 -7
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04a-subagent-security.md +4 -4
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04b-subagent-performance.md +4 -4
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04c-subagent-reliability.md +4 -4
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04d-subagent-scalability.md +4 -4
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04e-aggregate-nfr.md +4 -4
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-05-generate-report.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow-plan.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow.yaml +3 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/checklist.md +23 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +7 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-03-risk-and-testability.md +16 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-04-coverage-plan.md +20 -4
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-05-generate-output.md +2 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-architecture-template.md +17 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +15 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +16 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/checklist.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/tea-index.csv +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/trace-template.md +1 -1
- package/lib/bmad-cache/tea/test/test-installation-components.js +49 -0
- package/lib/bmad-cache/tea/website/astro.config.mjs +2 -2
- package/lib/bmad-cache/wds/README.md +1 -1
- package/lib/bmad-cache/wds/_git_preserved/hooks/commit-msg.sample +52 -2
- package/lib/bmad-cache/wds/_git_preserved/hooks/fsmonitor-watchman.sample +2 -8
- package/lib/bmad-cache/wds/_git_preserved/index +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.idx +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/{pack-96877c1c09123cccb1f91c1412184b11d2b492ad.pack → pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.pack} +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.rev +0 -0
- package/lib/bmad-cache/wds/_git_preserved/packed-refs +1 -1
- package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +1 -1
- package/lib/bmad-cache/wds/_git_preserved/refs/tags/v0.4.3 +1 -0
- package/lib/bmad-cache/wds/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/wds/eslint.config.mjs +1 -1
- package/lib/bmad-cache/wds/package.json +1 -1
- package/lib/bmad-cache/wds/src/agents/wds-agent-freya-ux/customize.toml +80 -0
- package/lib/bmad-cache/wds/src/agents/wds-agent-mimir-builder/customize.toml +52 -0
- package/lib/bmad-cache/wds/src/agents/wds-agent-saga-analyst/customize.toml +70 -0
- package/lib/bmad-cache/wds/src/module-help.csv +19 -19
- package/lib/bmad-cache/wds/src/module.yaml +28 -0
- package/lib/bmad-cache/wds/src/scripts/README.md +155 -0
- package/lib/bmad-cache/wds/src/scripts/wds-add-object.js +202 -0
- package/lib/bmad-cache/wds/src/scripts/wds-add-spacing.js +158 -0
- package/lib/bmad-cache/wds/src/scripts/wds-init-page.js +229 -0
- package/lib/bmad-cache/wds/src/scripts/wds-init-scenario.js +120 -0
- package/lib/bmad-cache/wds/src/scripts/wds-nav.js +201 -0
- package/lib/bmad-cache/wds/src/scripts/wds-validate.js +301 -0
- package/lib/bmad-cache/wds/src/workflows/wds-3-scenarios/workflow.xml +450 -0
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/workflow-specify.xml +387 -0
- package/lib/bmad-extension/.claude-plugin/marketplace.json.template +1 -1
- package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +2 -2
- package/lib/bmad.js +361 -18
- package/lib/installer.js +296 -26
- package/lib/mil498-templates/OCD.md +169 -169
- package/lib/mil498-templates/README.md +4 -4
- package/lib/mil498-templates/SDD.md +163 -163
- package/lib/mil498-templates/SDP.md +307 -307
- package/lib/mil498-templates/SRS.md +219 -219
- package/lib/mil498-templates/SSDD.md +154 -154
- package/lib/mil498-templates/SSS.md +225 -225
- package/lib/mil498-templates/STD.md +188 -188
- package/lib/profile.js +96 -5
- package/lib/templates/instruction-block-git.template.md +25 -0
- package/lib/templates/instruction-block-onprem.template.md +86 -86
- package/lib/templates/instruction-block-universal.template.md +29 -29
- package/package.json +5 -4
- package/scripts/build-bmad-cache.js +143 -42
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.idx +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.pack +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.rev +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/refs/remotes/origin/HEAD +0 -1
- package/lib/bmad-cache/bmb/_git_preserved/refs/tags/v1.7.0 +0 -1
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-convert-report.py +0 -406
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/tests/test_generate_convert_report.py +0 -243
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-42ffc048f54e58ce94c6331bc6be97ebbb7936f2.rev +0 -0
- package/lib/bmad-cache/cis/_git_preserved/refs/remotes/origin/HEAD +0 -1
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-9427a146a90c00bb542cba038874bf9671ba4dc0.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/refs/remotes/origin/HEAD +0 -1
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-gdd/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-prd/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-prd/data/domain-complexity.csv +0 -15
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-prd/data/project-types.csv +0 -11
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-ux-design/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-edit-gdd/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-edit-prd/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-gdd/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/data/domain-complexity.csv +0 -15
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/data/project-types.csv +0 -11
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-f0df537f2649464ff6c5aee241165eb9c8664227.rev +0 -0
- package/lib/bmad-cache/tea/_git_preserved/refs/remotes/origin/HEAD +0 -1
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.idx +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.rev +0 -0
- package/lib/bmad-cache/wds/_git_preserved/refs/remotes/origin/HEAD +0 -1
- package/lib/bmad-cache/wds/src/agents/wds-agent-freya-ux/bmad-skill-manifest.yaml +0 -12
- package/lib/bmad-cache/wds/src/agents/wds-agent-saga-analyst/bmad-skill-manifest.yaml +0 -12
- package/lib/bmad-cache/wds/src/workflows/wds-0-alignment-signoff/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-1-project-brief/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-2-trigger-mapping/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-3-scenarios/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-6-asset-generation/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-7-design-system/bmad-skill-manifest.yaml +0 -1
- package/lib/bmad-cache/wds/src/workflows/wds-8-product-evolution/bmad-skill-manifest.yaml +0 -1
- /package/lib/bmad-cache/gds/src/workflows/2-design/{gds-create-gdd → gds-gdd/assets}/game-types.csv +0 -0
- /package/lib/bmad-cache/gds/src/workflows/2-design/{gds-validate-gdd/data → gds-gdd/assets}/genre-complexity.csv +0 -0
|
@@ -60,6 +60,29 @@ engine_mcps:
|
|
|
60
60
|
license: "MIT"
|
|
61
61
|
benefit_summary: "Broad Unity version support (2021.3+) with natural language control and fast batch operations for AI-driven scene building."
|
|
62
62
|
|
|
63
|
+
unity_mcp_official:
|
|
64
|
+
name: "Unity MCP (Official)"
|
|
65
|
+
repo: "Unity AI Assistant package (com.unity.ai.assistant)"
|
|
66
|
+
search_term: "Unity MCP official Unity AI Assistant docs"
|
|
67
|
+
description: "Unity's first-party MCP server, bundled with the Unity AI Assistant, exposing the Editor to external AI clients"
|
|
68
|
+
capabilities:
|
|
69
|
+
- "Manage scenes and GameObjects"
|
|
70
|
+
- "Run asset operations"
|
|
71
|
+
- "Edit scripts"
|
|
72
|
+
- "Read Unity console output"
|
|
73
|
+
- "Automate in-editor tasks"
|
|
74
|
+
install_type: "Bundled in the Unity AI Assistant package - no separate server"
|
|
75
|
+
install_steps:
|
|
76
|
+
- "Open Edit > Project Settings > AI > Unity MCP"
|
|
77
|
+
- "The MCP bridge starts automatically with the Editor"
|
|
78
|
+
- "Approve direct connections from your AI client"
|
|
79
|
+
requirements: "Unity 6+ with the AI Assistant package; paid Unity AI subscription (~$10/month - verify current pricing)"
|
|
80
|
+
supported_clients: ["Claude Code", "Cursor"]
|
|
81
|
+
license: "Proprietary (Unity)"
|
|
82
|
+
docs: "https://docs.unity3d.com/Packages/com.unity.ai.assistant@2.8/manual/integration/unity-mcp-overview.html"
|
|
83
|
+
note: "Requires a paid Unity AI subscription. The free open-source MCPs (mcp_unity, unity_mcp_coplay) cover the same workflow - prefer those unless the user already pays for Unity AI."
|
|
84
|
+
benefit_summary: "First-party MCP built into the Unity Editor, but gated behind a paid Unity AI subscription; the open-source alternatives are free."
|
|
85
|
+
|
|
63
86
|
unreal:
|
|
64
87
|
engine: "Unreal Engine"
|
|
65
88
|
mcps:
|
|
@@ -162,6 +185,53 @@ engine_mcps:
|
|
|
162
185
|
license: "MIT"
|
|
163
186
|
benefit_summary: "Full bidirectional Godot integration - AI agents can read and write scripts, scenes, and nodes directly."
|
|
164
187
|
|
|
188
|
+
godot_mcp_gopeak:
|
|
189
|
+
name: "GoPeak (HaD0Yun)"
|
|
190
|
+
repo: "HaD0Yun/Gopeak-godot-mcp"
|
|
191
|
+
search_term: "Gopeak godot mcp github"
|
|
192
|
+
description: "Comprehensive MCP server for Godot 4.x with ~95+ tools spanning the full edit-run-inspect-fix workflow"
|
|
193
|
+
capabilities:
|
|
194
|
+
- "Find, launch, and manage Godot projects and editor execution"
|
|
195
|
+
- "Create and modify scenes and GDScript files with typed properties"
|
|
196
|
+
- "Work with resources, materials, shaders, and imports"
|
|
197
|
+
- "Debug via logs, LSP diagnostics, DAP breakpoints, and runtime inspection"
|
|
198
|
+
- "Capture screenshots and inspect the live scene tree"
|
|
199
|
+
- "Inject input and call runtime methods for testing"
|
|
200
|
+
- "Discover tools through a catalog with dynamic capability groups"
|
|
201
|
+
- "Access ClassDB introspection and a CC0 asset library"
|
|
202
|
+
install_type: "Node.js MCP server (npx, no Godot plugin needed)"
|
|
203
|
+
install_steps:
|
|
204
|
+
- "Run via 'npx -y gopeak' (or 'npm install -g gopeak')"
|
|
205
|
+
- "Configure your MCP client with paths to the Godot executable and a tool profile"
|
|
206
|
+
- "Choose a tool exposure profile: compact, full, or legacy"
|
|
207
|
+
requirements: "Godot 4.x (4.4+ for UID features), Node.js"
|
|
208
|
+
supported_clients: ["Claude Desktop", "Claude Code", "Cursor"]
|
|
209
|
+
license: "MIT"
|
|
210
|
+
benefit_summary: "The most capable Godot MCP - ~95+ tools, active development, and a one-command npx launch with no Godot plugin required."
|
|
211
|
+
|
|
212
|
+
godot_mcp_tugcantopaloglu:
|
|
213
|
+
name: "Godot MCP (tugcantopaloglu)"
|
|
214
|
+
repo: "tugcantopaloglu/godot-mcp"
|
|
215
|
+
search_term: "tugcantopaloglu godot-mcp github"
|
|
216
|
+
description: "MCP server for Godot 4.x with 149 tools, including runtime GDScript execution over a TCP channel"
|
|
217
|
+
capabilities:
|
|
218
|
+
- "Execute arbitrary GDScript at runtime; manipulate nodes and signals"
|
|
219
|
+
- "Control animation, input, raycasting, audio, and video playback"
|
|
220
|
+
- "Headless scene parsing, project-setting edits, and resource creation"
|
|
221
|
+
- "3D/2D rendering, physics joints, skeletal animation, particles, and shaders"
|
|
222
|
+
- "UI theming and networking (HTTP, WebSocket, multiplayer)"
|
|
223
|
+
install_type: "Node.js MCP server + runtime GDScript autoload (no editor plugin)"
|
|
224
|
+
install_steps:
|
|
225
|
+
- "git clone https://github.com/tugcantopaloglu/godot-mcp.git"
|
|
226
|
+
- "cd godot-mcp && npm install && npm run build"
|
|
227
|
+
- "Copy the MCP interaction server GDScript into your project"
|
|
228
|
+
- "Register it as an autoload named 'McpInteractionServer' in Project Settings"
|
|
229
|
+
- "Configure your MCP client with the built server path"
|
|
230
|
+
requirements: "Godot 4.x (4.4+ for UID features), Node.js 18+; TCP port 9090 for runtime tools"
|
|
231
|
+
supported_clients: ["Claude Code", "Cursor", "Cline"]
|
|
232
|
+
license: "MIT"
|
|
233
|
+
benefit_summary: "Largest tool surface (149 tools) with runtime GDScript execution over TCP - strong for live in-game AI interaction and testing."
|
|
234
|
+
|
|
165
235
|
godot_mcp_docs:
|
|
166
236
|
name: "Godot MCP Docs"
|
|
167
237
|
repo: "Nihilantropy/godot-mcp-docs"
|
|
@@ -181,6 +251,55 @@ engine_mcps:
|
|
|
181
251
|
license: "MIT"
|
|
182
252
|
benefit_summary: "AI agents get access to the full Godot documentation for accurate API usage without relying on training data."
|
|
183
253
|
|
|
254
|
+
roblox:
|
|
255
|
+
engine: "Roblox Studio"
|
|
256
|
+
mcps:
|
|
257
|
+
roblox_studio_mcp:
|
|
258
|
+
name: "Roblox Studio MCP (Official)"
|
|
259
|
+
repo: "Official Roblox Studio plugin — not a community GitHub repo"
|
|
260
|
+
search_term: "Roblox Studio MCP plugin Claude Code setup"
|
|
261
|
+
description: "First-party MCP server built into Roblox Studio. Gives AI agents direct access to the DataModel, scripts, live Luau execution, asset generation, and playtest control — no copy-pasting needed."
|
|
262
|
+
capabilities:
|
|
263
|
+
# DataModel exploration
|
|
264
|
+
- "Investigate the place in parallel and return a compact summary (explore_subagent)"
|
|
265
|
+
- "Explore the instance hierarchy as a flat JSON array (search_game_tree)"
|
|
266
|
+
- "Inspect any Instance's properties, attributes, and children in detail (inspect_instance)"
|
|
267
|
+
# Script tools
|
|
268
|
+
- "Read Scripts, LocalScripts, and ModuleScripts with line numbers (script_read)"
|
|
269
|
+
- "Search all script contents by string or Luau pattern (script_grep)"
|
|
270
|
+
- "Find scripts by name via fuzzy match (script_search)"
|
|
271
|
+
- "Apply multiple edits to a script atomically (multi_edit)"
|
|
272
|
+
# Live execution
|
|
273
|
+
- "Execute arbitrary Luau in the live game context and return the result (execute_luau)"
|
|
274
|
+
- "Retrieve output logs while the game is running (console_output)"
|
|
275
|
+
# Playtest control
|
|
276
|
+
- "Start or stop a playtesting session (start_stop_play)"
|
|
277
|
+
- "Spawn a test character that runs through gameplay scenarios in its own context (playtest_subagent)"
|
|
278
|
+
- "Move the player character to a position or Instance during play (character_navigation)"
|
|
279
|
+
- "Simulate key presses, key holds, and text input (keyboard_input)"
|
|
280
|
+
- "Simulate mouse clicks, movement, and scrolling (mouse_input)"
|
|
281
|
+
# Visual
|
|
282
|
+
- "Capture the current Studio viewport in Play mode (screen_capture)"
|
|
283
|
+
# AI asset generation
|
|
284
|
+
- "Generate a textured 3D mesh from a text prompt (generate_mesh)"
|
|
285
|
+
- "Generate a custom material or texture (generate_material)"
|
|
286
|
+
- "Generate custom procedural models that scale and adapt automatically (generate_procedural_model)"
|
|
287
|
+
- "Insert assets, plugins, and models from the Creator Store (insert_from_creator_store)"
|
|
288
|
+
# Multi-studio
|
|
289
|
+
- "List all connected Studio instances and switch the active one (list_roblox_studios, set_active_studio)"
|
|
290
|
+
install_type: "Roblox Studio Plugin (official, bundled with Studio or available via Plugin Manager)"
|
|
291
|
+
install_steps:
|
|
292
|
+
- "Open Roblox Studio"
|
|
293
|
+
- "Install the MCP plugin from the Studio Plugin Manager if not already present"
|
|
294
|
+
- "The plugin starts a local MCP server when Studio is running"
|
|
295
|
+
- "In Claude Code: claude mcp add roblox-studio <server-command> (verify exact command via Roblox docs)"
|
|
296
|
+
- "Confirm the active Studio instance with list_roblox_studios before making edits"
|
|
297
|
+
requirements: "Roblox Studio (latest version recommended)"
|
|
298
|
+
supported_clients: ["Claude Code", "Claude Desktop"]
|
|
299
|
+
license: "Proprietary (Roblox)"
|
|
300
|
+
note: "Unlike community MCPs for other engines, this is a first-party tool maintained by Roblox. The execute_luau tool — which runs arbitrary Luau in the live game context — is a capability no community engine MCP currently matches. Verify install steps via current Roblox documentation, as the plugin ecosystem evolves."
|
|
301
|
+
benefit_summary: "The official Roblox Studio MCP gives AI agents 21 tools covering the full edit → script → run → inspect → fix loop. The standout capability is execute_luau: run assertions, inspect live state, fire RemoteEvents, and verify game behavior directly from the AI session without leaving Claude Code."
|
|
302
|
+
|
|
184
303
|
general:
|
|
185
304
|
engine: "Any"
|
|
186
305
|
description: "General-purpose MCPs useful for any game engine"
|
|
@@ -215,9 +334,12 @@ recommendation_rules:
|
|
|
215
334
|
note: "When multiple MCPs exist for an engine, present the top 1-2 options and let the user choose"
|
|
216
335
|
unity_default: "mcp_unity"
|
|
217
336
|
unity_alternative: "unity_mcp_coplay"
|
|
337
|
+
unity_official_note: "unity_mcp_official exists but needs a paid Unity AI subscription - recommend it only when the user already has one"
|
|
218
338
|
unreal_default: "unreal_mcp"
|
|
219
|
-
godot_default: "
|
|
220
|
-
godot_alternative: "
|
|
339
|
+
godot_default: "godot_mcp_gopeak"
|
|
340
|
+
godot_alternative: "godot_mcp_tugcantopaloglu"
|
|
341
|
+
roblox_default: "roblox_studio_mcp"
|
|
342
|
+
roblox_note: "Only one MCP exists for Roblox and it is first-party and official — recommend it unconditionally"
|
|
221
343
|
|
|
222
344
|
recommend_if:
|
|
223
345
|
godot_docs_needed:
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
+
#
|
|
3
|
+
# Workflow customization surface for gds-investigate. Mirrors the
|
|
4
|
+
# agent customization shape under the [workflow] namespace.
|
|
5
|
+
|
|
6
|
+
[workflow]
|
|
7
|
+
|
|
8
|
+
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
9
|
+
# scalars: override wins • arrays (persistent_facts, activation_steps_*): append
|
|
10
|
+
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
+
|
|
12
|
+
# Steps to run before the standard activation (config load, greet).
|
|
13
|
+
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
+
|
|
15
|
+
activation_steps_prepend = []
|
|
16
|
+
|
|
17
|
+
# Steps to run after greet but before the workflow begins.
|
|
18
|
+
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
+
# once the user has been acknowledged.
|
|
20
|
+
|
|
21
|
+
activation_steps_append = []
|
|
22
|
+
|
|
23
|
+
# Persistent facts the workflow keeps in mind for the whole run.
|
|
24
|
+
# Use for citation conventions (path:line vs path#L42), grading-scale
|
|
25
|
+
# overrides (ITIL severity 1-5 instead of High/Medium/Low), tone
|
|
26
|
+
# directives (engineering vs exec-facing), or compliance constraints
|
|
27
|
+
# the case file must respect.
|
|
28
|
+
# Distinct from the runtime memory sidecar — these are static context
|
|
29
|
+
# loaded on activation. Overrides append.
|
|
30
|
+
#
|
|
31
|
+
# Each entry is either:
|
|
32
|
+
# - a literal sentence, e.g. "Use ITIL severity 1-5 instead of High/Medium/Low for confidence."
|
|
33
|
+
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
34
|
+
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
35
|
+
|
|
36
|
+
persistent_facts = [
|
|
37
|
+
"file:{project-root}/**/project-context.md",
|
|
38
|
+
]
|
|
39
|
+
|
|
40
|
+
# Scalar: path to the case-file template, resolved from the skill root.
|
|
41
|
+
# Override to point at an org-shaped template (compliance sections,
|
|
42
|
+
# SLA fields, post-mortem hooks, ITIL fields).
|
|
43
|
+
|
|
44
|
+
case_file_template = "references/case-file-template.md"
|
|
45
|
+
|
|
46
|
+
# Scalar: subdirectory under {implementation_artifacts} where case files land.
|
|
47
|
+
# Override for org taxonomies (forensics/, cases/, incidents/, bug-bash/).
|
|
48
|
+
|
|
49
|
+
case_file_subdir = "investigations"
|
|
50
|
+
|
|
51
|
+
# Scalar: filename pattern for new case files. {slug} expands to the
|
|
52
|
+
# ticket ID or a short user-agreed name.
|
|
53
|
+
|
|
54
|
+
case_file_filename = "{slug}-investigation.md"
|
|
55
|
+
|
|
56
|
+
# Scalar: executed when the workflow finalizes the case file at Outcome 5,
|
|
57
|
+
# after the conclusion is presented. Override wins. Use for post-case
|
|
58
|
+
# automation: post the case to Slack/Teams, push fields back to ticketing,
|
|
59
|
+
# link the case to a sprint, trigger a follow-up retro.
|
|
60
|
+
# Leave empty for no custom post-completion behavior.
|
|
61
|
+
|
|
62
|
+
on_complete = ""
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"name": "bmad-method-test-architecture-enterprise",
|
|
13
13
|
"source": "./",
|
|
14
14
|
"description": "Master Test Architect module for quality strategy, test automation, CI/CD quality gates, and structured testing education. Part of the BMad Method ecosystem.",
|
|
15
|
-
"version": "1.
|
|
15
|
+
"version": "1.19.0",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "Murat K Ozcan (TEA Creator) & Brian (BMad) Madison"
|
|
18
18
|
},
|
|
@@ -25,14 +25,14 @@ jobs:
|
|
|
25
25
|
runs-on: ubuntu-latest
|
|
26
26
|
steps:
|
|
27
27
|
- name: Checkout repository
|
|
28
|
-
uses: actions/checkout@
|
|
28
|
+
uses: actions/checkout@v5
|
|
29
29
|
with:
|
|
30
30
|
fetch-depth: 0
|
|
31
31
|
|
|
32
32
|
- name: Setup Node.js
|
|
33
|
-
uses: actions/setup-node@
|
|
33
|
+
uses: actions/setup-node@v6
|
|
34
34
|
with:
|
|
35
|
-
node-version: "
|
|
35
|
+
node-version-file: ".nvmrc"
|
|
36
36
|
cache: "npm"
|
|
37
37
|
|
|
38
38
|
- name: Install root dependencies
|
|
@@ -18,10 +18,10 @@ jobs:
|
|
|
18
18
|
runs-on: ubuntu-latest
|
|
19
19
|
steps:
|
|
20
20
|
- name: Checkout
|
|
21
|
-
uses: actions/checkout@
|
|
21
|
+
uses: actions/checkout@v5
|
|
22
22
|
|
|
23
23
|
- name: Setup Node
|
|
24
|
-
uses: actions/setup-node@
|
|
24
|
+
uses: actions/setup-node@v6
|
|
25
25
|
with:
|
|
26
26
|
node-version-file: ".nvmrc"
|
|
27
27
|
cache: "npm"
|
|
@@ -36,10 +36,10 @@ jobs:
|
|
|
36
36
|
runs-on: ubuntu-latest
|
|
37
37
|
steps:
|
|
38
38
|
- name: Checkout
|
|
39
|
-
uses: actions/checkout@
|
|
39
|
+
uses: actions/checkout@v5
|
|
40
40
|
|
|
41
41
|
- name: Setup Node
|
|
42
|
-
uses: actions/setup-node@
|
|
42
|
+
uses: actions/setup-node@v6
|
|
43
43
|
with:
|
|
44
44
|
node-version-file: ".nvmrc"
|
|
45
45
|
cache: "npm"
|
|
@@ -54,10 +54,10 @@ jobs:
|
|
|
54
54
|
runs-on: ubuntu-latest
|
|
55
55
|
steps:
|
|
56
56
|
- name: Checkout
|
|
57
|
-
uses: actions/checkout@
|
|
57
|
+
uses: actions/checkout@v5
|
|
58
58
|
|
|
59
59
|
- name: Setup Node
|
|
60
|
-
uses: actions/setup-node@
|
|
60
|
+
uses: actions/setup-node@v6
|
|
61
61
|
with:
|
|
62
62
|
node-version-file: ".nvmrc"
|
|
63
63
|
cache: "npm"
|
|
@@ -72,10 +72,10 @@ jobs:
|
|
|
72
72
|
runs-on: ubuntu-latest
|
|
73
73
|
steps:
|
|
74
74
|
- name: Checkout
|
|
75
|
-
uses: actions/checkout@
|
|
75
|
+
uses: actions/checkout@v5
|
|
76
76
|
|
|
77
77
|
- name: Setup Node
|
|
78
|
-
uses: actions/setup-node@
|
|
78
|
+
uses: actions/setup-node@v6
|
|
79
79
|
with:
|
|
80
80
|
node-version-file: ".nvmrc"
|
|
81
81
|
cache: "npm"
|
|
@@ -93,10 +93,10 @@ jobs:
|
|
|
93
93
|
runs-on: ubuntu-latest
|
|
94
94
|
steps:
|
|
95
95
|
- name: Checkout
|
|
96
|
-
uses: actions/checkout@
|
|
96
|
+
uses: actions/checkout@v5
|
|
97
97
|
|
|
98
98
|
- name: Setup Node
|
|
99
|
-
uses: actions/setup-node@
|
|
99
|
+
uses: actions/setup-node@v6
|
|
100
100
|
with:
|
|
101
101
|
node-version-file: ".nvmrc"
|
|
102
102
|
cache: "npm"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Repository Guidelines
|
|
2
|
+
|
|
3
|
+
## Project Shape
|
|
4
|
+
|
|
5
|
+
- Core TEA module content lives in `src/`.
|
|
6
|
+
- Public documentation lives in `docs/`; the Starlight site consumes it through `website/`.
|
|
7
|
+
- GitHub Actions workflows live in `.github/workflows/`.
|
|
8
|
+
- Release metadata must stay synchronized across `package.json`, `package-lock.json`, and `.claude-plugin/marketplace.json`.
|
|
9
|
+
|
|
10
|
+
## Common Commands
|
|
11
|
+
|
|
12
|
+
- `npm test`: full quality gate used before release.
|
|
13
|
+
- `npm run format:check`: Prettier check.
|
|
14
|
+
- `npm run lint`: ESLint check.
|
|
15
|
+
- `npm run lint:md`: markdownlint check.
|
|
16
|
+
- `npm run docs:validate-links`: docs link validation.
|
|
17
|
+
- `npm run docs:build`: full docs and site build.
|
|
18
|
+
- `npm run test:release-metadata`: package/lockfile/marketplace version sync check.
|
|
19
|
+
|
|
20
|
+
## Changelog Discipline
|
|
21
|
+
|
|
22
|
+
- For any user-facing change, documentation change, workflow/CI change, release behavior change, or bug fix, update `CHANGELOG.md` in the same PR.
|
|
23
|
+
- Put unreleased work under the top `## [Unreleased]` section using Keep a Changelog headings such as `Added`, `Changed`, `Fixed`, `Deprecated`, or `Removed`.
|
|
24
|
+
- When preparing or repairing a stable release, convert the relevant `[Unreleased]` notes into an exact version section like `## [1.16.0] - YYYY-MM-DD`.
|
|
25
|
+
- Do not leave release-worthy changes only in GitHub auto-generated notes. The publish workflow can fall back to `[Unreleased]`, but an exact version entry is preferred for stable releases.
|
|
26
|
+
|
|
27
|
+
## PR Notes
|
|
28
|
+
|
|
29
|
+
- Mention validation commands actually run.
|
|
30
|
+
- For docs-only changes, at minimum run `npm run docs:validate-links`, `npm run lint:md`, and `npm run format:check`.
|
|
31
|
+
- For workflow or release changes, run `npm run format:check`, `npm run lint:md`, `npm run lint`, and `npm run test:release-metadata`.
|
|
@@ -5,6 +5,47 @@ All notable changes to the Test Architect (TEA) module will be documented in thi
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- NFR workflow boundary clarified: `test-design` now owns NFR planning (thresholds, planned evidence, NFR-derived risks) and `nfr-assess` is reframed as NFR Evidence Audit — evaluating implementation evidence against planned thresholds after code exists.
|
|
13
|
+
- `nfr-assess` step-02 now checks for an existing `test-design` NFR plan first and uses it as the primary threshold source, falling back to raw documents only for missing or UNKNOWN thresholds.
|
|
14
|
+
- TEA agent menu gains a `GATE` routing intent that guides users through the release gate sequence (optional test-review → optional nfr-assess → trace Phase 2 gate) without merging those workflows.
|
|
15
|
+
- NFR domains in `nfr-assess` corrected from "maintainability" to "scalability" to match the four parallel subagent domains (security, performance, reliability, scalability).
|
|
16
|
+
- TEA phase table updated: `nfr-assess` marked optional at the Release phase.
|
|
17
|
+
- NFR planning items in `test-design` step-05 output checklist conditioned on NFR scope.
|
|
18
|
+
- Engagement models table: TEA Solo row for NFR Evidence Audit updated from No to Optional.
|
|
19
|
+
- GitHub Actions workflow dependencies upgraded to Node 24-compatible major versions:
|
|
20
|
+
- `actions/checkout@v5`
|
|
21
|
+
- `actions/setup-node@v6`
|
|
22
|
+
- `actions/create-github-app-token@v3`
|
|
23
|
+
- Publish releases now use `[Unreleased]` changelog notes before falling back to generated GitHub release notes when an exact version section is missing.
|
|
24
|
+
- Documented workflow-local knowledge resources as intentional self-contained skill packaging and added validation for workflow-local knowledge indexes.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## [1.16.0] - 2026-05-08
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- Claude Cowork marketplace plugin support.
|
|
33
|
+
- TEA Phase 3 command examples in the overview docs, including direct slash commands and Codex skill invocations.
|
|
34
|
+
- System-level and per-epic `test-design` usage examples in the TEA overview docs.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- Catalog dependency metadata now uses `preceded-by` and `followed-by` column names.
|
|
39
|
+
- TEA overview command guidance now distinguishes workflow names, TEA menu codes, slash commands, and Codex skills.
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
|
|
43
|
+
- Normalized `module-help.csv` to the documented 13-column schema.
|
|
44
|
+
- Clarified the exact `/bmad:tea:ci` command path for Phase 3 CI setup.
|
|
45
|
+
- Clarified the difference between Phase 3 system-level `test-design` and Phase 4 per-epic `test-design`.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
8
49
|
## [1.2.4] - 2026-02-22
|
|
9
50
|
|
|
10
51
|
### Changed
|
|
@@ -15,7 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
15
56
|
- Affected workflows: `atdd`, `automate`, `ci`, `framework`, `nfr-assess`, `teach-me-testing`, `test-design`, `test-review`, `trace`
|
|
16
57
|
- Removed redundant `web_bundle: false` from workflow.yaml files
|
|
17
58
|
|
|
18
|
-
## [Unreleased]
|
|
59
|
+
## [Historical Unreleased Notes]
|
|
19
60
|
|
|
20
61
|
### Added
|
|
21
62
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://www.python.org)
|
|
4
4
|
[](https://docs.astral.sh/uv/)
|
|
5
5
|
|
|
6
|
-
TEA (Test Engineering Architect) is a standalone BMAD module that delivers risk-based test strategy, test automation guidance, and release gate decisions. It provides a single expert agent (Murat, Master Test Architect and Quality Advisor) and nine workflows spanning Teach Me Testing (TEA Academy), framework setup,
|
|
6
|
+
TEA (Test Engineering Architect) is a standalone BMAD module that delivers risk-based test strategy, test automation guidance, and release gate decisions. It provides a single expert agent (Murat, Master Test Architect and Quality Advisor) and nine workflows spanning Teach Me Testing (TEA Academy), test design, framework setup, CI guidance, ATDD, automation, test review, NFR Evidence Audit, and traceability.
|
|
7
7
|
|
|
8
8
|
Docs: <https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/>
|
|
9
9
|
|
|
@@ -43,9 +43,12 @@ TEA has two layers of files, and each has a specific job:
|
|
|
43
43
|
| `steps-v/*.md` | **Validate** steps — always 1 file: evaluate against checklist | On demand |
|
|
44
44
|
| `checklist.md` | Validation criteria — what "done" looks like for this workflow | Read by steps-v |
|
|
45
45
|
| `*-template.md` | Output skeleton with `{PLACEHOLDER}` vars — steps fill these in to produce the final artifact | Read by steps-c when generating output |
|
|
46
|
-
| `src/agents/bmad-tea/resources/tea-index.csv` |
|
|
46
|
+
| `src/agents/bmad-tea/resources/tea-index.csv` | Agent-level knowledge fragment index — id, name, tags, tier (core/extended/specialized), file path | Read by the TEA agent for direct recommendations |
|
|
47
|
+
| `src/workflows/testarch/<workflow>/resources/` | Workflow-local knowledge index and fragments | Read by workflow steps from that workflow's skill root |
|
|
47
48
|
| `resources/knowledge/*.md` | Reusable fragments — standards, patterns, API references | Selectively read into context based on tier + config |
|
|
48
49
|
|
|
50
|
+
Workflow resource directories intentionally duplicate the TEA knowledge base. Each workflow skill must stay self-contained so it can be installed, copied, or invoked without reaching across skill boundaries. When knowledge changes, propagate the intended updates to the affected workflow resource directories instead of replacing them with a central runtime path.
|
|
51
|
+
|
|
49
52
|
```mermaid
|
|
50
53
|
flowchart LR
|
|
51
54
|
U[User] --> A[Agent Persona]
|
|
@@ -120,7 +123,7 @@ npx bmad-method install
|
|
|
120
123
|
1. Install TEA (above)
|
|
121
124
|
2. Load the TEA menu with `$bmad-tea` if you want a conversational entrypoint.
|
|
122
125
|
3. Run one of the core workflows:
|
|
123
|
-
- `TD` / `/bmad:tea:test-design` / `$bmad-tea-testarch-test-design` — test design and
|
|
126
|
+
- `TD` / `/bmad:tea:test-design` / `$bmad-tea-testarch-test-design` — test design, risk assessment, and NFR planning
|
|
124
127
|
- `AT` / `/bmad:tea:atdd` / `$bmad-tea-testarch-atdd` — failing acceptance tests first (TDD red phase)
|
|
125
128
|
- `TA` / `/bmad:tea:automate` / `$bmad-tea-testarch-automate` — expand automation coverage
|
|
126
129
|
4. Or use in party mode: `/party` to include TEA with other agents
|
|
@@ -137,14 +140,14 @@ npx bmad-method install
|
|
|
137
140
|
| Trigger | Slash Command | Codex Skill | Purpose |
|
|
138
141
|
| ------- | ---------------------------- | -------------------------------- | --------------------------------------------------------- |
|
|
139
142
|
| TMT | `/bmad:tea:teach-me-testing` | `$bmad-tea-teach-me-testing` | Teach Me Testing (TEA Academy) |
|
|
143
|
+
| TD | `/bmad:tea:test-design` | `$bmad-tea-testarch-test-design` | System-level or epic-level test design and NFR planning |
|
|
140
144
|
| TF | `/bmad:tea:framework` | `$bmad-tea-testarch-framework` | Scaffold test framework (frontend, backend, or fullstack) |
|
|
141
145
|
| CI | `/bmad:tea:ci` | `$bmad-tea-testarch-ci` | Set up CI/CD quality pipeline (multi-platform) |
|
|
142
|
-
| TD | `/bmad:tea:test-design` | `$bmad-tea-testarch-test-design` | System-level or epic-level test design |
|
|
143
146
|
| AT | `/bmad:tea:atdd` | `$bmad-tea-testarch-atdd` | Generate failing acceptance tests + checklist |
|
|
144
147
|
| TA | `/bmad:tea:automate` | `$bmad-tea-testarch-automate` | Expand test automation coverage |
|
|
145
148
|
| RV | `/bmad:tea:test-review` | `$bmad-tea-testarch-test-review` | Review test quality and score |
|
|
149
|
+
| NR | `/bmad:tea:nfr-assess` | `$bmad-tea-testarch-nfr` | Audit implemented NFR evidence |
|
|
146
150
|
| TR | `/bmad:tea:trace` | `$bmad-tea-testarch-trace` | Trace requirements to tests + gate decision |
|
|
147
|
-
| NR | `/bmad:tea:nfr-assess` | `$bmad-tea-testarch-nfr` | Assess non-functional requirements |
|
|
148
151
|
|
|
149
152
|
## Configuration
|
|
150
153
|
|
|
@@ -15,10 +15,60 @@
|
|
|
15
15
|
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
|
16
16
|
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
|
|
17
17
|
|
|
18
|
-
# This example catches duplicate Signed-off-by lines
|
|
18
|
+
# This example catches duplicate Signed-off-by lines and messages that
|
|
19
|
+
# would confuse 'git am'.
|
|
20
|
+
|
|
21
|
+
ret=0
|
|
19
22
|
|
|
20
23
|
test "" = "$(grep '^Signed-off-by: ' "$1" |
|
|
21
24
|
sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
|
|
22
25
|
echo >&2 Duplicate Signed-off-by lines.
|
|
23
|
-
|
|
26
|
+
ret=1
|
|
24
27
|
}
|
|
28
|
+
|
|
29
|
+
comment_re="$(
|
|
30
|
+
{
|
|
31
|
+
git config --get-regexp "^core\.comment(char|string)\$" ||
|
|
32
|
+
echo '#'
|
|
33
|
+
} | sed -n -e '
|
|
34
|
+
${
|
|
35
|
+
s/^[^ ]* //
|
|
36
|
+
s|[][*./\]|\\&|g
|
|
37
|
+
s/^auto$/[#;@!$%^&|:]/
|
|
38
|
+
p
|
|
39
|
+
}'
|
|
40
|
+
)"
|
|
41
|
+
scissors_line="^${comment_re} -\{8,\} >8 -\{8,\}\$"
|
|
42
|
+
comment_line="^${comment_re}.*"
|
|
43
|
+
blank_line='^[ ]*$'
|
|
44
|
+
# Disallow lines starting with "diff -" or "Index: " in the body of the
|
|
45
|
+
# message. Stop looking if we see a scissors line.
|
|
46
|
+
line="$(sed -n -e "
|
|
47
|
+
# Skip comments and blank lines at the start of the file.
|
|
48
|
+
/${scissors_line}/q
|
|
49
|
+
/${comment_line}/d
|
|
50
|
+
/${blank_line}/d
|
|
51
|
+
# The first paragraph will become the subject header so
|
|
52
|
+
# does not need to be checked.
|
|
53
|
+
: subject
|
|
54
|
+
n
|
|
55
|
+
/${scissors_line}/q
|
|
56
|
+
/${blank_line}/!b subject
|
|
57
|
+
# Check the body of the message for problematic
|
|
58
|
+
# prefixes.
|
|
59
|
+
: body
|
|
60
|
+
n
|
|
61
|
+
/${scissors_line}/q
|
|
62
|
+
/${comment_line}/b body
|
|
63
|
+
/^diff -/{p;q;}
|
|
64
|
+
/^Index: /{p;q;}
|
|
65
|
+
b body
|
|
66
|
+
" "$1")"
|
|
67
|
+
if test -n "$line"
|
|
68
|
+
then
|
|
69
|
+
echo >&2 "Message contains a diff that will confuse 'git am'."
|
|
70
|
+
echo >&2 "To fix this indent the diff."
|
|
71
|
+
ret=1
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
exit $ret
|
|
@@ -29,8 +29,6 @@ if ($version ne 2) {
|
|
|
29
29
|
|
|
30
30
|
my $git_work_tree = get_working_dir();
|
|
31
31
|
|
|
32
|
-
my $retry = 1;
|
|
33
|
-
|
|
34
32
|
my $json_pkg;
|
|
35
33
|
eval {
|
|
36
34
|
require JSON::XS;
|
|
@@ -123,8 +121,7 @@ sub watchman_query {
|
|
|
123
121
|
sub is_work_tree_watched {
|
|
124
122
|
my ($output) = @_;
|
|
125
123
|
my $error = $output->{error};
|
|
126
|
-
if ($
|
|
127
|
-
$retry--;
|
|
124
|
+
if ($error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) {
|
|
128
125
|
my $response = qx/watchman watch "$git_work_tree"/;
|
|
129
126
|
die "Failed to make watchman watch '$git_work_tree'.\n" .
|
|
130
127
|
"Falling back to scanning...\n" if $? != 0;
|
|
@@ -142,15 +139,12 @@ sub is_work_tree_watched {
|
|
|
142
139
|
# Watchman query just to get it over with now so we won't pay
|
|
143
140
|
# the cost in git to look up each individual file.
|
|
144
141
|
my $o = watchman_clock();
|
|
145
|
-
$error = $
|
|
142
|
+
$error = $o->{error};
|
|
146
143
|
|
|
147
144
|
die "Watchman: $error.\n" .
|
|
148
145
|
"Falling back to scanning...\n" if $error;
|
|
149
146
|
|
|
150
147
|
output_result($o->{clock}, ("/"));
|
|
151
|
-
$last_update_token = $o->{clock};
|
|
152
|
-
|
|
153
|
-
eval { launch_watchman() };
|
|
154
148
|
return 0;
|
|
155
149
|
}
|
|
156
150
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# pack-refs with: peeled fully-peeled sorted
|
|
2
|
-
|
|
2
|
+
8734d51f24071ddbcb3617390b5fcddb4128ef77 refs/remotes/origin/main
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
8734d51f24071ddbcb3617390b5fcddb4128ef77
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
452c9dd80219cf7cf7fd5666f9724067cb5c5d11
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
8734d51f24071ddbcb3617390b5fcddb4128ef77
|
|
@@ -205,12 +205,11 @@ Steps:
|
|
|
205
205
|
**Phase 2: Planning**
|
|
206
206
|
|
|
207
207
|
- PM creates PRD with NFRs
|
|
208
|
-
- (Optional) TEA runs `nfr-assess` (Enterprise only)
|
|
209
208
|
|
|
210
209
|
**Phase 3: Solutioning**
|
|
211
210
|
|
|
212
211
|
- Architect creates architecture
|
|
213
|
-
- TEA runs `test-design` (system-level) → testability review
|
|
212
|
+
- TEA runs `test-design` (system-level) → testability review and NFR evidence plan
|
|
214
213
|
- TEA runs `framework` → test infrastructure
|
|
215
214
|
- TEA runs `ci` → CI/CD pipeline
|
|
216
215
|
- Architect runs `implementation-readiness` (fed by test design)
|
|
@@ -229,7 +228,7 @@ Steps:
|
|
|
229
228
|
**Release Gate:**
|
|
230
229
|
|
|
231
230
|
- (Optional) TEA runs `test-review` → final audit
|
|
232
|
-
- (Optional) TEA runs `nfr-assess` →
|
|
231
|
+
- (Optional) TEA runs `nfr-assess` → audit NFR evidence
|
|
233
232
|
- TEA runs `trace` Phase 2 → gate decision (PASS/CONCERNS/FAIL/WAIVED)
|
|
234
233
|
|
|
235
234
|
**What You Get:**
|
|
@@ -396,7 +395,7 @@ flowchart TD
|
|
|
396
395
|
| -------------------------- | --------------------------- | ----------------------------- |
|
|
397
396
|
| **None** | Any model | Choose based on project needs |
|
|
398
397
|
| **Light** (internal audit) | TEA Solo or Integrated | Gate decisions helpful |
|
|
399
|
-
| **Heavy** (SOC 2, HIPAA) | TEA Integrated (Enterprise) | NFR
|
|
398
|
+
| **Heavy** (SOC 2, HIPAA) | TEA Integrated (Enterprise) | NFR evidence audit mandatory |
|
|
400
399
|
|
|
401
400
|
## Switching Between Models
|
|
402
401
|
|
|
@@ -444,17 +443,17 @@ Result: TEA where it adds value, skip where it doesn't
|
|
|
444
443
|
|
|
445
444
|
## Comparison Table
|
|
446
445
|
|
|
447
|
-
| Aspect
|
|
448
|
-
|
|
|
449
|
-
| **BMad Required**
|
|
450
|
-
| **Learning Curve**
|
|
451
|
-
| **Setup Time**
|
|
452
|
-
| **Workflows Used**
|
|
453
|
-
| **Test Planning**
|
|
454
|
-
| **Quality Gates**
|
|
455
|
-
| **NFR
|
|
456
|
-
| **Coverage Tracking**
|
|
457
|
-
| **Best For**
|
|
446
|
+
| Aspect | No TEA | TEA Lite | TEA Solo | Integrated (Green) | Integrated (Brown) |
|
|
447
|
+
| ---------------------- | ------- | --------- | ---------- | ------------------ | ------------------ |
|
|
448
|
+
| **BMad Required** | No | No | No | Yes | Yes |
|
|
449
|
+
| **Learning Curve** | None | Low | Medium | High | High |
|
|
450
|
+
| **Setup Time** | 0 | 30 min | 2 hours | 1 day | 2 days |
|
|
451
|
+
| **Workflows Used** | 0 | 2-3 | 4-6 | 8 | 8 |
|
|
452
|
+
| **Test Planning** | Manual | Optional | Yes | Systematic | + Regression focus |
|
|
453
|
+
| **Quality Gates** | No | No | Optional | Yes | Yes + baseline |
|
|
454
|
+
| **NFR Evidence Audit** | No | No | Optional | Optional | Recommended |
|
|
455
|
+
| **Coverage Tracking** | Manual | No | Optional | Yes | Yes + trending |
|
|
456
|
+
| **Best For** | Experts | Beginners | Standalone | New projects | Legacy code |
|
|
458
457
|
|
|
459
458
|
## Real-World Examples
|
|
460
459
|
|
|
@@ -496,7 +495,7 @@ Decision: Full BMad Method + TEA Integrated
|
|
|
496
495
|
Result:
|
|
497
496
|
- Full lifecycle integration
|
|
498
497
|
- Quality gates before releases
|
|
499
|
-
- NFR
|
|
498
|
+
- NFR evidence audit for enterprise customers
|
|
500
499
|
```
|
|
501
500
|
|
|
502
501
|
### Example 2: Enterprise (TEA Integrated - Brownfield)
|