ma-agents 2.22.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/skills/.ma-agents.json +99 -99
- package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +22 -0
- package/lib/bmad-cache/bmb/.markdownlint-cli2.yaml +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.idx +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.pack +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.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 +7 -4
- package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/generate-html-report.py +534 -0
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/prepass-execution-deps.py +4 -35
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/prepass-prompt-metrics.py +2 -75
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/prepass-structure-capabilities.py +3 -194
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/scan-path-standards.py +104 -18
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/assets/module-help.csv +6 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/assets/module.yaml +20 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/cleanup-legacy.py +259 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/merge-config.py +408 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/merge-help-csv.py +220 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-cleanup-legacy.py +429 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-config.py +644 -0
- package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-help-csv.py +237 -0
- package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-html-report.py +539 -0
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/prepass-execution-deps.py +5 -30
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/prepass-workflow-integrity.py +0 -5
- package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/scan-path-standards.py +103 -16
- package/lib/bmad-cache/bmb/skills/module-help.csv +6 -0
- package/lib/bmad-cache/bmb/skills/module.yaml +20 -0
- package/lib/bmad-cache/bmb/tools/validate-doc-links.cjs +407 -0
- package/lib/bmad-cache/bmb/tools/validate-file-refs.mjs +1 -1
- package/lib/bmad-cache/cache-manifest.json +16 -10
- package/lib/bmad-cache/cis/.claude-plugin/marketplace.json +33 -0
- package/lib/bmad-cache/cis/_git_preserved/index +0 -0
- package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.pack → pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.pack} +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.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/shallow +1 -1
- package/lib/bmad-cache/cis/package-lock.json +17015 -0
- package/lib/bmad-cache/cis/package.json +3 -4
- package/lib/bmad-cache/cis/src/module-help.csv +6 -6
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +58 -0
- package/lib/bmad-cache/gds/_git_preserved/index +0 -0
- package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.pack → pack-8099a88fca0ad946a573316a00887a2921ca1712.pack} +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.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 -0
- package/lib/bmad-cache/gds/src/module-help.csv +35 -35
- package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +33 -0
- package/lib/bmad-cache/tea/CHANGELOG.md +2 -14
- package/lib/bmad-cache/tea/README.md +31 -18
- package/lib/bmad-cache/tea/_git_preserved/index +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.pack → pack-d243f64f83b36190434d68872a69a40870c53030.pack} +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.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.7.3 +1 -0
- package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
- package/lib/bmad-cache/tea/docs/explanation/knowledge-base-system.md +5 -5
- package/lib/bmad-cache/tea/docs/explanation/step-file-architecture.md +2 -2
- package/lib/bmad-cache/tea/docs/explanation/tea-overview.md +3 -3
- package/lib/bmad-cache/tea/docs/glossary/index.md +1 -1
- package/lib/bmad-cache/tea/docs/how-to/customization/extend-tea-with-custom-workflows.md +73 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/teach-me-testing.md +7 -7
- package/lib/bmad-cache/tea/docs/index.md +2 -1
- package/lib/bmad-cache/tea/docs/reference/commands.md +4 -1
- package/lib/bmad-cache/tea/docs/reference/configuration.md +37 -15
- package/lib/bmad-cache/tea/docs/reference/knowledge-base.md +75 -73
- package/lib/bmad-cache/tea/docs/reference/troubleshooting.md +32 -19
- package/lib/bmad-cache/tea/docs/tutorials/learn-testing-tea-academy.md +3 -3
- package/lib/bmad-cache/tea/package-lock.json +2 -2
- package/lib/bmad-cache/tea/package.json +2 -1
- package/lib/bmad-cache/tea/src/agents/bmad-tea/SKILL.md +70 -0
- package/lib/bmad-cache/tea/src/agents/bmad-tea/bmad-skill-manifest.yaml +14 -0
- package/lib/bmad-cache/tea/src/module-help.csv +10 -10
- package/lib/bmad-cache/tea/src/module.yaml +8 -8
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/checklist.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/curriculum.yaml +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/session-content-map.yaml +26 -14
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/tea-resources-index.yaml +108 -73
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/instructions.md +2 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-03-session-menu.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-01.md +3 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-07.md +14 -6
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-05-completion.md +3 -3
- 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-teach-me-testing/workflow-plan-teach-me-testing.md +8 -8
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +3 -3
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +9 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03b-subagent-e2e.md +2 -2
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +6 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +3 -2
- 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-test-design/steps-c/step-02-load-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +1 -1
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/test-review-template.md +11 -11
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +1 -1
- package/lib/bmad-cache/tea/test/test-installation-components.js +85 -21
- package/lib/bmad-cache/tea/test/test-knowledge-base.js +1 -1
- package/lib/bmad-cache/tea/tools/validate-agent-schema.js +105 -5
- package/lib/bmad-cache/wds/.claude-plugin/marketplace.json +35 -0
- package/lib/bmad-cache/wds/.markdownlint-cli2.yaml +38 -0
- package/lib/bmad-cache/wds/.nvmrc +1 -0
- package/lib/bmad-cache/wds/.prettierignore +9 -0
- package/lib/bmad-cache/wds/LICENSE +27 -0
- package/lib/bmad-cache/wds/README.md +126 -0
- package/lib/bmad-cache/wds/_git_preserved/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/config +13 -0
- package/lib/bmad-cache/wds/_git_preserved/description +1 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/applypatch-msg.sample +15 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/commit-msg.sample +24 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/post-update.sample +8 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-applypatch.sample +14 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-commit.sample +49 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-merge-commit.sample +13 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-push.sample +53 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-rebase.sample +169 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-receive.sample +24 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/push-to-checkout.sample +78 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/sendemail-validate.sample +77 -0
- package/lib/bmad-cache/wds/_git_preserved/hooks/update.sample +128 -0
- package/lib/bmad-cache/wds/_git_preserved/index +0 -0
- package/lib/bmad-cache/wds/_git_preserved/info/exclude +6 -0
- package/lib/bmad-cache/wds/_git_preserved/logs/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/logs/refs/heads/main +1 -0
- package/lib/bmad-cache/wds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.idx +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.pack +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.rev +0 -0
- package/lib/bmad-cache/wds/_git_preserved/packed-refs +2 -0
- package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +1 -0
- package/lib/bmad-cache/wds/_git_preserved/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/wds/_git_preserved/shallow +1 -0
- package/lib/bmad-cache/wds/eslint.config.mjs +152 -0
- package/lib/bmad-cache/wds/package.json +82 -0
- package/lib/bmad-cache/wds/prettier.config.mjs +32 -0
- package/lib/bmad-cache/wds/src/agents/wds-agent-freya-ux/bmad-skill-manifest.yaml +12 -0
- package/lib/bmad-cache/wds/src/agents/wds-agent-saga-analyst/bmad-skill-manifest.yaml +12 -0
- package/lib/bmad-cache/wds/src/module-help.csv +18 -0
- package/lib/bmad-cache/wds/src/module.yaml +148 -0
- package/lib/bmad-cache/wds/src/workflows/wds-1-project-brief/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-1-project-brief/templates/platform-requirements.template.yaml +69 -0
- package/lib/bmad-cache/wds/src/workflows/wds-2-trigger-mapping/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-3-scenarios/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/design-delivery.template.yaml +104 -0
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/test-scenario.template.yaml +192 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.css +164 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.html +18 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.js +430 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/demo-data-template.json +63 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/page-template.html +465 -0
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/work-file-template.yaml +264 -0
- package/lib/bmad-cache/wds/src/workflows/wds-6-asset-generation/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-7-design-system/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/wds/src/workflows/wds-7-design-system/templates/catalog.template.html +363 -0
- package/lib/bmad-cache/wds/src/workflows/wds-8-product-evolution/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-customize/bmm-architect.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-bmad-master.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-dev.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-pm.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-qa.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-sm.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-tech-writer.customize.yaml +6 -0
- package/lib/bmad-customize/bmm-ux-designer.customize.yaml +6 -0
- package/lib/bmad-extension/module-help.csv +37 -7
- package/lib/bmad-extension/module.yaml +4 -2
- package/lib/bmad-extension/skills/add-sprint/.gitkeep +0 -0
- package/lib/bmad-extension/skills/add-sprint/SKILL.md +121 -0
- package/lib/bmad-extension/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/add-to-sprint/.gitkeep +0 -0
- package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +215 -0
- package/lib/bmad-extension/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-cyber/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-cyber/SKILL.md +44 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-devops/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-devops/SKILL.md +44 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-devops/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +48 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-sre/.gitkeep +0 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-sre/SKILL.md +44 -0
- package/lib/bmad-extension/skills/bmad-ma-agent-sre/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-extension/skills/create-bug-story/.gitkeep +0 -0
- package/lib/bmad-extension/skills/create-bug-story/SKILL.md +195 -0
- package/lib/bmad-extension/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-generate-certs/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-generate-certs/SKILL.md +27 -0
- package/lib/bmad-extension/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-immunity-estimation/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-immunity-estimation/SKILL.md +29 -0
- package/lib/bmad-extension/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-security-audit/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-security-audit/SKILL.md +27 -0
- package/lib/bmad-extension/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-vault-secrets/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-vault-secrets/SKILL.md +28 -0
- package/lib/bmad-extension/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-verify-docker-users/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-verify-docker-users/SKILL.md +23 -0
- package/lib/bmad-extension/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-verify-image-signature/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-verify-image-signature/SKILL.md +22 -0
- package/lib/bmad-extension/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/cyber-vulnerability-scan/.gitkeep +0 -0
- package/lib/bmad-extension/skills/cyber-vulnerability-scan/SKILL.md +28 -0
- package/lib/bmad-extension/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-configure-infrastructure/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-configure-infrastructure/SKILL.md +27 -0
- package/lib/bmad-extension/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-disconnected-deployment/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-disconnected-deployment/SKILL.md +27 -0
- package/lib/bmad-extension/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-docker-compose-setup/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-docker-compose-setup/SKILL.md +26 -0
- package/lib/bmad-extension/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-manage-helm/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-manage-helm/SKILL.md +28 -0
- package/lib/bmad-extension/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/devops-sign-docker-image/.gitkeep +0 -0
- package/lib/bmad-extension/skills/devops-sign-docker-image/SKILL.md +24 -0
- package/lib/bmad-extension/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/mil498-ocd/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-ocd/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/04-validate.md +14 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-ocd/prompts/06-save.md +15 -0
- package/lib/bmad-extension/skills/mil498-ocd/template.md +169 -0
- package/lib/bmad-extension/skills/mil498-sdd/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-sdd/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/04-validate.md +16 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-sdd/prompts/06-save.md +19 -0
- package/lib/bmad-extension/skills/mil498-sdd/template.md +163 -0
- package/lib/bmad-extension/skills/mil498-sdp/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-sdp/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/04-validate.md +13 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-sdp/prompts/06-save.md +14 -0
- package/lib/bmad-extension/skills/mil498-sdp/template.md +307 -0
- package/lib/bmad-extension/skills/mil498-srs/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-srs/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/03-generate-document.md +100 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/04-validate.md +16 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-srs/prompts/06-save.md +18 -0
- package/lib/bmad-extension/skills/mil498-srs/template.md +219 -0
- package/lib/bmad-extension/skills/mil498-ssdd/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-ssdd/SKILL.md +32 -0
- package/lib/bmad-extension/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/05-validate.md +14 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/06-review.md +16 -0
- package/lib/bmad-extension/skills/mil498-ssdd/prompts/07-save.md +16 -0
- package/lib/bmad-extension/skills/mil498-ssdd/template.md +154 -0
- package/lib/bmad-extension/skills/mil498-sss/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-sss/SKILL.md +31 -0
- package/lib/bmad-extension/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/03-generate-document.md +108 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/04-validate.md +16 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-sss/prompts/06-save.md +15 -0
- package/lib/bmad-extension/skills/mil498-sss/template.md +225 -0
- package/lib/bmad-extension/skills/mil498-std/.gitkeep +0 -0
- package/lib/bmad-extension/skills/mil498-std/SKILL.md +30 -0
- package/lib/bmad-extension/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/02-load-template.md +10 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/03-generate-document.md +117 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/04-validate.md +15 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/05-review.md +15 -0
- package/lib/bmad-extension/skills/mil498-std/prompts/06-save.md +15 -0
- package/lib/bmad-extension/skills/mil498-std/template.md +188 -0
- package/lib/bmad-extension/skills/modify-sprint/.gitkeep +0 -0
- package/lib/bmad-extension/skills/modify-sprint/SKILL.md +259 -0
- package/lib/bmad-extension/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/project-context-expansion/.gitkeep +0 -0
- package/lib/bmad-extension/skills/project-context-expansion/SKILL.md +238 -0
- package/lib/bmad-extension/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sprint-status-view/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +202 -0
- package/lib/bmad-extension/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-check-deployment-status/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-check-deployment-status/SKILL.md +32 -0
- package/lib/bmad-extension/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-check-secrets/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-check-secrets/SKILL.md +23 -0
- package/lib/bmad-extension/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-check-system-status/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-check-system-status/SKILL.md +27 -0
- package/lib/bmad-extension/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-day-2-ops/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-day-2-ops/SKILL.md +26 -0
- package/lib/bmad-extension/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-deployment-strategies/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-deployment-strategies/SKILL.md +28 -0
- package/lib/bmad-extension/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-fix-deployments/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-fix-deployments/SKILL.md +25 -0
- package/lib/bmad-extension/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-extension/skills/sre-gitops-status/.gitkeep +0 -0
- package/lib/bmad-extension/skills/sre-gitops-status/SKILL.md +25 -0
- package/lib/bmad-extension/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad.js +541 -1
- package/lib/installer.js +12 -8
- package/opencode.json +1 -4
- package/package.json +3 -3
- package/test/bmad-extension.test.js +115 -69
- package/test/bmad-version-bump.test.js +313 -0
- package/test/convert-agents-to-skills.test.js +245 -0
- package/test/extension-module-restructure.test.js +359 -0
- package/test/integration-verification.test.js +71 -40
- package/test/migration-validation.test.js +499 -0
- package/test/migration.test.js +832 -0
- package/test/opencode-json-injection.test.js +25 -17
- package/test/opencode-json-merge.test.js +52 -33
- package/test/story-15-5-workflow-skills.test.js +311 -0
- package/test/yes-flag.test.js +8 -1
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.idx +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.pack +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.rev +0 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/bmad-manifest.json +0 -62
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/bmad-manifest.json +0 -18
- package/lib/bmad-cache/bmb/src/module-help.csv +0 -7
- package/lib/bmad-cache/bmb/src/module.yaml +0 -20
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/bmad-manifest.json +0 -24
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/bmad-manifest-schema.json +0 -103
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/generate-html-report.py +0 -1002
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/manifest.py +0 -420
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/bmad-manifest.json +0 -23
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/bmad-manifest-schema.json +0 -103
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/generate-html-report.py +0 -1002
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/manifest.py +0 -420
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.rev +0 -0
- package/lib/bmad-cache/cis/src/agents/brainstorming-coach.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/creative-problem-solver.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/design-thinking-coach.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/innovation-strategist.agent.yaml +0 -21
- package/lib/bmad-cache/cis/src/agents/presentation-master.agent.yaml +0 -53
- package/lib/bmad-cache/cis/src/agents/storyteller/storyteller.agent.yaml +0 -25
- package/lib/bmad-cache/cis/src/teams/creative-squad.yaml +0 -7
- package/lib/bmad-cache/cis/src/teams/default-party.csv +0 -12
- package/lib/bmad-cache/cis/src/workflows/README.md +0 -175
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/refs/tags/v0.2.2 +0 -1
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.rev +0 -0
- package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.0 +0 -1
- package/lib/bmad-cache/tea/docs/MIGRATION.md +0 -488
- package/lib/bmad-cache/tea/src/agents/tea.agent.yaml +0 -67
- package/lib/bmad-cache/tea/src/teams/default-party.csv +0 -2
- package/lib/bmad-customizations/bmm-cyber.customize.yaml +0 -24
- package/lib/bmad-customizations/bmm-devops.customize.yaml +0 -24
- package/lib/bmad-customizations/bmm-mil498.customize.yaml +0 -36
- package/lib/bmad-customizations/bmm-sre.customize.yaml +0 -24
- package/lib/bmad-customizations/cyber.md +0 -71
- package/lib/bmad-customizations/devops.md +0 -71
- package/lib/bmad-customizations/mil498.md +0 -75
- package/lib/bmad-customizations/sre.md +0 -71
- package/lib/bmad-extension/agents/bmm-architect.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-bmad-master.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-cyber.customize.yaml +0 -30
- package/lib/bmad-extension/agents/bmm-dev.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-devops.customize.yaml +0 -30
- package/lib/bmad-extension/agents/bmm-mil498.customize.yaml +0 -42
- package/lib/bmad-extension/agents/bmm-pm.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-qa.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-sm.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-sre.customize.yaml +0 -30
- package/lib/bmad-extension/agents/bmm-tech-writer.customize.yaml +0 -5
- package/lib/bmad-extension/agents/bmm-ux-designer.customize.yaml +0 -5
- /package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-agent-builder/scripts/scan-scripts.py +0 -0
- /package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/prepass-prompt-metrics.py +0 -0
- /package/lib/bmad-cache/bmb/{src/skills → skills}/bmad-workflow-builder/scripts/scan-scripts.py +0 -0
- /package/lib/bmad-cache/{bmb/src/skills/bmad-agent-builder → cis/src/skills/bmad-cis-design-thinking}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-design-thinking/design-methods.csv +0 -0
- /package/lib/bmad-cache/{bmb/src/skills/bmad-workflow-builder → cis/src/skills/bmad-cis-innovation-strategy}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-innovation-strategy/innovation-frameworks.csv +0 -0
- /package/lib/bmad-cache/cis/src/{workflows/bmad-cis-design-thinking → skills/bmad-cis-problem-solving}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-problem-solving/solving-methods.csv +0 -0
- /package/lib/bmad-cache/cis/src/{workflows/bmad-cis-innovation-strategy → skills/bmad-cis-storytelling}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/cis/src/{workflows → skills}/bmad-cis-storytelling/story-types.csv +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/adr-quality-readiness-checklist.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/api-request.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/api-testing-patterns.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/auth-session.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/burn-in.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/ci-burn-in.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/component-tdd.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/contract-testing.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/data-factories.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/email-auth.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/error-handling.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/feature-flags.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/file-utils.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/fixture-architecture.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/fixtures-composition.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/intercept-network-call.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/log.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/network-error-monitor.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/network-first.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/network-recorder.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/nfr-criteria.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/overview.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pact-consumer-di.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pact-consumer-framework-setup.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pact-mcp.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-consumer-helpers.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-overview.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-provider-verifier.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/pactjs-utils-request-filter.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/playwright-cli.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/playwright-config.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/probability-impact.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/recurse.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/risk-governance.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/selective-testing.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/selector-resilience.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-healing-patterns.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-levels-framework.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-priorities-matrix.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/test-quality.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/timing-debugging.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/knowledge/visual-debugging.md +0 -0
- /package/lib/bmad-cache/tea/src/{testarch → agents/bmad-tea/resources}/tea-index.csv +0 -0
- /package/lib/bmad-cache/{cis/src/workflows/bmad-cis-problem-solving → wds/src/workflows/wds-0-alignment-signoff}/bmad-skill-manifest.yaml +0 -0
- /package/lib/bmad-cache/{cis/src/workflows/bmad-cis-storytelling → wds/src/workflows/wds-0-project-setup}/bmad-skill-manifest.yaml +0 -0
|
@@ -14,7 +14,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
|
|
14
14
|
|
|
15
15
|
## STEP GOAL:
|
|
16
16
|
|
|
17
|
-
To provide menu-driven exploration of
|
|
17
|
+
To provide menu-driven exploration of 42 TEA knowledge fragments organized by category, allowing deep-dive into specific advanced topics on-demand.
|
|
18
18
|
|
|
19
19
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
20
20
|
|
|
@@ -48,7 +48,7 @@ To provide menu-driven exploration of 35 TEA knowledge fragments organized by ca
|
|
|
48
48
|
|
|
49
49
|
"🧪 **Session 7: Advanced Patterns** (Ongoing Exploration)
|
|
50
50
|
|
|
51
|
-
**Objective:** Deep-dive into
|
|
51
|
+
**Objective:** Deep-dive into 42 TEA knowledge fragments
|
|
52
52
|
|
|
53
53
|
**This session is different:**
|
|
54
54
|
|
|
@@ -57,7 +57,7 @@ To provide menu-driven exploration of 35 TEA knowledge fragments organized by ca
|
|
|
57
57
|
- Can revisit this session anytime
|
|
58
58
|
- No quiz - this is reference learning
|
|
59
59
|
|
|
60
|
-
**
|
|
60
|
+
**42 Knowledge Fragments organized by category:**
|
|
61
61
|
|
|
62
62
|
Let's explore!"
|
|
63
63
|
|
|
@@ -81,7 +81,7 @@ Set session-07-advanced `status: 'in-progress'` (only first time).
|
|
|
81
81
|
- selector-resilience.md - Robust selectors
|
|
82
82
|
- timing-debugging.md - Race condition fixes
|
|
83
83
|
|
|
84
|
-
**2. Playwright Utils (
|
|
84
|
+
**2. Playwright Utils (19 fragments)**
|
|
85
85
|
|
|
86
86
|
- overview.md - Playwright Utils overview
|
|
87
87
|
- api-request.md - Typed HTTP client
|
|
@@ -93,6 +93,14 @@ Set session-07-advanced `status: 'in-progress'` (only first time).
|
|
|
93
93
|
- burn-in.md - Smart test selection
|
|
94
94
|
- network-error-monitor.md - HTTP error detection
|
|
95
95
|
- contract-testing.md - Pact integration
|
|
96
|
+
- pactjs-utils-overview.md - Pact.js Utils overview
|
|
97
|
+
- pactjs-utils-consumer-helpers.md - Consumer-side Pact helpers
|
|
98
|
+
- pactjs-utils-provider-verifier.md - Provider verification
|
|
99
|
+
- pactjs-utils-request-filter.md - Auth injection request filter
|
|
100
|
+
- pact-mcp.md - SmartBear MCP for PactFlow
|
|
101
|
+
- pact-consumer-framework-setup.md - Consumer CDC framework setup
|
|
102
|
+
- pact-consumer-di.md - DI pattern for Pact consumers
|
|
103
|
+
- playwright-cli.md - CLI for AI browser automation
|
|
96
104
|
- visual-debugging.md - Trace viewer workflows
|
|
97
105
|
|
|
98
106
|
**3. Configuration & Governance (6 fragments)**
|
|
@@ -118,7 +126,7 @@ Set session-07-advanced `status: 'in-progress'` (only first time).
|
|
|
118
126
|
- auth-session.md - Token persistence
|
|
119
127
|
- error-handling.md - Exception handling
|
|
120
128
|
|
|
121
|
-
**GitHub Repository:** <https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/
|
|
129
|
+
**GitHub Repository:** <https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/agents/bmad-tea/resources/knowledge>
|
|
122
130
|
|
|
123
131
|
**Select a category (1-5) or specific fragment to explore, or [X] to finish:**"
|
|
124
132
|
|
|
@@ -159,7 +167,7 @@ After user selects X (finish exploration):
|
|
|
159
167
|
|
|
160
168
|
**Remember:** You can return to Session 7 anytime to explore more fragments!
|
|
161
169
|
|
|
162
|
-
**GitHub Knowledge Base:** <https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/
|
|
170
|
+
**GitHub Knowledge Base:** <https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/agents/bmad-tea/resources/knowledge>"
|
|
163
171
|
|
|
164
172
|
### 6. Generate Session Notes
|
|
165
173
|
|
|
@@ -210,14 +210,14 @@ All session notes and progress tracking available at:
|
|
|
210
210
|
1. **Apply TEA to your project:** Start with Framework setup workflow
|
|
211
211
|
2. **Run TEA workflows:** Test Design → ATDD/Automate → Test Review
|
|
212
212
|
3. **Share knowledge:** Help team members through TEA Academy
|
|
213
|
-
4. **Explore knowledge fragments:**
|
|
213
|
+
4. **Explore knowledge fragments:** 42 fragments for just-in-time learning
|
|
214
214
|
5. **Contribute improvements:** Share feedback on TEA methodology
|
|
215
215
|
|
|
216
216
|
**TEA Resources:**
|
|
217
217
|
|
|
218
218
|
- **Documentation:** https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/
|
|
219
219
|
- **Knowledge Base:** https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/reference/knowledge-base/
|
|
220
|
-
- **GitHub Fragments:** https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/
|
|
220
|
+
- **GitHub Fragments:** https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/tree/main/src/agents/bmad-tea/resources/knowledge
|
|
221
221
|
|
|
222
222
|
---
|
|
223
223
|
|
|
@@ -291,7 +291,7 @@ You've successfully completed the entire TEA Academy curriculum!
|
|
|
291
291
|
- Apply risk-based testing (P0-P3 prioritization)
|
|
292
292
|
- Implement architecture patterns (fixtures, network-first)
|
|
293
293
|
- Maintain quality through Test Review and Trace
|
|
294
|
-
- Explore
|
|
294
|
+
- Explore 42 knowledge fragments as needed
|
|
295
295
|
|
|
296
296
|
**Next Steps:**
|
|
297
297
|
|
|
@@ -54,7 +54,7 @@ average_score: { { average_score } }
|
|
|
54
54
|
- ✅ **Test Design:** Risk assessment, coverage planning, P0-P3 prioritization
|
|
55
55
|
- ✅ **Test Development:** ATDD red-green approach, test automation
|
|
56
56
|
- ✅ **Quality Assurance:** Test review, traceability, NFR assessment
|
|
57
|
-
- ✅ **Advanced Techniques:**
|
|
57
|
+
- ✅ **Advanced Techniques:** 42 knowledge fragments explored
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
@@ -21,7 +21,7 @@ foundationCompletedDate: 2026-01-28
|
|
|
21
21
|
## Discovery Notes
|
|
22
22
|
|
|
23
23
|
**User's Vision:**
|
|
24
|
-
Create an ongoing learning companion that teaches testing progressively through a structured curriculum. Users at the company (and beyond) lack testing knowledge regardless of experience level - from hobbyist beginners to experienced VPs. The TEA (Test Architecture Enterprise) module has extensive documentation (~24k lines, 200 files, 9 workflows,
|
|
24
|
+
Create an ongoing learning companion that teaches testing progressively through a structured curriculum. Users at the company (and beyond) lack testing knowledge regardless of experience level - from hobbyist beginners to experienced VPs. The TEA (Test Architecture Enterprise) module has extensive documentation (~24k lines, 200 files, 9 workflows, 42 knowledge fragments), but manual teaching doesn't scale. This workflow solves that by providing self-paced, structured learning with state persistence across multiple sessions.
|
|
25
25
|
|
|
26
26
|
**Who It's For:**
|
|
27
27
|
|
|
@@ -163,7 +163,7 @@ Create an ongoing learning companion that teaches testing progressively through
|
|
|
163
163
|
**LLM Features:**
|
|
164
164
|
|
|
165
165
|
- **Web-Browsing:** Included - Use case: Safety net for framework updates (Cypress, Jest, newer Playwright versions) and frameworks not covered in TEA docs. Motto: "Only reach out when you don't have the info"
|
|
166
|
-
- **File I/O:** Included - Operations: Read TEA docs (/docs/_.md), read knowledge fragments (/src/
|
|
166
|
+
- **File I/O:** Included - Operations: Read TEA docs (/docs/_.md), read knowledge fragments (/src/agents/bmad-tea/resources/knowledge/_.md), write progress file ({user}-tea-progress.yaml), write session notes, write completion certificate
|
|
167
167
|
- **Sub-Agents:** Excluded - Sessions are linear teaching steps handled by TEA agent, not complex specialized tasks requiring delegation
|
|
168
168
|
- **Sub-Processes:** Excluded - Learning is sequential (one session at a time), no parallel processing needed
|
|
169
169
|
|
|
@@ -384,7 +384,7 @@ teach-me-testing/
|
|
|
384
384
|
**Expertise:**
|
|
385
385
|
|
|
386
386
|
- Deep knowledge of testing principles (risk-based, test pyramid, types)
|
|
387
|
-
- Expert in TEA methodology (9 workflows, architecture patterns,
|
|
387
|
+
- Expert in TEA methodology (9 workflows, architecture patterns, 42 knowledge fragments)
|
|
388
388
|
- Familiar with Playwright, test automation, CI/CD
|
|
389
389
|
- Teaching pedagogy: progressive learning, knowledge validation, role-based examples
|
|
390
390
|
|
|
@@ -459,13 +459,13 @@ teach-me-testing/
|
|
|
459
459
|
|
|
460
460
|
**Session 7 Special Handling:**
|
|
461
461
|
|
|
462
|
-
- Exploratory menu-driven deep-dive into
|
|
462
|
+
- Exploratory menu-driven deep-dive into 42 knowledge fragments
|
|
463
463
|
- Organized by categories (Testing Patterns, Playwright Utils, Config/Governance, etc.)
|
|
464
464
|
- Links to GitHub for browsing
|
|
465
465
|
|
|
466
466
|
**Content Sources (Triple Reference System):**
|
|
467
467
|
|
|
468
|
-
- Local files: `/docs/*.md`, `/src/
|
|
468
|
+
- Local files: `/docs/*.md`, `/src/agents/bmad-tea/resources/knowledge/*.md`
|
|
469
469
|
- Online docs: `<https://bmad-code-org.github.io/bmad-method-test-architecture-enterprise/`>
|
|
470
470
|
- GitHub fragments: Direct links to knowledge fragment source files
|
|
471
471
|
|
|
@@ -720,7 +720,7 @@ teach-me-testing/
|
|
|
720
720
|
**Teaching Topics:**
|
|
721
721
|
|
|
722
722
|
- What is TEA and why it exists
|
|
723
|
-
- 9 workflows +
|
|
723
|
+
- 9 workflows + 42 knowledge fragments
|
|
724
724
|
- Quality standards (Definition of Done)
|
|
725
725
|
- Risk-based testing (P0-P3 matrix)
|
|
726
726
|
- TEA engagement models (Lite/Solo/Integrated/Enterprise/Brownfield)
|
|
@@ -788,7 +788,7 @@ teach-me-testing/
|
|
|
788
788
|
**Created:** 2026-01-28
|
|
789
789
|
**Files:** `steps-c/step-04-session-07.md` ✓
|
|
790
790
|
**Session:** Advanced Patterns (ongoing)
|
|
791
|
-
**Format:** Menu-driven exploration of
|
|
791
|
+
**Format:** Menu-driven exploration of 42 knowledge fragments
|
|
792
792
|
**Categories:** Testing Patterns (9), Playwright Utils (11), Config/Governance (6), Quality Frameworks (5), Auth/Security (3)
|
|
793
793
|
**No Quiz:** Exploratory session, score: 100 on completion
|
|
794
794
|
**Special:** Repeatable, user can explore multiple fragments, returns to hub
|
|
@@ -840,7 +840,7 @@ teach-me-testing/
|
|
|
840
840
|
2. `data/role-paths.yaml` ✓ - Role customizations for QA/Dev/Lead/VP with focus areas and teaching adaptations
|
|
841
841
|
3. `data/session-content-map.yaml` ✓ - Maps sessions to TEA docs, knowledge fragments, online URLs, workflows
|
|
842
842
|
4. `data/quiz-questions.yaml` ✓ - Question bank for sessions 1-6 (session 7 is exploratory, no quiz)
|
|
843
|
-
5. `data/tea-resources-index.yaml` ✓ - Comprehensive index of 32 docs +
|
|
843
|
+
5. `data/tea-resources-index.yaml` ✓ - Comprehensive index of 32 docs + 42 knowledge fragments with GitHub links
|
|
844
844
|
|
|
845
845
|
**All 5 data files complete.**
|
|
846
846
|
|
package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md
CHANGED
|
@@ -364,7 +364,7 @@ See `tea-index.csv` for complete knowledge fragment mapping.
|
|
|
364
364
|
- Ask in team standup
|
|
365
365
|
- Tag @{tea_agent_username} in Slack/Discord
|
|
366
366
|
- Refer to `./bmm/docs/tea-README.md` for workflow documentation
|
|
367
|
-
- Consult
|
|
367
|
+
- Consult `_bmad/tea/agents/bmad-tea/resources/knowledge` for testing best practices
|
|
368
368
|
|
|
369
369
|
---
|
|
370
370
|
|
|
@@ -3,7 +3,7 @@ name: 'step-01-preflight-and-context'
|
|
|
3
3
|
description: 'Verify prerequisites and load story, framework, and knowledge base'
|
|
4
4
|
outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
|
|
5
5
|
nextStepFile: './step-02-generation-mode.md'
|
|
6
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
6
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Step 1: Preflight & Context Loading
|
|
@@ -117,7 +117,7 @@ Load fragments based on their `tier` classification in `tea-index.csv`:
|
|
|
117
117
|
|
|
118
118
|
**If `tea_use_pactjs_utils` is enabled** (and `{detected_stack}` is `backend` or `fullstack`, or microservices indicators detected):
|
|
119
119
|
|
|
120
|
-
Load: `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`
|
|
120
|
+
Load: `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`, `pact-consumer-di.md`
|
|
121
121
|
|
|
122
122
|
**If `tea_use_pactjs_utils` is disabled** but contract testing is relevant:
|
|
123
123
|
|
|
@@ -170,7 +170,7 @@ Use `{knowledgeIndex}` to load:
|
|
|
170
170
|
|
|
171
171
|
**Pact.js Utils (if enabled):**
|
|
172
172
|
|
|
173
|
-
- `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`
|
|
173
|
+
- `pactjs-utils-overview.md`, `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`, `pact-consumer-di.md`
|
|
174
174
|
|
|
175
175
|
**Contract Testing (if pactjs-utils disabled but relevant):**
|
|
176
176
|
|
|
@@ -19,6 +19,8 @@ This is an **isolated subagent** running in parallel with E2E failing test gener
|
|
|
19
19
|
- Config: test framework, Playwright Utils enabled/disabled, Pact.js Utils enabled/disabled (`use_pactjs_utils`), Pact MCP mode (`pact_mcp`)
|
|
20
20
|
- Provider Endpoint Map (if `use_pactjs_utils` enabled and provider source accessible)
|
|
21
21
|
|
|
22
|
+
**If `use_pactjs_utils` is enabled:** Also generate consumer contract tests alongside API tests. Use the loaded pactjs-utils fragments (`pactjs-utils-overview`, `pactjs-utils-consumer-helpers`, `pactjs-utils-provider-verifier`, `pactjs-utils-request-filter`, `pact-consumer-di`) for patterns. If `pact_mcp` is `"mcp"`, use SmartBear MCP tools (Fetch Provider States, Generate Pact Tests) to inform test generation.
|
|
23
|
+
|
|
22
24
|
**Your task:** Generate API tests that will FAIL because the feature is not implemented yet (TDD RED PHASE).
|
|
23
25
|
|
|
24
26
|
---
|
|
@@ -227,7 +229,13 @@ Write JSON to temp file: `/tmp/tea-atdd-api-tests-{{timestamp}}.json`
|
|
|
227
229
|
}
|
|
228
230
|
],
|
|
229
231
|
"fixture_needs": ["userDataFactory"],
|
|
230
|
-
"knowledge_fragments_used": [
|
|
232
|
+
"knowledge_fragments_used": [
|
|
233
|
+
"api-request",
|
|
234
|
+
"data-factories",
|
|
235
|
+
"api-testing-patterns",
|
|
236
|
+
"pactjs-utils-consumer-helpers",
|
|
237
|
+
"pact-consumer-di"
|
|
238
|
+
],
|
|
231
239
|
"test_count": 3,
|
|
232
240
|
"tdd_phase": "RED",
|
|
233
241
|
"provider_scrutiny": "completed",
|
|
@@ -3,7 +3,7 @@ name: 'step-01-preflight-and-context'
|
|
|
3
3
|
description: 'Determine mode, verify framework, and load context and knowledge'
|
|
4
4
|
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
5
|
nextStepFile: './step-02-identify-targets.md'
|
|
6
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
6
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# Step 1: Preflight & Context Loading
|
|
@@ -14,7 +14,7 @@ This is an **isolated subagent** running in parallel with API test generation.
|
|
|
14
14
|
**What you have from parent workflow:**
|
|
15
15
|
|
|
16
16
|
- Target features/user journeys identified in Step 2
|
|
17
|
-
- Knowledge fragments loaded: fixture-architecture, network-first, selector-resilience
|
|
17
|
+
- Knowledge fragments loaded: fixture-architecture, network-first, selector-resilience, playwright-cli
|
|
18
18
|
- Config: test framework, Playwright Utils enabled/disabled
|
|
19
19
|
- Coverage plan: which user journeys need E2E testing
|
|
20
20
|
|
|
@@ -160,7 +160,7 @@ Write JSON to temp file: `/tmp/tea-automate-e2e-tests-{{timestamp}}.json`
|
|
|
160
160
|
}
|
|
161
161
|
],
|
|
162
162
|
"fixture_needs": ["authenticatedUserFixture", "paymentMockFixture", "checkoutDataFixture"],
|
|
163
|
-
"knowledge_fragments_used": ["fixture-architecture", "network-first", "selector-resilience"],
|
|
163
|
+
"knowledge_fragments_used": ["fixture-architecture", "network-first", "selector-resilience", "playwright-cli"],
|
|
164
164
|
"test_count": 15,
|
|
165
165
|
"summary": "Generated 15 E2E test cases covering 5 user journeys"
|
|
166
166
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: 'step-02-generate-pipeline'
|
|
3
3
|
description: 'Generate CI pipeline configuration with adaptive orchestration (agent-team, subagent, or sequential)'
|
|
4
4
|
nextStepFile: './step-03-configure-quality-gates.md'
|
|
5
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
5
6
|
outputFile: '{test_artifacts}/ci-pipeline-progress.md'
|
|
6
7
|
---
|
|
7
8
|
|
|
@@ -188,6 +189,11 @@ Write the selected pipeline configuration to the resolved output path from step
|
|
|
188
189
|
|
|
189
190
|
### Contract Testing Pipeline (if `tea_use_pactjs_utils` enabled)
|
|
190
191
|
|
|
192
|
+
**If `tea_use_pactjs_utils` is enabled**, use `{knowledgeIndex}` to load:
|
|
193
|
+
|
|
194
|
+
- `pactjs-utils-provider-verifier.md` — `buildVerifierOptions`, broker config, and breaking change patterns for CI provider verification
|
|
195
|
+
- `pactjs-utils-request-filter.md` — `createRequestFilter` auth injection patterns for CI pipeline auth setup
|
|
196
|
+
|
|
191
197
|
When `tea_use_pactjs_utils` is enabled, add a `contract-test` stage after `test`:
|
|
192
198
|
|
|
193
199
|
**Required env block** (add to the generated pipeline):
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: 'step-03-configure-quality-gates'
|
|
3
3
|
description: 'Configure burn-in, quality gates, and notifications'
|
|
4
4
|
nextStepFile: './step-04-validate-and-summary.md'
|
|
5
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
5
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
6
6
|
outputFile: '{test_artifacts}/ci-pipeline-progress.md'
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -83,6 +83,11 @@ Define:
|
|
|
83
83
|
|
|
84
84
|
**Contract testing gate** (if `tea_use_pactjs_utils` is enabled):
|
|
85
85
|
|
|
86
|
+
Use `{knowledgeIndex}` to load:
|
|
87
|
+
|
|
88
|
+
- `pactjs-utils-provider-verifier.md` — `buildVerifierOptions`, broker config, and breaking change patterns for provider verification gates
|
|
89
|
+
- `pactjs-utils-request-filter.md` — `createRequestFilter` auth injection patterns for CI pipeline auth setup
|
|
90
|
+
|
|
86
91
|
- **can-i-deploy must pass** before any deployment to staging or production
|
|
87
92
|
- Block the deployment pipeline if contract verification fails
|
|
88
93
|
- Treat consumer pact publishing failures as CI failures (contracts must stay up-to-date)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: 'step-03-scaffold-framework'
|
|
3
3
|
description: 'Create framework scaffold with adaptive orchestration (agent-team, subagent, or sequential)'
|
|
4
4
|
nextStepFile: './step-04-docs-and-scripts.md'
|
|
5
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
5
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
6
6
|
outputFile: '{test_artifacts}/framework-setup-progress.md'
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -202,7 +202,8 @@ Read `{config_source}` and use `{knowledgeIndex}` to load fragments based on `co
|
|
|
202
202
|
|
|
203
203
|
**If Playwright Utils enabled:**
|
|
204
204
|
|
|
205
|
-
- `overview.md`, `fixtures-composition.md`, `auth-session.md`, `api-request.md`, `burn-in.md`, `network-error-monitor.md`, `data-factories.md`
|
|
205
|
+
- `overview.md`, `fixtures-composition.md`, `auth-session.md`, `api-request.md`, `recurse.md`, `log.md`, `burn-in.md`, `network-error-monitor.md`, `data-factories.md`
|
|
206
|
+
- If `{detected_stack}` is `frontend` or `fullstack`, also load `intercept-network-call.md`
|
|
206
207
|
- Recommend installing `@seontechnologies/playwright-utils`
|
|
207
208
|
|
|
208
209
|
**If disabled:**
|
package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: 'step-01-load-context'
|
|
3
3
|
description: 'Load NFR requirements, evidence sources, and knowledge base'
|
|
4
4
|
nextStepFile: './step-02-define-thresholds.md'
|
|
5
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
5
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
6
6
|
outputFile: '{test_artifacts}/nfr-assessment.md'
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: 'step-02-load-context'
|
|
3
3
|
description: 'Load documents, configuration, and knowledge fragments for the chosen mode'
|
|
4
4
|
nextStepFile: './step-03-risk-and-testability.md'
|
|
5
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
5
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
6
6
|
outputFile: '{test_artifacts}/test-design-progress.md'
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: 'step-01-load-context'
|
|
3
3
|
description: 'Load knowledge base, determine scope, and gather context'
|
|
4
4
|
nextStepFile: './step-02-discover-tests.md'
|
|
5
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
5
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
6
6
|
outputFile: '{test_artifacts}/test-review.md'
|
|
7
7
|
---
|
|
8
8
|
|
package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/test-review-template.md
CHANGED
|
@@ -257,19 +257,19 @@ Grade: {grade}
|
|
|
257
257
|
|
|
258
258
|
This review consulted the following knowledge base fragments:
|
|
259
259
|
|
|
260
|
-
- **[test-quality.md](../../../
|
|
261
|
-
- **[fixture-architecture.md](../../../
|
|
262
|
-
- **[network-first.md](../../../
|
|
263
|
-
- **[data-factories.md](../../../
|
|
264
|
-
- **[test-levels-framework.md](../../../
|
|
265
|
-
- **[tdd
|
|
266
|
-
- **[selective-testing.md](../../../
|
|
267
|
-
- **[ci-burn-in.md](../../../
|
|
268
|
-
- **[test-priorities.md](../../../
|
|
260
|
+
- **[test-quality.md](../../../agents/bmad-tea/resources/knowledge/test-quality.md)** - Definition of Done for tests (no hard waits, <300 lines, <1.5 min, self-cleaning)
|
|
261
|
+
- **[fixture-architecture.md](../../../agents/bmad-tea/resources/knowledge/fixture-architecture.md)** - Pure function → Fixture → mergeTests pattern
|
|
262
|
+
- **[network-first.md](../../../agents/bmad-tea/resources/knowledge/network-first.md)** - Route intercept before navigate (race condition prevention)
|
|
263
|
+
- **[data-factories.md](../../../agents/bmad-tea/resources/knowledge/data-factories.md)** - Factory functions with overrides, API-first setup
|
|
264
|
+
- **[test-levels-framework.md](../../../agents/bmad-tea/resources/knowledge/test-levels-framework.md)** - E2E vs API vs Component vs Unit appropriateness
|
|
265
|
+
- **[component-tdd.md](../../../agents/bmad-tea/resources/knowledge/component-tdd.md)** - Red-Green-Refactor patterns
|
|
266
|
+
- **[selective-testing.md](../../../agents/bmad-tea/resources/knowledge/selective-testing.md)** - Duplicate coverage detection
|
|
267
|
+
- **[ci-burn-in.md](../../../agents/bmad-tea/resources/knowledge/ci-burn-in.md)** - Flakiness detection patterns (10-iteration loop)
|
|
268
|
+
- **[test-priorities-matrix.md](../../../agents/bmad-tea/resources/knowledge/test-priorities-matrix.md)** - P0/P1/P2/P3 classification framework
|
|
269
269
|
|
|
270
270
|
For coverage mapping, consult `trace` workflow outputs.
|
|
271
271
|
|
|
272
|
-
See [tea-index.csv](../../../
|
|
272
|
+
See [tea-index.csv](../../../agents/bmad-tea/resources/tea-index.csv) for complete knowledge base.
|
|
273
273
|
|
|
274
274
|
---
|
|
275
275
|
|
|
@@ -379,7 +379,7 @@ See [tea-index.csv](../../../testarch/tea-index.csv) for complete knowledge base
|
|
|
379
379
|
|
|
380
380
|
If you have questions or feedback on this review:
|
|
381
381
|
|
|
382
|
-
1. Review patterns in knowledge base:
|
|
382
|
+
1. Review patterns in knowledge base: `../../../agents/bmad-tea/resources/knowledge/`
|
|
383
383
|
2. Consult tea-index.csv for detailed guidance
|
|
384
384
|
3. Request clarification on specific violations
|
|
385
385
|
4. Pair with QA engineer to apply patterns
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: 'step-01-load-context'
|
|
3
3
|
description: 'Load requirements, knowledge base, and related artifacts'
|
|
4
4
|
nextStepFile: './step-02-discover-tests.md'
|
|
5
|
-
knowledgeIndex: '{project-root}/_bmad/tea/
|
|
5
|
+
knowledgeIndex: '{project-root}/_bmad/tea/agents/bmad-tea/resources/tea-index.csv'
|
|
6
6
|
outputFile: '{test_artifacts}/traceability-report.md'
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -75,6 +75,16 @@ async function runTests() {
|
|
|
75
75
|
assert(moduleYaml.name === 'Test Architect', 'module.yaml has correct name');
|
|
76
76
|
assert(typeof moduleYaml.description === 'string' && moduleYaml.description.length > 0, 'module.yaml has description');
|
|
77
77
|
assert(typeof moduleYaml.default_selected === 'boolean', 'module.yaml has boolean default_selected');
|
|
78
|
+
assert(moduleYaml.tea_use_pactjs_utils.default === false, 'module.yaml defaults Pact.js Utils to false');
|
|
79
|
+
assert(moduleYaml.tea_pact_mcp.default === 'none', 'module.yaml defaults Pact MCP to none');
|
|
80
|
+
assert(
|
|
81
|
+
moduleYaml.tea_use_pactjs_utils.prompt.includes('consumer-driven contract testing'),
|
|
82
|
+
'module.yaml Pact.js Utils prompt explains CDC intent',
|
|
83
|
+
);
|
|
84
|
+
assert(
|
|
85
|
+
moduleYaml.tea_pact_mcp.prompt.includes('Only needed if you already use a broker'),
|
|
86
|
+
'module.yaml Pact MCP prompt explains broker prerequisite',
|
|
87
|
+
);
|
|
78
88
|
} catch (error) {
|
|
79
89
|
assert(false, 'module.yaml loads and validates', error.message);
|
|
80
90
|
}
|
|
@@ -82,34 +92,72 @@ async function runTests() {
|
|
|
82
92
|
console.log('');
|
|
83
93
|
|
|
84
94
|
// ============================================================
|
|
85
|
-
// Test 2: TEA Agent
|
|
95
|
+
// Test 2: TEA Agent Native Skill Structure
|
|
86
96
|
// ============================================================
|
|
87
|
-
console.log(`${colors.yellow}Test Suite 2: TEA Agent Structure${colors.reset}\n`);
|
|
97
|
+
console.log(`${colors.yellow}Test Suite 2: TEA Agent Native Skill Structure${colors.reset}\n`);
|
|
88
98
|
|
|
89
99
|
try {
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
assert(
|
|
99
|
-
assert(
|
|
100
|
-
assert(
|
|
101
|
-
assert(
|
|
102
|
-
assert(
|
|
100
|
+
const skillDir = path.join(projectRoot, 'src/agents/bmad-tea');
|
|
101
|
+
const skillMdPath = path.join(skillDir, 'SKILL.md');
|
|
102
|
+
const manifestPath = path.join(skillDir, 'bmad-skill-manifest.yaml');
|
|
103
|
+
|
|
104
|
+
// Validate SKILL.md exists and has required sections
|
|
105
|
+
if (await pathExists(skillMdPath)) {
|
|
106
|
+
const skillContent = await fs.readFile(skillMdPath, 'utf8');
|
|
107
|
+
|
|
108
|
+
assert(skillContent.includes('name: bmad-tea'), 'SKILL.md has correct skill name in frontmatter');
|
|
109
|
+
assert(skillContent.includes('## Identity'), 'SKILL.md has Identity section');
|
|
110
|
+
assert(skillContent.includes('## Principles'), 'SKILL.md has Principles section');
|
|
111
|
+
assert(skillContent.includes('## Critical Actions'), 'SKILL.md has Critical Actions section');
|
|
112
|
+
assert(skillContent.includes('## Capabilities'), 'SKILL.md has Capabilities section');
|
|
113
|
+
assert(skillContent.includes('## On Activation'), 'SKILL.md has On Activation section');
|
|
114
|
+
|
|
115
|
+
// Verify all 9 capability codes are present in the capabilities table
|
|
116
|
+
const capabilityCodes = ['TMT', 'TF', 'AT', 'TA', 'TD', 'TR', 'NR', 'CI', 'RV'];
|
|
117
|
+
for (const code of capabilityCodes) {
|
|
118
|
+
const codePattern = new RegExp(`\\|\\s*${code}\\s*\\|`);
|
|
119
|
+
assert(codePattern.test(skillContent), `SKILL.md has capability code ${code}`);
|
|
120
|
+
}
|
|
103
121
|
|
|
104
122
|
// Verify no BMM references
|
|
105
|
-
|
|
106
|
-
assert(!
|
|
107
|
-
assert(!yamlContent.includes('module: bmm'), 'TEA agent has no module: bmm references');
|
|
123
|
+
assert(!skillContent.includes('_bmad/bmm/'), 'SKILL.md has no _bmad/bmm/ references');
|
|
124
|
+
assert(!skillContent.includes('module: bmm'), 'SKILL.md has no module: bmm references');
|
|
108
125
|
} else {
|
|
109
|
-
assert(false, '
|
|
126
|
+
assert(false, 'SKILL.md exists', 'src/agents/bmad-tea/SKILL.md not found');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Validate bmad-skill-manifest.yaml
|
|
130
|
+
if (await pathExists(manifestPath)) {
|
|
131
|
+
const manifest = yaml.load(await fs.readFile(manifestPath, 'utf8'));
|
|
132
|
+
|
|
133
|
+
assert(manifest.type === 'agent', 'Manifest has type: agent');
|
|
134
|
+
assert(manifest.name === 'bmad-tea', 'Manifest has correct name');
|
|
135
|
+
assert(manifest.module === 'tea', 'Manifest has module: tea');
|
|
136
|
+
assert(manifest.canonicalId === 'bmad-tea', 'Manifest has correct canonicalId');
|
|
137
|
+
assert(manifest.webskip === true, 'Manifest has webskip: true');
|
|
138
|
+
assert(manifest.hasSidecar === false, 'Manifest has hasSidecar: false');
|
|
139
|
+
|
|
140
|
+
// Verify all 9 capability skill IDs reference real workflow directories
|
|
141
|
+
const expectedSkillDirs = [
|
|
142
|
+
'bmad-teach-me-testing',
|
|
143
|
+
'bmad-testarch-framework',
|
|
144
|
+
'bmad-testarch-atdd',
|
|
145
|
+
'bmad-testarch-automate',
|
|
146
|
+
'bmad-testarch-test-design',
|
|
147
|
+
'bmad-testarch-trace',
|
|
148
|
+
'bmad-testarch-nfr',
|
|
149
|
+
'bmad-testarch-ci',
|
|
150
|
+
'bmad-testarch-test-review',
|
|
151
|
+
];
|
|
152
|
+
for (const skillDir of expectedSkillDirs) {
|
|
153
|
+
const workflowDir = path.join(projectRoot, `src/workflows/testarch/${skillDir}`);
|
|
154
|
+
assert(await pathExists(workflowDir), `Capability skill ${skillDir} has matching workflow directory`);
|
|
155
|
+
}
|
|
156
|
+
} else {
|
|
157
|
+
assert(false, 'bmad-skill-manifest.yaml exists', 'src/agents/bmad-tea/bmad-skill-manifest.yaml not found');
|
|
110
158
|
}
|
|
111
159
|
} catch (error) {
|
|
112
|
-
assert(false, 'TEA agent structure validates', error.message);
|
|
160
|
+
assert(false, 'TEA agent native skill structure validates', error.message);
|
|
113
161
|
}
|
|
114
162
|
|
|
115
163
|
console.log('');
|
|
@@ -120,7 +168,7 @@ async function runTests() {
|
|
|
120
168
|
console.log(`${colors.yellow}Test Suite 3: Knowledge Base${colors.reset}\n`);
|
|
121
169
|
|
|
122
170
|
try {
|
|
123
|
-
const teaIndexPath = path.join(projectRoot, 'src/
|
|
171
|
+
const teaIndexPath = path.join(projectRoot, 'src/agents/bmad-tea/resources/tea-index.csv');
|
|
124
172
|
|
|
125
173
|
if (await pathExists(teaIndexPath)) {
|
|
126
174
|
const csvContent = await fs.readFile(teaIndexPath, 'utf8');
|
|
@@ -186,6 +234,22 @@ async function runTests() {
|
|
|
186
234
|
}
|
|
187
235
|
}
|
|
188
236
|
|
|
237
|
+
const frameworkScaffoldStepPath = path.join(
|
|
238
|
+
projectRoot,
|
|
239
|
+
'src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md',
|
|
240
|
+
);
|
|
241
|
+
try {
|
|
242
|
+
const frameworkScaffoldStep = await fs.readFile(frameworkScaffoldStepPath, 'utf8');
|
|
243
|
+
assert(frameworkScaffoldStep.includes('recurse.md'), 'framework scaffold step loads recurse.md when Playwright Utils is enabled');
|
|
244
|
+
assert(frameworkScaffoldStep.includes('log.md'), 'framework scaffold step loads log.md when Playwright Utils is enabled');
|
|
245
|
+
assert(
|
|
246
|
+
frameworkScaffoldStep.includes('intercept-network-call.md'),
|
|
247
|
+
'framework scaffold step conditionally loads intercept-network-call.md',
|
|
248
|
+
);
|
|
249
|
+
} catch (error) {
|
|
250
|
+
assert(false, 'framework scaffold fragment list validates', error.message);
|
|
251
|
+
}
|
|
252
|
+
|
|
189
253
|
console.log('');
|
|
190
254
|
|
|
191
255
|
// ============================================================
|
|
@@ -75,7 +75,7 @@ function runTests() {
|
|
|
75
75
|
console.log(`========================================${colors.reset}\n`);
|
|
76
76
|
|
|
77
77
|
const projectRoot = path.join(__dirname, '..');
|
|
78
|
-
const kbRoot = path.join(projectRoot, 'src', '
|
|
78
|
+
const kbRoot = path.join(projectRoot, 'src', 'agents', 'bmad-tea', 'resources');
|
|
79
79
|
const indexPath = path.join(kbRoot, 'tea-index.csv');
|
|
80
80
|
|
|
81
81
|
// ============================================================
|