ma-agents 3.6.2 → 3.9.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.
Files changed (975) hide show
  1. package/CONTRIBUTING.md +139 -0
  2. package/README.md +26 -11
  3. package/bin/cli.js +138 -37
  4. package/docs/deployment/vllm-nemotron.md +4 -2
  5. package/lib/.bmad-extension-plugin.build-1264-1777348888201/.claude-plugin/marketplace.json +109 -0
  6. package/lib/{bmad-extension → .bmad-extension-plugin.build-1264-1777348888201/skills}/module-help.csv +5 -5
  7. package/lib/.bmad-extension-plugin.build-1264-1777348888201/skills/module.yaml +20 -0
  8. package/lib/.bmad-extension-plugin.build-24696-1777348768444/.claude-plugin/marketplace.json +109 -0
  9. package/lib/.bmad-extension-plugin.build-24696-1777348768444/skills/module-help.csv +62 -0
  10. package/lib/.bmad-extension-plugin.build-24696-1777348768444/skills/module.yaml +20 -0
  11. package/lib/.bmad-extension-plugin.build-25428-1777348694953/.claude-plugin/marketplace.json +109 -0
  12. package/lib/.bmad-extension-plugin.build-25428-1777348694953/skills/module-help.csv +62 -0
  13. package/lib/.bmad-extension-plugin.build-25428-1777348694953/skills/module.yaml +20 -0
  14. package/lib/agents.js +32 -10
  15. package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +4 -11
  16. package/lib/bmad-cache/bmb/README.md +1 -1
  17. package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
  18. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.idx +0 -0
  19. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/{pack-554778ad4e7254827618ebd2497c3f4bce9054a4.pack → pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.pack} +0 -0
  20. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-6ecd9fc6445b1281449c5ec49a6c5794708e662e.rev +0 -0
  21. package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
  22. package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
  23. package/lib/bmad-cache/bmb/_git_preserved/refs/tags/v1.7.0 +1 -0
  24. package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
  25. package/lib/bmad-cache/bmb/package-lock.json +2 -2
  26. package/lib/bmad-cache/bmb/package.json +2 -7
  27. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/customize-template.toml +62 -0
  28. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/sample-customize-analyst.toml +87 -0
  29. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/assets/customize-template.toml +56 -0
  30. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/assets/sample-customize-product-brief.toml +51 -0
  31. package/lib/bmad-cache/bmb/tools/validate-doc-links.cjs +6 -1
  32. package/lib/bmad-cache/bmb/website/astro.config.mjs +5 -1
  33. package/lib/bmad-cache/cache-manifest.json +13 -11
  34. package/lib/bmad-cache/cis/.claude-plugin/marketplace.json +1 -1
  35. package/lib/bmad-cache/cis/README.md +1 -1
  36. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  37. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.idx +0 -0
  38. package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.pack → pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.pack} +0 -0
  39. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-cad8ff313ea5db860ddcc7780f03917dcba1da8d.rev +0 -0
  40. package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
  41. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
  42. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
  43. package/lib/bmad-cache/cis/package.json +1 -1
  44. package/lib/bmad-cache/cis/src/module.yaml +49 -0
  45. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-brainstorming-coach/customize.toml +38 -0
  46. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-creative-problem-solver/customize.toml +38 -0
  47. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-design-thinking-coach/customize.toml +39 -0
  48. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-innovation-strategist/customize.toml +38 -0
  49. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-presentation-master/customize.toml +73 -0
  50. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-storyteller/customize.toml +60 -0
  51. package/lib/bmad-cache/cis/src/skills/bmad-cis-design-thinking/customize.toml +41 -0
  52. package/lib/bmad-cache/cis/src/skills/bmad-cis-innovation-strategy/customize.toml +41 -0
  53. package/lib/bmad-cache/cis/src/skills/bmad-cis-problem-solving/customize.toml +42 -0
  54. package/lib/bmad-cache/cis/src/skills/bmad-cis-storytelling/customize.toml +41 -0
  55. package/lib/bmad-cache/cis/tools/build-docs.mjs +8 -0
  56. package/lib/bmad-cache/cis/website/astro.config.mjs +34 -4
  57. package/lib/bmad-cache/cis/website/src/content/config.ts +2 -1
  58. package/lib/bmad-cache/cis/website/src/content/i18n/zh-CN.json +28 -0
  59. package/lib/bmad-cache/cis/website/src/lib/locales.mjs +27 -0
  60. package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +7 -6
  61. package/lib/bmad-cache/gds/README.md +5 -3
  62. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  63. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.idx +0 -0
  64. package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.pack → pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.pack} +0 -0
  65. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-c1322f7c8531a89dc4f3f34c4955d194f286c1e6.rev +0 -0
  66. package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
  67. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
  68. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
  69. package/lib/bmad-cache/gds/package.json +1 -1
  70. package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/customize.toml +57 -0
  71. package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/customize.toml +59 -0
  72. package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/customize.toml +129 -0
  73. package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/customize.toml +60 -0
  74. package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/customize.toml +65 -0
  75. package/lib/bmad-cache/gds/src/module-help.csv +4 -4
  76. package/lib/bmad-cache/gds/src/module.yaml +43 -1
  77. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/customize.toml +41 -0
  78. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/customize.toml +41 -0
  79. package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/customize.toml +41 -0
  80. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-gdd/customize.toml +41 -0
  81. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/customize.toml +41 -0
  82. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-prd/customize.toml +41 -0
  83. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-ux-design/customize.toml +41 -0
  84. package/lib/bmad-cache/gds/src/workflows/2-design/gds-edit-gdd/customize.toml +41 -0
  85. package/lib/bmad-cache/gds/src/workflows/2-design/gds-edit-prd/customize.toml +41 -0
  86. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-gdd/customize.toml +41 -0
  87. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-gdd/data/genre-complexity.csv +26 -0
  88. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/customize.toml +41 -0
  89. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/data/domain-complexity.csv +15 -0
  90. package/lib/bmad-cache/gds/src/workflows/2-design/gds-validate-prd/data/project-types.csv +11 -0
  91. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/customize.toml +41 -0
  92. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/customize.toml +41 -0
  93. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/customize.toml +41 -0
  94. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/customize.toml +41 -0
  95. package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/customize.toml +41 -0
  96. package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/customize.toml +41 -0
  97. package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/customize.toml +41 -0
  98. package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/customize.toml +41 -0
  99. package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/customize.toml +41 -0
  100. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/customize.toml +41 -0
  101. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/customize.toml +41 -0
  102. package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/customize.toml +41 -0
  103. package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/customize.toml +41 -0
  104. package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/customize.toml +41 -0
  105. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/customize.toml +41 -0
  106. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/customize.toml +41 -0
  107. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/customize.toml +41 -0
  108. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/customize.toml +41 -0
  109. package/lib/bmad-cache/gds/src/workflows/gds-document-project/customize.toml +41 -0
  110. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/customize.toml +41 -0
  111. package/lib/bmad-cache/tea/.claude-plugin/marketplace.json +1 -1
  112. package/lib/bmad-cache/tea/.github/CODE_OF_CONDUCT.md +128 -0
  113. package/lib/bmad-cache/tea/.github/FUNDING.yaml +15 -0
  114. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/config.yaml +11 -0
  115. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/feature_request.md +70 -0
  116. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/issue.md +61 -0
  117. package/lib/bmad-cache/tea/.github/workflows/docs.yaml +66 -0
  118. package/lib/bmad-cache/tea/.github/workflows/manual-release.yaml +216 -0
  119. package/lib/bmad-cache/tea/.github/workflows/quality.yaml +117 -0
  120. package/lib/bmad-cache/tea/.vscode/settings.json +47 -0
  121. package/lib/bmad-cache/tea/README.md +63 -55
  122. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  123. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.idx +0 -0
  124. package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-e75385cd52b693dbb8a3b2afb50058952543b3a2.pack → pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.pack} +0 -0
  125. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-9b16db8eb5022c18cef1f0a27d63b6e0f4bc2b2a.rev +0 -0
  126. package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
  127. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
  128. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
  129. package/lib/bmad-cache/tea/docs/explanation/engagement-models.md +1 -1
  130. package/lib/bmad-cache/tea/docs/explanation/tea-overview.md +1 -1
  131. package/lib/bmad-cache/tea/docs/glossary/index.md +1 -1
  132. package/lib/bmad-cache/tea/docs/how-to/customization/extend-tea-with-custom-workflows.md +29 -0
  133. package/lib/bmad-cache/tea/docs/how-to/workflows/run-trace.md +27 -20
  134. package/lib/bmad-cache/tea/docs/how-to/workflows/teach-me-testing.md +2 -2
  135. package/lib/bmad-cache/tea/docs/reference/commands.md +3 -3
  136. package/lib/bmad-cache/tea/docs/reference/troubleshooting.md +36 -0
  137. package/lib/bmad-cache/tea/docs/tutorials/learn-testing-tea-academy.md +1 -1
  138. package/lib/bmad-cache/tea/package-lock.json +2 -2
  139. package/lib/bmad-cache/tea/package.json +3 -3
  140. package/lib/bmad-cache/tea/src/agents/bmad-tea/SKILL.md +54 -44
  141. package/lib/bmad-cache/tea/src/agents/bmad-tea/customize.toml +104 -0
  142. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/contract-testing.md +32 -15
  143. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-broker-webhooks.md +237 -0
  144. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  145. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pact-mcp.md +1 -0
  146. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  147. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-overview.md +15 -12
  148. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  149. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  150. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-module-setup.md +122 -0
  151. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-providers.md +155 -0
  152. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-risk-guidance.md +114 -0
  153. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-template-matchers.md +160 -0
  154. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  155. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-timeout-error.md +130 -0
  156. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/webhook-waiting-querying.md +167 -0
  157. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +13 -4
  158. package/lib/bmad-cache/tea/src/module.yaml +8 -0
  159. package/lib/bmad-cache/tea/src/workflows/testarch/README.md +5 -3
  160. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/SKILL.md +124 -1
  161. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/checklist.md +3 -2
  162. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/customize.toml +40 -0
  163. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/instructions.md +7 -0
  164. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01-init.md +1 -1
  165. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01b-continue.md +1 -1
  166. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-02-assess.md +1 -1
  167. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-01.md +1 -1
  168. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-02.md +1 -1
  169. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-03.md +1 -1
  170. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-04.md +1 -1
  171. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-05.md +1 -1
  172. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-06.md +1 -1
  173. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-07.md +1 -1
  174. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-05-completion.md +8 -0
  175. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-01-assess-workflow.md +2 -2
  176. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-02-apply-edits.md +9 -1
  177. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-v/step-v-01-validate.md +12 -3
  178. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/SKILL.md +80 -1
  179. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/customize.toml +40 -0
  180. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/instructions.md +2 -2
  181. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/contract-testing.md +32 -15
  182. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-broker-webhooks.md +237 -0
  183. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  184. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-mcp.md +1 -0
  185. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  186. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-overview.md +15 -12
  187. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  188. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  189. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-module-setup.md +122 -0
  190. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-providers.md +155 -0
  191. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-risk-guidance.md +114 -0
  192. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-template-matchers.md +160 -0
  193. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  194. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-timeout-error.md +130 -0
  195. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/webhook-waiting-querying.md +167 -0
  196. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/tea-index.csv +13 -4
  197. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +3 -3
  198. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-02-generation-mode.md +1 -1
  199. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-03-test-strategy.md +1 -1
  200. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04-generate-tests.md +1 -1
  201. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +1 -1
  202. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04c-aggregate.md +1 -1
  203. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-05-validate-and-complete.md +8 -0
  204. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-01-assess.md +1 -1
  205. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-02-apply-edit.md +8 -0
  206. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-v/step-01-validate.md +9 -1
  207. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/SKILL.md +80 -1
  208. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/customize.toml +40 -0
  209. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/instructions.md +2 -2
  210. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/contract-testing.md +18 -2
  211. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-broker-webhooks.md +237 -0
  212. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  213. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-mcp.md +1 -0
  214. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  215. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  216. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-module-setup.md +122 -0
  217. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-providers.md +155 -0
  218. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-risk-guidance.md +114 -0
  219. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-template-matchers.md +160 -0
  220. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  221. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-timeout-error.md +130 -0
  222. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/webhook-waiting-querying.md +167 -0
  223. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/tea-index.csv +12 -4
  224. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +1 -1
  225. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-02-identify-targets.md +1 -1
  226. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03-generate-tests.md +1 -1
  227. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03a-subagent-api.md +9 -1
  228. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03c-aggregate.md +1 -1
  229. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-04-validate-and-summarize.md +8 -0
  230. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-01-assess.md +1 -1
  231. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-02-apply-edit.md +8 -0
  232. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-v/step-01-validate.md +9 -1
  233. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/SKILL.md +80 -1
  234. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/customize.toml +40 -0
  235. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/instructions.md +2 -2
  236. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/contract-testing.md +18 -2
  237. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-broker-webhooks.md +237 -0
  238. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  239. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-mcp.md +1 -0
  240. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  241. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  242. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-module-setup.md +122 -0
  243. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-providers.md +155 -0
  244. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-risk-guidance.md +114 -0
  245. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-template-matchers.md +160 -0
  246. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  247. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-timeout-error.md +130 -0
  248. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/webhook-waiting-querying.md +167 -0
  249. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/tea-index.csv +12 -4
  250. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-01-preflight.md +1 -1
  251. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +15 -7
  252. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +7 -2
  253. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-04-validate-and-summary.md +8 -0
  254. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-01-assess.md +1 -1
  255. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-02-apply-edit.md +8 -0
  256. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-v/step-01-validate.md +9 -1
  257. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/SKILL.md +80 -1
  258. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/customize.toml +40 -0
  259. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/instructions.md +2 -2
  260. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/contract-testing.md +18 -2
  261. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-broker-webhooks.md +237 -0
  262. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  263. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-mcp.md +1 -0
  264. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  265. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  266. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-module-setup.md +122 -0
  267. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-providers.md +155 -0
  268. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-risk-guidance.md +114 -0
  269. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-template-matchers.md +160 -0
  270. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  271. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-timeout-error.md +130 -0
  272. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/webhook-waiting-querying.md +167 -0
  273. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/tea-index.csv +12 -4
  274. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-01-preflight.md +1 -1
  275. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-02-select-framework.md +1 -1
  276. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +11 -7
  277. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-04-docs-and-scripts.md +1 -1
  278. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-05-validate-and-summary.md +8 -0
  279. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-01-assess.md +1 -1
  280. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-02-apply-edit.md +8 -0
  281. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-v/step-01-validate.md +9 -1
  282. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/SKILL.md +80 -1
  283. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/customize.toml +40 -0
  284. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/instructions.md +2 -2
  285. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/contract-testing.md +18 -2
  286. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-broker-webhooks.md +237 -0
  287. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  288. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-mcp.md +1 -0
  289. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  290. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  291. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-module-setup.md +122 -0
  292. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-providers.md +155 -0
  293. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-risk-guidance.md +114 -0
  294. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-template-matchers.md +160 -0
  295. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  296. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-timeout-error.md +130 -0
  297. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/webhook-waiting-querying.md +167 -0
  298. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/tea-index.csv +12 -4
  299. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +1 -1
  300. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-02-define-thresholds.md +1 -1
  301. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-03-gather-evidence.md +1 -1
  302. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04-evaluate-and-score.md +1 -1
  303. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04e-aggregate-nfr.md +1 -1
  304. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-05-generate-report.md +8 -0
  305. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-01-assess.md +1 -1
  306. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-02-apply-edit.md +8 -0
  307. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-v/step-01-validate.md +9 -1
  308. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/SKILL.md +82 -1
  309. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/customize.toml +40 -0
  310. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/instructions.md +2 -2
  311. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/contract-testing.md +18 -2
  312. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-broker-webhooks.md +237 -0
  313. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  314. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-mcp.md +1 -0
  315. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  316. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  317. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-module-setup.md +122 -0
  318. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-providers.md +155 -0
  319. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-risk-guidance.md +114 -0
  320. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-template-matchers.md +160 -0
  321. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  322. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-timeout-error.md +130 -0
  323. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/webhook-waiting-querying.md +167 -0
  324. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/tea-index.csv +12 -4
  325. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01-detect-mode.md +7 -1
  326. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01b-resume.md +29 -15
  327. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +7 -1
  328. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-03-risk-and-testability.md +7 -1
  329. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-04-coverage-plan.md +7 -1
  330. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-05-generate-output.md +14 -0
  331. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-01-assess.md +1 -1
  332. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-02-apply-edit.md +8 -0
  333. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-v/step-01-validate.md +9 -1
  334. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-architecture-template.md +3 -0
  335. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +3 -0
  336. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +3 -0
  337. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/SKILL.md +80 -1
  338. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/customize.toml +40 -0
  339. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/instructions.md +2 -2
  340. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/contract-testing.md +18 -2
  341. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-broker-webhooks.md +237 -0
  342. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  343. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-mcp.md +1 -0
  344. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  345. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  346. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-module-setup.md +122 -0
  347. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-providers.md +155 -0
  348. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-risk-guidance.md +114 -0
  349. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-template-matchers.md +160 -0
  350. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  351. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-timeout-error.md +130 -0
  352. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/webhook-waiting-querying.md +167 -0
  353. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/tea-index.csv +12 -4
  354. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +3 -3
  355. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-02-discover-tests.md +1 -1
  356. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03-quality-evaluation.md +1 -1
  357. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03a-subagent-determinism.md +43 -0
  358. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03f-aggregate-scores.md +1 -1
  359. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-04-generate-report.md +8 -0
  360. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-01-assess.md +1 -1
  361. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-02-apply-edit.md +8 -0
  362. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-v/step-01-validate.md +9 -1
  363. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/SKILL.md +82 -1
  364. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/checklist.md +42 -18
  365. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/customize.toml +40 -0
  366. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/instructions.md +6 -4
  367. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/contract-testing.md +18 -2
  368. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-broker-webhooks.md +237 -0
  369. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-framework-setup.md +134 -12
  370. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-mcp.md +1 -0
  371. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-consumer-helpers.md +111 -1
  372. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-provider-verifier.md +83 -1
  373. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-module-setup.md +122 -0
  374. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-providers.md +155 -0
  375. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-risk-guidance.md +114 -0
  376. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-template-matchers.md +160 -0
  377. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  378. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-timeout-error.md +130 -0
  379. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/webhook-waiting-querying.md +167 -0
  380. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/tea-index.csv +12 -4
  381. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +74 -13
  382. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01b-resume.md +1 -1
  383. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-02-discover-tests.md +24 -4
  384. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-03-map-criteria.md +15 -11
  385. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-04-analyze-gaps.md +210 -3
  386. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-05-gate-decision.md +477 -62
  387. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-01-assess.md +1 -1
  388. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-02-apply-edit.md +8 -0
  389. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-v/step-01-validate.md +9 -1
  390. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/trace-template.md +10 -2
  391. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow-plan.md +14 -11
  392. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.yaml +24 -0
  393. package/lib/bmad-cache/tea/test/test-installation-components.js +210 -66
  394. package/lib/bmad-cache/tea/test/test-knowledge-base.js +6 -1
  395. package/lib/bmad-cache/tea/test/test-release-metadata.js +71 -0
  396. package/lib/bmad-cache/tea/tools/validate-agent-schema.js +73 -0
  397. package/lib/bmad-customize/bmm-qa.customize.yaml +1 -1
  398. package/lib/bmad-extension/.claude-plugin/marketplace.json.template +117 -0
  399. package/lib/bmad-extension/skills/add-sprint/SKILL.md +39 -0
  400. package/lib/bmad-extension/skills/add-to-sprint/SKILL.md +39 -0
  401. package/lib/bmad-extension/skills/bmad-dev-story/workflow.md +39 -0
  402. package/lib/bmad-extension/skills/bmad-sprint-planning/workflow.md +41 -0
  403. package/lib/bmad-extension/skills/bmad-sprint-status/workflow.md +39 -0
  404. package/lib/bmad-extension/skills/cleanup-done/SKILL.md +39 -0
  405. package/lib/bmad-extension/skills/close-sprint/SKILL.md +39 -0
  406. package/lib/bmad-extension/skills/generate-backlog/SKILL.md +41 -0
  407. package/lib/bmad-extension/skills/ma-agent-cyber/.gitkeep +0 -0
  408. package/lib/bmad-extension/skills/ma-agent-cyber/SKILL.md +49 -0
  409. package/lib/bmad-extension/skills/ma-agent-cyber/bmad-skill-manifest.yaml +11 -0
  410. package/lib/bmad-extension/skills/ma-agent-devops/.gitkeep +0 -0
  411. package/lib/bmad-extension/skills/ma-agent-devops/SKILL.md +49 -0
  412. package/lib/bmad-extension/skills/ma-agent-devops/bmad-skill-manifest.yaml +11 -0
  413. package/lib/bmad-extension/skills/ma-agent-ml/.gitkeep +0 -0
  414. package/lib/bmad-extension/skills/ma-agent-ml/SKILL.md +59 -0
  415. package/lib/bmad-extension/skills/ma-agent-ml/bmad-skill-manifest.yaml +11 -0
  416. package/lib/bmad-extension/skills/ma-agent-sqa/.gitkeep +0 -0
  417. package/lib/bmad-extension/skills/ma-agent-sqa/SKILL.md +59 -0
  418. package/lib/bmad-extension/skills/ma-agent-sqa/bmad-skill-manifest.yaml +11 -0
  419. package/lib/bmad-extension/skills/ma-agent-sre/.gitkeep +0 -0
  420. package/lib/bmad-extension/skills/ma-agent-sre/SKILL.md +49 -0
  421. package/lib/bmad-extension/skills/ma-agent-sre/bmad-skill-manifest.yaml +11 -0
  422. package/lib/bmad-extension/skills/modify-sprint/SKILL.md +39 -0
  423. package/lib/bmad-extension/skills/module-help.csv +62 -0
  424. package/lib/bmad-extension/skills/module.yaml +20 -0
  425. package/lib/bmad-extension/skills/prioritize-backlog/SKILL.md +39 -0
  426. package/lib/bmad-extension/skills/remove-from-sprint/SKILL.md +39 -0
  427. package/lib/bmad-extension/skills/sprint-status-view/SKILL.md +39 -0
  428. package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +109 -0
  429. package/lib/bmad-extension-plugin/skills/add-sprint/SKILL.md +214 -0
  430. package/lib/bmad-extension-plugin/skills/add-sprint/bmad-skill-manifest.yaml +3 -0
  431. package/lib/bmad-extension-plugin/skills/add-to-sprint/SKILL.md +282 -0
  432. package/lib/bmad-extension-plugin/skills/add-to-sprint/bmad-skill-manifest.yaml +3 -0
  433. package/lib/bmad-extension-plugin/skills/bmad-dev-story/SKILL.md +6 -0
  434. package/lib/bmad-extension-plugin/skills/bmad-dev-story/bmad-skill-manifest.yaml +3 -0
  435. package/lib/bmad-extension-plugin/skills/bmad-dev-story/checklist.md +80 -0
  436. package/lib/bmad-extension-plugin/skills/bmad-dev-story/workflow.md +548 -0
  437. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/SKILL.md +6 -0
  438. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/bmad-skill-manifest.yaml +3 -0
  439. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/checklist.md +74 -0
  440. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/sprint-status-template.yaml +89 -0
  441. package/lib/bmad-extension-plugin/skills/bmad-sprint-planning/workflow.md +413 -0
  442. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/SKILL.md +6 -0
  443. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/bmad-skill-manifest.yaml +3 -0
  444. package/lib/bmad-extension-plugin/skills/bmad-sprint-status/workflow.md +473 -0
  445. package/lib/bmad-extension-plugin/skills/cleanup-done/.gitkeep +0 -0
  446. package/lib/bmad-extension-plugin/skills/cleanup-done/SKILL.md +254 -0
  447. package/lib/bmad-extension-plugin/skills/cleanup-done/bmad-skill-manifest.yaml +3 -0
  448. package/lib/bmad-extension-plugin/skills/close-sprint/.gitkeep +0 -0
  449. package/lib/bmad-extension-plugin/skills/close-sprint/SKILL.md +418 -0
  450. package/lib/bmad-extension-plugin/skills/close-sprint/bmad-skill-manifest.yaml +3 -0
  451. package/lib/bmad-extension-plugin/skills/create-bug-story/.gitkeep +0 -0
  452. package/lib/bmad-extension-plugin/skills/create-bug-story/SKILL.md +195 -0
  453. package/lib/bmad-extension-plugin/skills/create-bug-story/bmad-skill-manifest.yaml +3 -0
  454. package/lib/bmad-extension-plugin/skills/cyber-generate-certs/.gitkeep +0 -0
  455. package/lib/bmad-extension-plugin/skills/cyber-generate-certs/SKILL.md +27 -0
  456. package/lib/bmad-extension-plugin/skills/cyber-generate-certs/bmad-skill-manifest.yaml +3 -0
  457. package/lib/bmad-extension-plugin/skills/cyber-immunity-estimation/.gitkeep +0 -0
  458. package/lib/bmad-extension-plugin/skills/cyber-immunity-estimation/SKILL.md +29 -0
  459. package/lib/bmad-extension-plugin/skills/cyber-immunity-estimation/bmad-skill-manifest.yaml +3 -0
  460. package/lib/bmad-extension-plugin/skills/cyber-security-audit/.gitkeep +0 -0
  461. package/lib/bmad-extension-plugin/skills/cyber-security-audit/SKILL.md +27 -0
  462. package/lib/bmad-extension-plugin/skills/cyber-security-audit/bmad-skill-manifest.yaml +3 -0
  463. package/lib/bmad-extension-plugin/skills/cyber-vault-secrets/.gitkeep +0 -0
  464. package/lib/bmad-extension-plugin/skills/cyber-vault-secrets/SKILL.md +28 -0
  465. package/lib/bmad-extension-plugin/skills/cyber-vault-secrets/bmad-skill-manifest.yaml +3 -0
  466. package/lib/bmad-extension-plugin/skills/cyber-verify-docker-users/.gitkeep +0 -0
  467. package/lib/bmad-extension-plugin/skills/cyber-verify-docker-users/SKILL.md +23 -0
  468. package/lib/bmad-extension-plugin/skills/cyber-verify-docker-users/bmad-skill-manifest.yaml +3 -0
  469. package/lib/bmad-extension-plugin/skills/cyber-verify-image-signature/.gitkeep +0 -0
  470. package/lib/bmad-extension-plugin/skills/cyber-verify-image-signature/SKILL.md +22 -0
  471. package/lib/bmad-extension-plugin/skills/cyber-verify-image-signature/bmad-skill-manifest.yaml +3 -0
  472. package/lib/bmad-extension-plugin/skills/cyber-vulnerability-scan/.gitkeep +0 -0
  473. package/lib/bmad-extension-plugin/skills/cyber-vulnerability-scan/SKILL.md +28 -0
  474. package/lib/bmad-extension-plugin/skills/cyber-vulnerability-scan/bmad-skill-manifest.yaml +3 -0
  475. package/lib/bmad-extension-plugin/skills/devops-configure-infrastructure/.gitkeep +0 -0
  476. package/lib/bmad-extension-plugin/skills/devops-configure-infrastructure/SKILL.md +27 -0
  477. package/lib/bmad-extension-plugin/skills/devops-configure-infrastructure/bmad-skill-manifest.yaml +3 -0
  478. package/lib/bmad-extension-plugin/skills/devops-disconnected-deployment/.gitkeep +0 -0
  479. package/lib/bmad-extension-plugin/skills/devops-disconnected-deployment/SKILL.md +27 -0
  480. package/lib/bmad-extension-plugin/skills/devops-disconnected-deployment/bmad-skill-manifest.yaml +3 -0
  481. package/lib/bmad-extension-plugin/skills/devops-docker-compose-setup/.gitkeep +0 -0
  482. package/lib/bmad-extension-plugin/skills/devops-docker-compose-setup/SKILL.md +26 -0
  483. package/lib/bmad-extension-plugin/skills/devops-docker-compose-setup/bmad-skill-manifest.yaml +3 -0
  484. package/lib/bmad-extension-plugin/skills/devops-manage-helm/.gitkeep +0 -0
  485. package/lib/bmad-extension-plugin/skills/devops-manage-helm/SKILL.md +28 -0
  486. package/lib/bmad-extension-plugin/skills/devops-manage-helm/bmad-skill-manifest.yaml +3 -0
  487. package/lib/bmad-extension-plugin/skills/devops-sign-docker-image/.gitkeep +0 -0
  488. package/lib/bmad-extension-plugin/skills/devops-sign-docker-image/SKILL.md +24 -0
  489. package/lib/bmad-extension-plugin/skills/devops-sign-docker-image/bmad-skill-manifest.yaml +3 -0
  490. package/lib/bmad-extension-plugin/skills/generate-backlog/.gitkeep +0 -0
  491. package/lib/bmad-extension-plugin/skills/generate-backlog/SKILL.md +236 -0
  492. package/lib/bmad-extension-plugin/skills/generate-backlog/bmad-skill-manifest.yaml +3 -0
  493. package/lib/bmad-extension-plugin/skills/ma-agent-cyber/.gitkeep +0 -0
  494. package/lib/{bmad-extension/skills/bmad-ma-agent-cyber → bmad-extension-plugin/skills/ma-agent-cyber}/SKILL.md +1 -1
  495. package/lib/{bmad-extension/skills/bmad-ma-agent-cyber → bmad-extension-plugin/skills/ma-agent-cyber}/bmad-skill-manifest.yaml +1 -1
  496. package/lib/bmad-extension-plugin/skills/ma-agent-devops/.gitkeep +0 -0
  497. package/lib/{bmad-extension/skills/bmad-ma-agent-devops → bmad-extension-plugin/skills/ma-agent-devops}/SKILL.md +1 -1
  498. package/lib/{bmad-extension/skills/bmad-ma-agent-devops → bmad-extension-plugin/skills/ma-agent-devops}/bmad-skill-manifest.yaml +1 -1
  499. package/lib/bmad-extension-plugin/skills/ma-agent-ml/.gitkeep +0 -0
  500. package/lib/{bmad-extension/skills/bmad-ma-agent-ml → bmad-extension-plugin/skills/ma-agent-ml}/SKILL.md +1 -1
  501. package/lib/{bmad-extension/skills/bmad-ma-agent-ml → bmad-extension-plugin/skills/ma-agent-ml}/bmad-skill-manifest.yaml +1 -1
  502. package/lib/bmad-extension-plugin/skills/ma-agent-sqa/.gitkeep +0 -0
  503. package/lib/{bmad-extension/skills/bmad-ma-agent-sqa → bmad-extension-plugin/skills/ma-agent-sqa}/SKILL.md +1 -1
  504. package/lib/{bmad-extension/skills/bmad-ma-agent-sqa → bmad-extension-plugin/skills/ma-agent-sqa}/bmad-skill-manifest.yaml +1 -1
  505. package/lib/bmad-extension-plugin/skills/ma-agent-sre/.gitkeep +0 -0
  506. package/lib/{bmad-extension/skills/bmad-ma-agent-sre → bmad-extension-plugin/skills/ma-agent-sre}/SKILL.md +1 -1
  507. package/lib/{bmad-extension/skills/bmad-ma-agent-sre → bmad-extension-plugin/skills/ma-agent-sre}/bmad-skill-manifest.yaml +1 -1
  508. package/lib/bmad-extension-plugin/skills/mil498-ocd/.gitkeep +0 -0
  509. package/lib/bmad-extension-plugin/skills/mil498-ocd/SKILL.md +30 -0
  510. package/lib/bmad-extension-plugin/skills/mil498-ocd/bmad-skill-manifest.yaml +5 -0
  511. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/01-discover-project-artifacts.md +26 -0
  512. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/02-load-template.md +10 -0
  513. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/03-generate-document.md +90 -0
  514. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/04-validate.md +14 -0
  515. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/05-review.md +15 -0
  516. package/lib/bmad-extension-plugin/skills/mil498-ocd/prompts/06-save.md +15 -0
  517. package/lib/bmad-extension-plugin/skills/mil498-ocd/template.md +169 -0
  518. package/lib/bmad-extension-plugin/skills/mil498-requirement-quality/.gitkeep +0 -0
  519. package/lib/bmad-extension-plugin/skills/mil498-requirement-quality/SKILL.md +105 -0
  520. package/lib/bmad-extension-plugin/skills/mil498-requirement-quality/bmad-skill-manifest.yaml +5 -0
  521. package/lib/bmad-extension-plugin/skills/mil498-sdd/.gitkeep +0 -0
  522. package/lib/bmad-extension-plugin/skills/mil498-sdd/SKILL.md +30 -0
  523. package/lib/bmad-extension-plugin/skills/mil498-sdd/bmad-skill-manifest.yaml +5 -0
  524. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/01-discover-project-artifacts.md +50 -0
  525. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/02-load-template.md +10 -0
  526. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/03-generate-document.md +98 -0
  527. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/04-validate.md +16 -0
  528. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/05-review.md +15 -0
  529. package/lib/bmad-extension-plugin/skills/mil498-sdd/prompts/06-save.md +19 -0
  530. package/lib/bmad-extension-plugin/skills/mil498-sdd/template.md +163 -0
  531. package/lib/bmad-extension-plugin/skills/mil498-sdp/.gitkeep +0 -0
  532. package/lib/bmad-extension-plugin/skills/mil498-sdp/SKILL.md +30 -0
  533. package/lib/bmad-extension-plugin/skills/mil498-sdp/bmad-skill-manifest.yaml +5 -0
  534. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/01-discover-project-artifacts.md +32 -0
  535. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/02-load-template.md +10 -0
  536. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/03-generate-document.md +187 -0
  537. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/04-validate.md +13 -0
  538. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/05-review.md +15 -0
  539. package/lib/bmad-extension-plugin/skills/mil498-sdp/prompts/06-save.md +14 -0
  540. package/lib/bmad-extension-plugin/skills/mil498-sdp/template.md +307 -0
  541. package/lib/bmad-extension-plugin/skills/mil498-srs/.gitkeep +0 -0
  542. package/lib/bmad-extension-plugin/skills/mil498-srs/SKILL.md +30 -0
  543. package/lib/bmad-extension-plugin/skills/mil498-srs/bmad-skill-manifest.yaml +5 -0
  544. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/01-discover-project-artifacts.md +42 -0
  545. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/02-load-template.md +10 -0
  546. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/03-generate-document.md +100 -0
  547. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/04-validate.md +16 -0
  548. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/05-review.md +15 -0
  549. package/lib/bmad-extension-plugin/skills/mil498-srs/prompts/06-save.md +18 -0
  550. package/lib/bmad-extension-plugin/skills/mil498-srs/template.md +219 -0
  551. package/lib/bmad-extension-plugin/skills/mil498-ssdd/.gitkeep +0 -0
  552. package/lib/bmad-extension-plugin/skills/mil498-ssdd/SKILL.md +32 -0
  553. package/lib/bmad-extension-plugin/skills/mil498-ssdd/bmad-skill-manifest.yaml +5 -0
  554. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/01-discover-project-artifacts.md +32 -0
  555. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/02-load-template.md +10 -0
  556. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/03-csci-discovery-interview.md +43 -0
  557. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/04-generate-document.md +96 -0
  558. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/05-validate.md +18 -0
  559. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/06-review.md +16 -0
  560. package/lib/bmad-extension-plugin/skills/mil498-ssdd/prompts/07-save.md +16 -0
  561. package/lib/bmad-extension-plugin/skills/mil498-ssdd/template.md +154 -0
  562. package/lib/bmad-extension-plugin/skills/mil498-sss/.gitkeep +0 -0
  563. package/lib/bmad-extension-plugin/skills/mil498-sss/SKILL.md +31 -0
  564. package/lib/bmad-extension-plugin/skills/mil498-sss/bmad-skill-manifest.yaml +5 -0
  565. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/01-discover-project-artifacts.md +31 -0
  566. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/02-load-template.md +10 -0
  567. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/03-generate-document.md +108 -0
  568. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/04-validate.md +16 -0
  569. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/05-review.md +15 -0
  570. package/lib/bmad-extension-plugin/skills/mil498-sss/prompts/06-save.md +15 -0
  571. package/lib/bmad-extension-plugin/skills/mil498-sss/template.md +225 -0
  572. package/lib/bmad-extension-plugin/skills/mil498-std/.gitkeep +0 -0
  573. package/lib/bmad-extension-plugin/skills/mil498-std/SKILL.md +30 -0
  574. package/lib/bmad-extension-plugin/skills/mil498-std/bmad-skill-manifest.yaml +5 -0
  575. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/01-discover-project-artifacts.md +42 -0
  576. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/02-load-template.md +10 -0
  577. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/03-generate-document.md +117 -0
  578. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/04-validate.md +15 -0
  579. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/05-review.md +15 -0
  580. package/lib/bmad-extension-plugin/skills/mil498-std/prompts/06-save.md +15 -0
  581. package/lib/bmad-extension-plugin/skills/mil498-std/template.md +188 -0
  582. package/lib/bmad-extension-plugin/skills/ml-advise/.gitkeep +0 -0
  583. package/lib/bmad-extension-plugin/skills/ml-advise/SKILL.md +76 -0
  584. package/lib/bmad-extension-plugin/skills/ml-advise/bmad-skill-manifest.yaml +3 -0
  585. package/lib/bmad-extension-plugin/skills/ml-advise/skill.json +7 -0
  586. package/lib/bmad-extension-plugin/skills/ml-analysis/.gitkeep +0 -0
  587. package/lib/bmad-extension-plugin/skills/ml-analysis/SKILL.md +60 -0
  588. package/lib/bmad-extension-plugin/skills/ml-analysis/bmad-skill-manifest.yaml +3 -0
  589. package/lib/bmad-extension-plugin/skills/ml-analysis/skill.json +7 -0
  590. package/lib/bmad-extension-plugin/skills/ml-architecture/.gitkeep +0 -0
  591. package/lib/bmad-extension-plugin/skills/ml-architecture/SKILL.md +55 -0
  592. package/lib/bmad-extension-plugin/skills/ml-architecture/bmad-skill-manifest.yaml +3 -0
  593. package/lib/bmad-extension-plugin/skills/ml-architecture/skill.json +7 -0
  594. package/lib/bmad-extension-plugin/skills/ml-detailed-design/.gitkeep +0 -0
  595. package/lib/bmad-extension-plugin/skills/ml-detailed-design/SKILL.md +67 -0
  596. package/lib/bmad-extension-plugin/skills/ml-detailed-design/bmad-skill-manifest.yaml +3 -0
  597. package/lib/bmad-extension-plugin/skills/ml-detailed-design/skill.json +7 -0
  598. package/lib/bmad-extension-plugin/skills/ml-eda/.gitkeep +0 -0
  599. package/lib/bmad-extension-plugin/skills/ml-eda/SKILL.md +56 -0
  600. package/lib/bmad-extension-plugin/skills/ml-eda/bmad-skill-manifest.yaml +3 -0
  601. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/baseline_classifier.py +522 -0
  602. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/class_weights_calculator.py +295 -0
  603. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/clustering_explorer.py +383 -0
  604. package/lib/bmad-extension-plugin/skills/ml-eda/scripts/eda_analyzer.py +654 -0
  605. package/lib/bmad-extension-plugin/skills/ml-eda/skill.json +7 -0
  606. package/lib/bmad-extension-plugin/skills/ml-experiment/.gitkeep +0 -0
  607. package/lib/bmad-extension-plugin/skills/ml-experiment/SKILL.md +74 -0
  608. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/advanced_trainer_configs.py +430 -0
  609. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/quick_trainer_setup.py +233 -0
  610. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_datamodule.py +219 -0
  611. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_gnn_module.py +341 -0
  612. package/lib/bmad-extension-plugin/skills/ml-experiment/assets/template_lightning_module.py +158 -0
  613. package/lib/bmad-extension-plugin/skills/ml-experiment/bmad-skill-manifest.yaml +3 -0
  614. package/lib/bmad-extension-plugin/skills/ml-experiment/skill.json +7 -0
  615. package/lib/bmad-extension-plugin/skills/ml-hparam/.gitkeep +0 -0
  616. package/lib/bmad-extension-plugin/skills/ml-hparam/SKILL.md +81 -0
  617. package/lib/bmad-extension-plugin/skills/ml-hparam/bmad-skill-manifest.yaml +3 -0
  618. package/lib/bmad-extension-plugin/skills/ml-hparam/skill.json +7 -0
  619. package/lib/bmad-extension-plugin/skills/ml-ideation/.gitkeep +0 -0
  620. package/lib/bmad-extension-plugin/skills/ml-ideation/SKILL.md +50 -0
  621. package/lib/bmad-extension-plugin/skills/ml-ideation/bmad-skill-manifest.yaml +3 -0
  622. package/lib/bmad-extension-plugin/skills/ml-ideation/scripts/validate_ml_prd.py +287 -0
  623. package/lib/bmad-extension-plugin/skills/ml-ideation/skill.json +7 -0
  624. package/lib/bmad-extension-plugin/skills/ml-infra/.gitkeep +0 -0
  625. package/lib/bmad-extension-plugin/skills/ml-infra/SKILL.md +58 -0
  626. package/lib/bmad-extension-plugin/skills/ml-infra/bmad-skill-manifest.yaml +3 -0
  627. package/lib/bmad-extension-plugin/skills/ml-infra/skill.json +7 -0
  628. package/lib/bmad-extension-plugin/skills/ml-retrospective/.gitkeep +0 -0
  629. package/lib/bmad-extension-plugin/skills/ml-retrospective/SKILL.md +63 -0
  630. package/lib/bmad-extension-plugin/skills/ml-retrospective/bmad-skill-manifest.yaml +3 -0
  631. package/lib/bmad-extension-plugin/skills/ml-retrospective/skill.json +7 -0
  632. package/lib/bmad-extension-plugin/skills/ml-revision/.gitkeep +0 -0
  633. package/lib/bmad-extension-plugin/skills/ml-revision/SKILL.md +82 -0
  634. package/lib/bmad-extension-plugin/skills/ml-revision/bmad-skill-manifest.yaml +3 -0
  635. package/lib/bmad-extension-plugin/skills/ml-revision/skill.json +7 -0
  636. package/lib/bmad-extension-plugin/skills/ml-techspec/.gitkeep +0 -0
  637. package/lib/bmad-extension-plugin/skills/ml-techspec/SKILL.md +80 -0
  638. package/lib/bmad-extension-plugin/skills/ml-techspec/bmad-skill-manifest.yaml +3 -0
  639. package/lib/bmad-extension-plugin/skills/ml-techspec/skill.json +7 -0
  640. package/lib/bmad-extension-plugin/skills/modify-sprint/.gitkeep +0 -0
  641. package/lib/bmad-extension-plugin/skills/modify-sprint/SKILL.md +350 -0
  642. package/lib/bmad-extension-plugin/skills/modify-sprint/bmad-skill-manifest.yaml +3 -0
  643. package/lib/bmad-extension-plugin/skills/module-help.csv +62 -0
  644. package/lib/bmad-extension-plugin/skills/module.yaml +20 -0
  645. package/lib/bmad-extension-plugin/skills/prioritize-backlog/.gitkeep +0 -0
  646. package/lib/bmad-extension-plugin/skills/prioritize-backlog/SKILL.md +256 -0
  647. package/lib/bmad-extension-plugin/skills/prioritize-backlog/bmad-skill-manifest.yaml +3 -0
  648. package/lib/bmad-extension-plugin/skills/project-context-expansion/.gitkeep +0 -0
  649. package/lib/bmad-extension-plugin/skills/project-context-expansion/SKILL.md +238 -0
  650. package/lib/bmad-extension-plugin/skills/project-context-expansion/bmad-skill-manifest.yaml +3 -0
  651. package/lib/bmad-extension-plugin/skills/remove-from-sprint/.gitkeep +0 -0
  652. package/lib/bmad-extension-plugin/skills/remove-from-sprint/SKILL.md +223 -0
  653. package/lib/bmad-extension-plugin/skills/remove-from-sprint/bmad-skill-manifest.yaml +3 -0
  654. package/lib/bmad-extension-plugin/skills/sprint-status-view/.gitkeep +0 -0
  655. package/lib/bmad-extension-plugin/skills/sprint-status-view/SKILL.md +216 -0
  656. package/lib/bmad-extension-plugin/skills/sprint-status-view/bmad-skill-manifest.yaml +3 -0
  657. package/lib/bmad-extension-plugin/skills/sqa-audit/.gitkeep +0 -0
  658. package/lib/bmad-extension-plugin/skills/sqa-audit/SKILL.md +279 -0
  659. package/lib/bmad-extension-plugin/skills/sqa-audit/bmad-skill-manifest.yaml +3 -0
  660. package/lib/bmad-extension-plugin/skills/sqa-ieee12207/.gitkeep +0 -0
  661. package/lib/bmad-extension-plugin/skills/sqa-ieee12207/SKILL.md +374 -0
  662. package/lib/bmad-extension-plugin/skills/sqa-ieee12207/bmad-skill-manifest.yaml +3 -0
  663. package/lib/bmad-extension-plugin/skills/sqa-requirements-quality/.gitkeep +0 -0
  664. package/lib/bmad-extension-plugin/skills/sqa-requirements-quality/SKILL.md +244 -0
  665. package/lib/bmad-extension-plugin/skills/sqa-requirements-quality/bmad-skill-manifest.yaml +3 -0
  666. package/lib/bmad-extension-plugin/skills/sre-check-deployment-status/.gitkeep +0 -0
  667. package/lib/bmad-extension-plugin/skills/sre-check-deployment-status/SKILL.md +32 -0
  668. package/lib/bmad-extension-plugin/skills/sre-check-deployment-status/bmad-skill-manifest.yaml +3 -0
  669. package/lib/bmad-extension-plugin/skills/sre-check-secrets/.gitkeep +0 -0
  670. package/lib/bmad-extension-plugin/skills/sre-check-secrets/SKILL.md +23 -0
  671. package/lib/bmad-extension-plugin/skills/sre-check-secrets/bmad-skill-manifest.yaml +3 -0
  672. package/lib/bmad-extension-plugin/skills/sre-check-system-status/.gitkeep +0 -0
  673. package/lib/bmad-extension-plugin/skills/sre-check-system-status/SKILL.md +27 -0
  674. package/lib/bmad-extension-plugin/skills/sre-check-system-status/bmad-skill-manifest.yaml +3 -0
  675. package/lib/bmad-extension-plugin/skills/sre-day-2-ops/.gitkeep +0 -0
  676. package/lib/bmad-extension-plugin/skills/sre-day-2-ops/SKILL.md +26 -0
  677. package/lib/bmad-extension-plugin/skills/sre-day-2-ops/bmad-skill-manifest.yaml +3 -0
  678. package/lib/bmad-extension-plugin/skills/sre-deployment-strategies/.gitkeep +0 -0
  679. package/lib/bmad-extension-plugin/skills/sre-deployment-strategies/SKILL.md +28 -0
  680. package/lib/bmad-extension-plugin/skills/sre-deployment-strategies/bmad-skill-manifest.yaml +3 -0
  681. package/lib/bmad-extension-plugin/skills/sre-fix-deployments/.gitkeep +0 -0
  682. package/lib/bmad-extension-plugin/skills/sre-fix-deployments/SKILL.md +25 -0
  683. package/lib/bmad-extension-plugin/skills/sre-fix-deployments/bmad-skill-manifest.yaml +3 -0
  684. package/lib/bmad-extension-plugin/skills/sre-gitops-status/.gitkeep +0 -0
  685. package/lib/bmad-extension-plugin/skills/sre-gitops-status/SKILL.md +25 -0
  686. package/lib/bmad-extension-plugin/skills/sre-gitops-status/bmad-skill-manifest.yaml +3 -0
  687. package/lib/bmad.js +1375 -372
  688. package/lib/installer.js +367 -2
  689. package/package.json +23 -5
  690. package/scripts/build-bmad-cache.js +250 -47
  691. package/scripts/build-plugin.js +574 -0
  692. package/skills/add-sprint/SKILL.md +39 -0
  693. package/skills/add-to-sprint/SKILL.md +39 -0
  694. package/skills/bmad-sprint-planning/SKILL.md +41 -0
  695. package/skills/bmad-sprint-status/SKILL.md +39 -0
  696. package/skills/cleanup-done/SKILL.md +39 -0
  697. package/skills/close-sprint/SKILL.md +39 -0
  698. package/skills/generate-backlog/SKILL.md +41 -0
  699. package/skills/modify-sprint/SKILL.md +39 -0
  700. package/skills/prioritize-backlog/SKILL.md +39 -0
  701. package/skills/remove-from-sprint/SKILL.md +39 -0
  702. package/skills/sprint-status-view/SKILL.md +39 -0
  703. package/skills/story-status-lookup/SKILL.md +38 -21
  704. package/.ma-agents.json +0 -10
  705. package/AGENTS.md +0 -97
  706. package/AiAudit.md +0 -12
  707. package/DEVELOPMENT.md +0 -173
  708. package/MANIFEST.yaml +0 -3
  709. package/_bmad-output/implementation-artifacts/16-4-validation-report.md +0 -79
  710. package/_bmad-output/implementation-artifacts/17-10-rework-generate-backlog.md +0 -237
  711. package/_bmad-output/implementation-artifacts/17-11-rework-add-to-sprint.md +0 -339
  712. package/_bmad-output/implementation-artifacts/17-12-rework-remove-from-sprint.md +0 -348
  713. package/_bmad-output/implementation-artifacts/17-13-rework-sprint-status-view.md +0 -383
  714. package/_bmad-output/implementation-artifacts/17-14-rework-cleanup-done.md +0 -348
  715. package/_bmad-output/implementation-artifacts/17-15-rework-bmad-sprint-planning.md +0 -385
  716. package/_bmad-output/implementation-artifacts/17-16-rework-add-sprint.md +0 -362
  717. package/_bmad-output/implementation-artifacts/17-17-rework-modify-sprint.md +0 -477
  718. package/_bmad-output/implementation-artifacts/17-18-rework-bmad-dev-story.md +0 -377
  719. package/_bmad-output/implementation-artifacts/17-19-rework-story-status-lookup.md +0 -301
  720. package/_bmad-output/implementation-artifacts/17-20-rework-bmad-sprint-status.md +0 -508
  721. package/_bmad-output/implementation-artifacts/17-21-new-close-sprint.md +0 -455
  722. package/_bmad-output/implementation-artifacts/17-22-jira-adapter-pattern.md +0 -325
  723. package/_bmad-output/implementation-artifacts/17-23-migration-deprecation-old-files.md +0 -403
  724. package/_bmad-output/implementation-artifacts/17-24-rework-prioritize-backlog.md +0 -344
  725. package/_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md +0 -279
  726. package/_bmad-output/implementation-artifacts/19-1-knowledge-graph-core-library.md +0 -239
  727. package/_bmad-output/implementation-artifacts/19-2-graph-emission-create-prd.md +0 -171
  728. package/_bmad-output/implementation-artifacts/19-3-graph-emission-create-architecture-epics.md +0 -179
  729. package/_bmad-output/implementation-artifacts/19-4-graph-emission-create-story-remaining.md +0 -190
  730. package/_bmad-output/implementation-artifacts/19-5-open-graph-skill.md +0 -213
  731. package/_bmad-output/implementation-artifacts/19-6-interactive-visualization-renderer.md +0 -259
  732. package/_bmad-output/implementation-artifacts/19-7-llm-writability-validation-tests.md +0 -280
  733. package/_bmad-output/implementation-artifacts/21-1-install-time-profile-prompt.md +0 -181
  734. package/_bmad-output/implementation-artifacts/21-10-profile-reconfigure.md +0 -161
  735. package/_bmad-output/implementation-artifacts/21-11-profile-uninstall.md +0 -150
  736. package/_bmad-output/implementation-artifacts/21-2-universal-instruction-block-expansion.md +0 -253
  737. package/_bmad-output/implementation-artifacts/21-3-roomodes-template-bmad-modes.md +0 -229
  738. package/_bmad-output/implementation-artifacts/21-4-agents-md-template-opencode.md +0 -275
  739. package/_bmad-output/implementation-artifacts/21-5-clinerules-template-extension.md +0 -221
  740. package/_bmad-output/implementation-artifacts/21-6-onprem-layered-guardrails.md +0 -287
  741. package/_bmad-output/implementation-artifacts/21-7-bmad-persona-phase-prefix.md +0 -258
  742. package/_bmad-output/implementation-artifacts/21-8-vllm-reference-doc-readme.md +0 -158
  743. package/_bmad-output/implementation-artifacts/21-9-tests-validation.md +0 -368
  744. package/_bmad-output/implementation-artifacts/4-1-vs-agent-registry-entry.md +0 -173
  745. package/_bmad-output/implementation-artifacts/4-2-vs-skill-template-format.md +0 -129
  746. package/_bmad-output/implementation-artifacts/5-5-explicit-parameter-passing.md +0 -274
  747. package/_bmad-output/implementation-artifacts/5-6-fix-space-in-path-bug.md +0 -186
  748. package/_bmad-output/implementation-artifacts/7-1-test-infrastructure-setup.md +0 -144
  749. package/_bmad-output/implementation-artifacts/7-2-installer-pipeline-tests.md +0 -132
  750. package/_bmad-output/implementation-artifacts/7-3-bmad-pipeline-tests.md +0 -119
  751. package/_bmad-output/implementation-artifacts/7-4-cli-command-routing-tests.md +0 -162
  752. package/_bmad-output/implementation-artifacts/bug-bmad-recompile-fails-on-airgapped-network.md +0 -112
  753. package/_bmad-output/implementation-artifacts/bug-experimentalwarning-about-commonjs-loading-es-module-during-install.md +0 -57
  754. package/_bmad-output/implementation-artifacts/deferred-work.md +0 -9
  755. package/_bmad-output/implementation-artifacts/done/1-1-ci-cd-yes-flag.md +0 -200
  756. package/_bmad-output/implementation-artifacts/done/10-1-ensure-bmad-output-not-gitignored.md +0 -172
  757. package/_bmad-output/implementation-artifacts/done/10-2-document-bmad-output-policy.md +0 -102
  758. package/_bmad-output/implementation-artifacts/done/11-1-auto-bug-detection-skill.md +0 -119
  759. package/_bmad-output/implementation-artifacts/done/11-2-bug-story-extension-workflow.md +0 -132
  760. package/_bmad-output/implementation-artifacts/done/11-3-integrate-bug-detection-code-review.md +0 -111
  761. package/_bmad-output/implementation-artifacts/done/12-1-add-sprint-workflow.md +0 -126
  762. package/_bmad-output/implementation-artifacts/done/12-2-add-to-sprint-workflow.md +0 -137
  763. package/_bmad-output/implementation-artifacts/done/12-3-modify-sprint-workflow.md +0 -127
  764. package/_bmad-output/implementation-artifacts/done/12-4-sprint-status-assigned-items.md +0 -129
  765. package/_bmad-output/implementation-artifacts/done/13-1-project-context-template-and-generator.md +0 -179
  766. package/_bmad-output/implementation-artifacts/done/13-2-install-pipeline-integration.md +0 -138
  767. package/_bmad-output/implementation-artifacts/done/13-3-bmad-critical-actions-update.md +0 -150
  768. package/_bmad-output/implementation-artifacts/done/13-4-retrospective-expansion-trigger.md +0 -128
  769. package/_bmad-output/implementation-artifacts/done/13-5-document-project-context-generation.md +0 -118
  770. package/_bmad-output/implementation-artifacts/done/15-1-bump-bmad-method-to-6-2-1.md +0 -132
  771. package/_bmad-output/implementation-artifacts/done/15-2-restructure-extension-module.md +0 -174
  772. package/_bmad-output/implementation-artifacts/done/15-3-convert-custom-agents-to-skill-folders.md +0 -183
  773. package/_bmad-output/implementation-artifacts/done/15-4-convert-mil498-workflows-to-skill-md.md +0 -252
  774. package/_bmad-output/implementation-artifacts/done/15-5-convert-sre-devops-cyber-workflows.md +0 -232
  775. package/_bmad-output/implementation-artifacts/done/15-6-separate-built-in-agent-customizations.md +0 -163
  776. package/_bmad-output/implementation-artifacts/done/15-7-migration-detection-and-upgrade-path.md +0 -133
  777. package/_bmad-output/implementation-artifacts/done/15-8-validate-migrated-agents-and-workflows.md +0 -172
  778. package/_bmad-output/implementation-artifacts/done/15-8-validation-report.md +0 -342
  779. package/_bmad-output/implementation-artifacts/done/16-1-repository-layout-wizard.md +0 -223
  780. package/_bmad-output/implementation-artifacts/done/16-2-config-storage-and-cross-reference.md +0 -180
  781. package/_bmad-output/implementation-artifacts/done/16-3-project-context-multi-repo-section.md +0 -136
  782. package/_bmad-output/implementation-artifacts/done/16-4-validate-cross-repo-path-resolution.md +0 -137
  783. package/_bmad-output/implementation-artifacts/done/16-4-validation-report.md +0 -79
  784. package/_bmad-output/implementation-artifacts/done/16-5-fix-config-lost-on-update.md +0 -110
  785. package/_bmad-output/implementation-artifacts/done/16-6-repo-sync-check-skill.md +0 -116
  786. package/_bmad-output/implementation-artifacts/done/16-7-portable-path-storage.md +0 -109
  787. package/_bmad-output/implementation-artifacts/done/16-8-cicd-remote-mode.md +0 -97
  788. package/_bmad-output/implementation-artifacts/done/16-9-reconfigure-layout-workflow.md +0 -125
  789. package/_bmad-output/implementation-artifacts/done/17-1-sprint-entity-model.md +0 -322
  790. package/_bmad-output/implementation-artifacts/done/17-2-flat-backlog-model.md +0 -264
  791. package/_bmad-output/implementation-artifacts/done/17-3-bug-as-story-type.md +0 -208
  792. package/_bmad-output/implementation-artifacts/done/17-4-backlog-to-sprint-workflow.md +0 -209
  793. package/_bmad-output/implementation-artifacts/done/17-5-sprint-to-backlog-workflow.md +0 -221
  794. package/_bmad-output/implementation-artifacts/done/17-6-done-item-cleanup.md +0 -273
  795. package/_bmad-output/implementation-artifacts/done/17-7-multi-criteria-prioritization.md +0 -235
  796. package/_bmad-output/implementation-artifacts/done/17-8-rework-sprint-status-display.md +0 -285
  797. package/_bmad-output/implementation-artifacts/done/2-1-cpp-coding-standards-skill.md +0 -188
  798. package/_bmad-output/implementation-artifacts/done/2-2-csharp-coding-standards-skill.md +0 -211
  799. package/_bmad-output/implementation-artifacts/done/2-3-python-coding-standards-skill.md +0 -189
  800. package/_bmad-output/implementation-artifacts/done/3-1-skill-scaffolding-tool.md +0 -184
  801. package/_bmad-output/implementation-artifacts/done/3-2-skill-validation-tool.md +0 -178
  802. package/_bmad-output/implementation-artifacts/done/3-3-mandatory-skill-designation.md +0 -136
  803. package/_bmad-output/implementation-artifacts/done/3-4-bmad-persona-customization-tooling.md +0 -141
  804. package/_bmad-output/implementation-artifacts/done/3-5-specialized-agent-development-tooling.md +0 -145
  805. package/_bmad-output/implementation-artifacts/done/5-1-bmad-method-direct-dependency.md +0 -188
  806. package/_bmad-output/implementation-artifacts/done/5-2-bmad-cache-build-script.md +0 -219
  807. package/_bmad-output/implementation-artifacts/done/5-3-pre-populate-bmad-cache.md +0 -234
  808. package/_bmad-output/implementation-artifacts/done/5-4-validate-bundled-installation.md +0 -274
  809. package/_bmad-output/implementation-artifacts/done/6-1-methodology-presentation-bundle.md +0 -173
  810. package/_bmad-output/implementation-artifacts/done/8-1-move-instruction-injection-to-top.md +0 -131
  811. package/_bmad-output/implementation-artifacts/done/8-2-agent-aware-injection-strategy.md +0 -124
  812. package/_bmad-output/implementation-artifacts/done/8-3-create-bmad-extension-module.md +0 -187
  813. package/_bmad-output/implementation-artifacts/done/8-4-integration-verification.md +0 -102
  814. package/_bmad-output/implementation-artifacts/done/8-5-per-agent-enforcement-hooks-research.md +0 -126
  815. package/_bmad-output/implementation-artifacts/done/8-6-context-persistence-research.md +0 -101
  816. package/_bmad-output/implementation-artifacts/done/9-1-register-opencode-agent.md +0 -73
  817. package/_bmad-output/implementation-artifacts/done/9-2-json-merge-injection.md +0 -91
  818. package/_bmad-output/implementation-artifacts/done/9-3-json-merge-existing.md +0 -113
  819. package/_bmad-output/implementation-artifacts/done/9-4-json-error-handling.md +0 -90
  820. package/_bmad-output/implementation-artifacts/epic-11-12-shared-guardrails.md +0 -53
  821. package/_bmad-output/implementation-artifacts/epic-15-adversarial-fixes.md +0 -287
  822. package/_bmad-output/implementation-artifacts/epic-16-adversarial-review.md +0 -49
  823. package/_bmad-output/implementation-artifacts/epic-16-edge-case-review.md +0 -230
  824. package/_bmad-output/implementation-artifacts/epic-17-adversarial-review.md +0 -37
  825. package/_bmad-output/implementation-artifacts/epic-17-edge-case-review.md +0 -140
  826. package/_bmad-output/implementation-artifacts/sprint-status.yaml +0 -139
  827. package/_bmad-output/planning-artifacts/adapter-pattern-spec.md +0 -508
  828. package/_bmad-output/planning-artifacts/architecture.md +0 -2023
  829. package/_bmad-output/planning-artifacts/domain-research-roocode-2026-03-31.md +0 -295
  830. package/_bmad-output/planning-artifacts/epics.md +0 -4232
  831. package/_bmad-output/planning-artifacts/mil498-workflow-audit.md +0 -290
  832. package/_bmad-output/planning-artifacts/prd.md +0 -811
  833. package/_bmad-output/planning-artifacts/product-brief-agents-2026-03-08.md +0 -214
  834. package/_bmad-output/planning-artifacts/sprint-status-schema.md +0 -506
  835. package/_bmad-output/planning-artifacts/validation-report-prd-2026-04-07.md +0 -330
  836. package/_bmad-output/project-context.md +0 -47
  837. package/agents.code-workspace +0 -11
  838. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-554778ad4e7254827618ebd2497c3f4bce9054a4.idx +0 -0
  839. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-554778ad4e7254827618ebd2497c3f4bce9054a4.rev +0 -0
  840. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.idx +0 -0
  841. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.rev +0 -0
  842. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-brainstorming-coach/bmad-skill-manifest.yaml +0 -11
  843. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-creative-problem-solver/bmad-skill-manifest.yaml +0 -11
  844. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-design-thinking-coach/bmad-skill-manifest.yaml +0 -11
  845. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-innovation-strategist/bmad-skill-manifest.yaml +0 -11
  846. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-presentation-master/bmad-skill-manifest.yaml +0 -11
  847. package/lib/bmad-cache/cis/src/skills/bmad-cis-agent-storyteller/bmad-skill-manifest.yaml +0 -11
  848. package/lib/bmad-cache/cis/src/skills/bmad-cis-design-thinking/bmad-skill-manifest.yaml +0 -1
  849. package/lib/bmad-cache/cis/src/skills/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +0 -1
  850. package/lib/bmad-cache/cis/src/skills/bmad-cis-problem-solving/bmad-skill-manifest.yaml +0 -1
  851. package/lib/bmad-cache/cis/src/skills/bmad-cis-storytelling/bmad-skill-manifest.yaml +0 -1
  852. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.idx +0 -0
  853. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.rev +0 -0
  854. package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/bmad-skill-manifest.yaml +0 -11
  855. package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/bmad-skill-manifest.yaml +0 -11
  856. package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/bmad-skill-manifest.yaml +0 -11
  857. package/lib/bmad-cache/gds/src/agents/gds-agent-game-qa/bmad-skill-manifest.yaml +0 -11
  858. package/lib/bmad-cache/gds/src/agents/gds-agent-game-scrum-master/bmad-skill-manifest.yaml +0 -11
  859. package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/bmad-skill-manifest.yaml +0 -11
  860. package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/bmad-skill-manifest.yaml +0 -11
  861. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/bmad-skill-manifest.yaml +0 -1
  862. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/bmad-skill-manifest.yaml +0 -1
  863. package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/bmad-skill-manifest.yaml +0 -9
  864. package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/bmad-skill-manifest.yaml +0 -1
  865. package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/bmad-skill-manifest.yaml +0 -14
  866. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-gdd/bmad-skill-manifest.yaml +0 -1
  867. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/bmad-skill-manifest.yaml +0 -1
  868. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-ux-design/bmad-skill-manifest.yaml +0 -1
  869. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/bmad-skill-manifest.yaml +0 -1
  870. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/bmad-skill-manifest.yaml +0 -1
  871. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/bmad-skill-manifest.yaml +0 -1
  872. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/bmad-skill-manifest.yaml +0 -1
  873. package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/bmad-skill-manifest.yaml +0 -1
  874. package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/bmad-skill-manifest.yaml +0 -1
  875. package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/bmad-skill-manifest.yaml +0 -1
  876. package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/bmad-skill-manifest.yaml +0 -1
  877. package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/bmad-skill-manifest.yaml +0 -1
  878. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/bmad-skill-manifest.yaml +0 -1
  879. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/bmad-skill-manifest.yaml +0 -1
  880. package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/bmad-skill-manifest.yaml +0 -1
  881. package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/bmad-skill-manifest.yaml +0 -1
  882. package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/bmad-skill-manifest.yaml +0 -1
  883. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/bmad-skill-manifest.yaml +0 -1
  884. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/bmad-skill-manifest.yaml +0 -1
  885. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/bmad-skill-manifest.yaml +0 -1
  886. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/bmad-skill-manifest.yaml +0 -1
  887. package/lib/bmad-cache/gds/src/workflows/gds-document-project/bmad-skill-manifest.yaml +0 -1
  888. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/bmad-skill-manifest.yaml +0 -1
  889. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev-new-preview/bmad-skill-manifest.yaml +0 -1
  890. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-spec/bmad-skill-manifest.yaml +0 -1
  891. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-e75385cd52b693dbb8a3b2afb50058952543b3a2.idx +0 -0
  892. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-e75385cd52b693dbb8a3b2afb50058952543b3a2.rev +0 -0
  893. package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.10.0 +0 -1
  894. package/lib/bmad-cache/tea/src/agents/bmad-tea/bmad-skill-manifest.yaml +0 -14
  895. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/bmad-skill-manifest.yaml +0 -1
  896. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/workflow.md +0 -90
  897. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/bmad-skill-manifest.yaml +0 -1
  898. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow.md +0 -41
  899. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/bmad-skill-manifest.yaml +0 -1
  900. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow.md +0 -41
  901. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/bmad-skill-manifest.yaml +0 -1
  902. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow.md +0 -41
  903. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/bmad-skill-manifest.yaml +0 -1
  904. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow.md +0 -41
  905. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/bmad-skill-manifest.yaml +0 -1
  906. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow.md +0 -41
  907. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/bmad-skill-manifest.yaml +0 -1
  908. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow.md +0 -41
  909. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/bmad-skill-manifest.yaml +0 -1
  910. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow.md +0 -41
  911. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/bmad-skill-manifest.yaml +0 -1
  912. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.md +0 -41
  913. package/lib/bmad-customizations/bmm-demerzel.customize.yaml +0 -36
  914. package/lib/bmad-customizations/demerzel.md +0 -32
  915. package/lib/bmad-customize/bmm-quick-flow-solo-dev.customize.yaml +0 -8
  916. package/lib/bmad-extension/module.yaml +0 -5
  917. package/out.txt +0 -0
  918. package/test/agent-injection-strategy.test.js +0 -129
  919. package/test/agents-md.test.js +0 -398
  920. package/test/bmad-extension.test.js +0 -283
  921. package/test/bmad-output-policy.test.js +0 -119
  922. package/test/bmad-persona-phase-prefix.test.js +0 -271
  923. package/test/bmad-version-bump.test.js +0 -313
  924. package/test/build-bmad-args.test.js +0 -368
  925. package/test/cicd-remote-mode.test.js +0 -224
  926. package/test/clinerules.test.js +0 -339
  927. package/test/config-layout.test.js +0 -230
  928. package/test/config-lost-on-update.test.js +0 -363
  929. package/test/config-storage.test.js +0 -275
  930. package/test/convert-agents-to-skills.test.js +0 -255
  931. package/test/create-agent.test.js +0 -232
  932. package/test/cross-repo-validation.test.js +0 -201
  933. package/test/enforcement-hooks.test.js +0 -324
  934. package/test/experimental-warning.test.js +0 -314
  935. package/test/extension-module-restructure.test.js +0 -407
  936. package/test/fixtures/README.md +0 -74
  937. package/test/fixtures/empty-project/README.md +0 -5
  938. package/test/fixtures/empty-project/package.json +0 -5
  939. package/test/fixtures/onprem-profile-baseline/.gitkeep +0 -2
  940. package/test/fixtures/standard-profile-baseline/.gitkeep +0 -2
  941. package/test/generate-project-context.test.js +0 -483
  942. package/test/instruction-block.test.js +0 -388
  943. package/test/instruction-injection.test.js +0 -336
  944. package/test/integration-verification.test.js +0 -433
  945. package/test/migration-validation.test.js +0 -506
  946. package/test/migration.test.js +0 -832
  947. package/test/offline-recompile.test.js +0 -267
  948. package/test/onprem-injection.test.js +0 -441
  949. package/test/onprem-layer.test.js +0 -419
  950. package/test/opencode-agent.test.js +0 -150
  951. package/test/opencode-json-error.test.js +0 -260
  952. package/test/opencode-json-injection.test.js +0 -264
  953. package/test/opencode-json-merge.test.js +0 -318
  954. package/test/portable-paths.test.js +0 -268
  955. package/test/profile.test.js +0 -301
  956. package/test/reconfigure.test.js +0 -436
  957. package/test/repo-layout.test.js +0 -246
  958. package/test/roo-code-agent.test.js +0 -166
  959. package/test/roo-code-injection.test.js +0 -172
  960. package/test/roomodes.test.js +0 -343
  961. package/test/skill-authoring.test.js +0 -272
  962. package/test/skill-customize-agent.test.js +0 -253
  963. package/test/skill-mandatory.test.js +0 -235
  964. package/test/skill-validation.test.js +0 -378
  965. package/test/story-15-5-workflow-skills.test.js +0 -311
  966. package/test/uninstall.test.js +0 -402
  967. package/test/yes-flag.test.js +0 -200
  968. /package/lib/bmad-cache/gds/src/{gametest → agents/gds-agent-game-dev/gametest}/qa-index.csv +0 -0
  969. /package/lib/bmad-cache/gds/src/workflows/2-design/{create-prd → gds-create-prd}/data/domain-complexity.csv +0 -0
  970. /package/lib/bmad-cache/gds/src/workflows/2-design/{create-prd → gds-create-prd}/data/project-types.csv +0 -0
  971. /package/lib/{bmad-extension/skills/bmad-ma-agent-cyber → bmad-extension-plugin/skills/add-sprint}/.gitkeep +0 -0
  972. /package/lib/{bmad-extension/skills/bmad-ma-agent-devops → bmad-extension-plugin/skills/add-to-sprint}/.gitkeep +0 -0
  973. /package/lib/{bmad-extension/skills/bmad-ma-agent-ml → bmad-extension-plugin/skills/bmad-dev-story}/.gitkeep +0 -0
  974. /package/lib/{bmad-extension/skills/bmad-ma-agent-sqa → bmad-extension-plugin/skills/bmad-sprint-planning}/.gitkeep +0 -0
  975. /package/lib/{bmad-extension/skills/bmad-ma-agent-sre → bmad-extension-plugin/skills/bmad-sprint-status}/.gitkeep +0 -0
@@ -28,6 +28,7 @@ Use production-ready utilities from `@seontechnologies/pactjs-utils` to eliminat
28
28
  - **`getProviderVersionTags`**: CI-aware version tagging (extracts branch/tag from GitHub Actions, GitLab CI, etc.)
29
29
  - **`createRequestFilter`**: Pluggable token generator pattern — prevents double-Bearer bugs by contract
30
30
  - **`noOpRequestFilter`**: Pass-through for providers that don't require auth injection
31
+ - **`zodToPactMatchers`**: Converts a Zod schema (+ optional example values or `.openapi({ example })` metadata) into Pact V3 matchers — single source of truth for response shape, no hand-written matcher helpers
31
32
 
32
33
  ## Installation
33
34
 
@@ -42,18 +43,19 @@ npm install -D @pact-foundation/pact
42
43
 
43
44
  ## Available Utilities
44
45
 
45
- | Category | Function | Description | Use Case |
46
- | ----------------- | --------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------- |
47
- | Consumer Helpers | `createProviderState` | Builds `[stateName, JsonMap]` tuple from typed input | Consumer tests: `.given(...createProviderState(input))` |
48
- | Consumer Helpers | `toJsonMap` | Converts any object to Pact-compatible `JsonMap` | Explicit type coercion for provider state params |
49
- | Consumer Helpers | `setJsonContent` | Curried request/response JSON callback helper | PactV4 `.withRequest(...)` and `.willRespondWith(...)` builders |
50
- | Consumer Helpers | `setJsonBody` | Body-only alias of `setJsonContent` | Body-only `.willRespondWith(...)` responses |
51
- | Provider Verifier | `buildVerifierOptions` | Assembles complete HTTP `VerifierOptions` | Provider verification: `new Verifier(buildVerifierOptions(...))` |
52
- | Provider Verifier | `buildMessageVerifierOptions` | Assembles message `VerifierOptions` | Kafka/async provider verification |
53
- | Provider Verifier | `handlePactBrokerUrlAndSelectors` | Resolves broker URL + selectors from env vars | Env-aware broker configuration |
54
- | Provider Verifier | `getProviderVersionTags` | CI-aware version tag extraction | Provider version tagging in CI |
55
- | Request Filter | `createRequestFilter` | Express middleware with pluggable token generator | Auth injection for provider verification |
56
- | Request Filter | `noOpRequestFilter` | Pass-through filter (no-op) | Providers without auth requirements |
46
+ | Category | Function | Description | Use Case |
47
+ | ----------------- | --------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
48
+ | Consumer Helpers | `createProviderState` | Builds `[stateName, JsonMap]` tuple from typed input | Consumer tests: `.given(...createProviderState(input))` |
49
+ | Consumer Helpers | `toJsonMap` | Converts any object to Pact-compatible `JsonMap` | Explicit type coercion for provider state params |
50
+ | Consumer Helpers | `setJsonContent` | Curried request/response JSON callback helper | PactV4 `.withRequest(...)` and `.willRespondWith(...)` builders |
51
+ | Consumer Helpers | `setJsonBody` | Body-only alias of `setJsonContent` | Body-only `.willRespondWith(...)` responses |
52
+ | Provider Verifier | `buildVerifierOptions` | Assembles complete HTTP `VerifierOptions` | Provider verification: `new Verifier(buildVerifierOptions(...))` |
53
+ | Provider Verifier | `buildMessageVerifierOptions` | Assembles message `VerifierOptions` | Kafka/async provider verification |
54
+ | Provider Verifier | `handlePactBrokerUrlAndSelectors` | Resolves broker URL + selectors from env vars | Env-aware broker configuration |
55
+ | Provider Verifier | `getProviderVersionTags` | CI-aware version tag extraction | Provider version tagging in CI |
56
+ | Request Filter | `createRequestFilter` | Express middleware with pluggable token generator | Auth injection for provider verification |
57
+ | Request Filter | `noOpRequestFilter` | Pass-through filter (no-op) | Providers without auth requirements |
58
+ | Schema → Matchers | `zodToPactMatchers` | Derives Pact V3 matchers from a Zod schema | Consumer tests: response body matchers from a consumer-curated Zod schema instead of hand-written helpers |
57
59
 
58
60
  ## Decision Tree: Which Flow?
59
61
 
@@ -153,6 +155,7 @@ await new Verifier(opts).verifyProvider();
153
155
  - `pactjs-utils-consumer-helpers.md` — detailed createProviderState, toJsonMap, setJsonContent, and setJsonBody usage
154
156
  - `pactjs-utils-provider-verifier.md` — detailed buildVerifierOptions and broker configuration
155
157
  - `pactjs-utils-request-filter.md` — detailed createRequestFilter and auth patterns
158
+ - `pactjs-utils-zod-to-pact.md` — detailed zodToPactMatchers usage, consumer-curated schema pattern, and anti-patterns
156
159
  - `contract-testing.md` — foundational contract testing patterns (raw Pact.js approach)
157
160
  - `test-levels-framework.md` — where contract tests fit in the testing pyramid
158
161
 
@@ -220,6 +220,54 @@ const tags = getProviderVersionTags();
220
220
  // tags = ['local']
221
221
  ```
222
222
 
223
+ ### Example 7: Provider Vitest Configuration (Required for Multi-File Verification)
224
+
225
+ **Context**: The Pact Rust FFI that powers the JS `Verifier` holds process-wide state (native handles for messages, matchers, mocks). Vitest's default parallel file workers each spin up their own FFI instance and quickly corrupt that state — causing `MessagePact`/`Verifier` errors like `"Unable to get the MessageHandle"`, or non-deterministic verification passes/fails — as soon as you have more than one provider `.spec.ts` file.
226
+
227
+ **Rule**: Provider verification suites **must** run in a single fork. Use Vitest's `forks` pool with `singleFork: true` in `vitest.config.contract.ts` (or equivalent).
228
+
229
+ ```typescript
230
+ // vitest.config.contract.ts — provider verification config
231
+ import { defineConfig } from 'vitest/config';
232
+
233
+ export default defineConfig({
234
+ test: {
235
+ environment: 'node',
236
+ include: ['tests/contract/**/*.spec.ts'],
237
+ testTimeout: 60000,
238
+ // MANDATORY for multi-file provider verification.
239
+ // The Pact Rust FFI backing the Verifier holds process-wide state; parallel workers corrupt it
240
+ // and produce flaky verification results / "Unable to get the MessageHandle" errors.
241
+ // This is especially important for message providers (Kafka/async) where verifier construction
242
+ // allocates native handles per file — singleFork keeps them in one process so state is coherent.
243
+ pool: 'forks',
244
+ poolOptions: {
245
+ forks: {
246
+ singleFork: true,
247
+ },
248
+ },
249
+ },
250
+ });
251
+ ```
252
+
253
+ **Key Points**:
254
+
255
+ - **Required for message providers** (`buildMessageVerifierOptions`) — the message-handle FFI state is almost guaranteed to corrupt under parallel workers.
256
+ - **Required for HTTP providers with multiple contract test files** — even if each file works in isolation, running them together in parallel produces intermittent failures.
257
+ - `pool: 'forks'` (rather than `threads`) + `singleFork: true` is the exact combo that keeps all verifier runs in a single child process with a single FFI instance.
258
+ - Treat `pool: 'forks'` + `singleFork: true` as the required baseline for all provider suites, including single-file HTTP-only ones. A suite that works today with one file will flake the moment a second file is added, and removing the setting later introduces a regression window.
259
+ - **The same `pool: 'forks'` + `singleFork: true` rule applies on the consumer side.** Consumer `vitest.config.pact.ts` sets it alongside `fileParallelism: false` — see `pact-consumer-framework-setup.md` Example 2. The rule is needed on either side wherever more than one pact test file exists per consumer+provider pair.
260
+ - Use a dedicated `vitest.config.contract.ts` so unit tests still get full parallelism — only contract tests pay the serialization cost.
261
+ - Related `package.json` entry:
262
+
263
+ ```json
264
+ {
265
+ "scripts": {
266
+ "test:pact:provider": "vitest run --config vitest.config.contract.ts"
267
+ }
268
+ }
269
+ ```
270
+
223
271
  ## Environment Variables Reference
224
272
 
225
273
  | Variable | Required | Description | Default |
@@ -241,12 +289,15 @@ const tags = getProviderVersionTags();
241
289
  - **Webhook support**: `PACT_PAYLOAD_URL` takes precedence — verifies only the specific pact that triggered the webhook
242
290
  - **State handler types**: Both `async (params) => void` and `{ setup: async (params) => void, teardown: async () => void }` are supported
243
291
  - **Version publishing**: Verification results are published by default (`publishVerificationResult` defaults to `true`)
292
+ - **Provider Vitest config is MANDATORY for multi-file suites**: Set `pool: 'forks'` + `poolOptions.forks.singleFork: true` in `vitest.config.contract.ts`. Without this the Rust FFI corrupts under parallel workers (see Example 7).
244
293
 
245
294
  ## Related Fragments
246
295
 
247
296
  - `pactjs-utils-overview.md` — installation, decision tree, design philosophy
248
- - `pactjs-utils-consumer-helpers.md` — consumer-side state parameter creation
297
+ - `pactjs-utils-consumer-helpers.md` — consumer-side state parameter creation, **one-interaction-per-`it()` rule**
249
298
  - `pactjs-utils-request-filter.md` — auth injection for provider verification
299
+ - `pact-consumer-framework-setup.md` — consumer-side framework setup, Vitest `fileParallelism: false`, determinism gate
300
+ - `pact-broker-webhooks.md` — PactFlow → GitHub webhook auth/staleness for webhook-triggered provider verification (`contract_requiring_verification_published`)
250
301
  - `contract-testing.md` — foundational patterns with raw Pact.js
251
302
 
252
303
  ## Anti-Patterns
@@ -312,4 +363,35 @@ const opts = buildVerifierOptions({
312
363
  // Selectors chosen automatically based on environment
313
364
  ```
314
365
 
366
+ ### Wrong: Parallel Vitest workers for provider verification
367
+
368
+ ```typescript
369
+ // ❌ vitest.config.contract.ts — uses default parallel workers
370
+ import { defineConfig } from 'vitest/config';
371
+ export default defineConfig({
372
+ test: {
373
+ environment: 'node',
374
+ include: ['tests/contract/**/*.spec.ts'],
375
+ // NO pool/singleFork config — defaults to parallel file workers
376
+ },
377
+ });
378
+ // Symptoms: "Unable to get the MessageHandle", non-deterministic verification pass/fail,
379
+ // green locally on single-file run but red in CI with multiple files
380
+ ```
381
+
382
+ ### Right: Single fork for provider verification
383
+
384
+ ```typescript
385
+ // ✅ vitest.config.contract.ts — serializes provider verification files
386
+ import { defineConfig } from 'vitest/config';
387
+ export default defineConfig({
388
+ test: {
389
+ environment: 'node',
390
+ include: ['tests/contract/**/*.spec.ts'],
391
+ pool: 'forks',
392
+ poolOptions: { forks: { singleFork: true } },
393
+ },
394
+ });
395
+ ```
396
+
315
397
  _Source: @seontechnologies/pactjs-utils provider-verifier module, pact-js-example-provider CI workflows_
@@ -0,0 +1,262 @@
1
+ # Pact.js Utils Zod to Pact
2
+
3
+ ## Principle
4
+
5
+ Use `zodToPactMatchers` from `@seontechnologies/pactjs-utils` to derive Pact V3 matchers directly from a Zod schema so you never maintain two representations of the same response shape. The schema is the source of truth for types; plain example values (or `.openapi({ example })` metadata) supply the concrete example data.
6
+
7
+ ## Rationale
8
+
9
+ ### Problems with hand-written matcher helpers
10
+
11
+ - **Duplication**: Teams that already define response shapes in Zod (or generate OpenAPI from Zod) then redefine the same shape again as hand-written `{ id: integer(...), name: string(...) }` matcher objects.
12
+ - **Silent drift**: Every schema change must be applied in both places; miss one and the contract drifts silently from the real response shape.
13
+ - **Boilerplate helpers per test file**: Consumer tests end up with local `propMatcherFoo(x) => ({ ... })` helpers that mirror the type exactly.
14
+ - **Over-specification**: Importing the provider's full 20-field schema produces a contract that forces the provider to return every field — breaking consumer-driven testing's core benefit (consumer only asserts what it reads).
15
+
16
+ ### Solutions
17
+
18
+ - **`zodToPactMatchers(schema, example)`** — walks a Zod schema and emits the right `MatchersV3.*` call per field (`string()`, `integer()`, `decimal()`, `boolean()`, `nullValue()`, `eachLike(...)` for arrays, recursive objects, first option for unions, first value for enums, literal-typed matchers for literals).
19
+ - **Three-step example resolution**: (1) the `example` arg wins, (2) `.openapi({ example })` metadata (if `@asteasolutions/zod-to-openapi` is installed), (3) a type-appropriate default (`'string'`, `1.0`, `true`, no-arg `integer()`).
20
+ - **Consumer-curated schemas**: You choose which schema to pass, so you can include only the fields the consumer actually reads — keeping contracts lean and consumer-driven.
21
+
22
+ ## Pattern Examples
23
+
24
+ ### Example 1: Consumer-curated schema (mandatory pattern)
25
+
26
+ ```typescript
27
+ // pact/http/helpers/consumer-schemas.ts
28
+ import { z } from 'zod';
29
+
30
+ // Only the fields this consumer actually reads — NOT the shared full-response schema
31
+ export const ConsumerMovieSchema = z.object({
32
+ id: z.number().int(),
33
+ name: z.string(),
34
+ year: z.number().int(),
35
+ rating: z.number(),
36
+ director: z.string(),
37
+ });
38
+ ```
39
+
40
+ ### Example 2: Replacing hand-written matcher helpers
41
+
42
+ ```typescript
43
+ // ❌ Before — hand-written helper duplicates the shape defined in Movie type
44
+ const propMatcherNoId = (movie: Omit<Movie, 'id'>) => ({
45
+ name: string(movie.name),
46
+ year: integer(movie.year),
47
+ rating: decimal(movie.rating),
48
+ director: string(movie.director),
49
+ });
50
+
51
+ await pact
52
+ .addInteraction()
53
+ .given('No movies exist')
54
+ .uponReceiving('a request to add a new movie')
55
+ .withRequest('POST', '/movies', setJsonContent({ body: movieWithoutId }))
56
+ .willRespondWith(
57
+ 200,
58
+ setJsonContent({
59
+ body: {
60
+ status: 200,
61
+ data: { id: integer(), ...propMatcherNoId(movieWithoutId) },
62
+ },
63
+ }),
64
+ );
65
+ ```
66
+
67
+ ```typescript
68
+ // ✅ After — schema defines types, plain object provides examples
69
+ import { zodToPactMatchers, setJsonContent } from '@seontechnologies/pactjs-utils';
70
+ import { ConsumerMovieSchema } from '../helpers/consumer-schemas';
71
+
72
+ await pact
73
+ .addInteraction()
74
+ .given('No movies exist')
75
+ .uponReceiving('a request to add a new movie')
76
+ .withRequest('POST', '/movies', setJsonContent({ body: movieWithoutId }))
77
+ .willRespondWith(
78
+ 200,
79
+ setJsonContent({
80
+ body: {
81
+ status: 200,
82
+ data: zodToPactMatchers(ConsumerMovieSchema, { id: 1, ...movieWithoutId }),
83
+ },
84
+ }),
85
+ );
86
+ ```
87
+
88
+ ### Example 3: Array responses with `eachLike`
89
+
90
+ ```typescript
91
+ import { PactV4, MatchersV3 } from '@pact-foundation/pact';
92
+ import { zodToPactMatchers, setJsonContent } from '@seontechnologies/pactjs-utils';
93
+ import { ConsumerMovieSchema } from '../helpers/consumer-schemas';
94
+
95
+ const { eachLike } = MatchersV3;
96
+ const pact = new PactV4({ consumer: 'Movies Web', provider: 'Movies API' });
97
+ const movie = { id: 1, name: 'My movie', year: 1999, rating: 8.5, director: 'John Doe' };
98
+
99
+ await pact
100
+ .addInteraction()
101
+ .given('Movies exist')
102
+ .uponReceiving('a request for all movies')
103
+ .withRequest('GET', '/movies')
104
+ .willRespondWith(
105
+ 200,
106
+ setJsonContent({
107
+ body: {
108
+ status: 200,
109
+ data: eachLike(zodToPactMatchers(ConsumerMovieSchema, movie) as Parameters<typeof eachLike>[0]),
110
+ },
111
+ }),
112
+ );
113
+ // data expands to: eachLike({ id: integer(1), name: string('My movie'), year: integer(1999), rating: decimal(8.5), director: string('John Doe') })
114
+ ```
115
+
116
+ ### Example 4: Message Pact tests (Kafka / async)
117
+
118
+ ```typescript
119
+ import { PactV4, MatchersV3 } from '@pact-foundation/pact';
120
+ import { zodToPactMatchers } from '@seontechnologies/pactjs-utils';
121
+ import { ConsumerMovieSchema } from '../../http/helpers/consumer-schemas';
122
+
123
+ const { string } = MatchersV3;
124
+
125
+ // Schema-derived matchers — no manual matcher construction, no outer like() wrapper
126
+ const movieValue = zodToPactMatchers(ConsumerMovieSchema, {
127
+ id: 1,
128
+ name: 'Inception',
129
+ year: 2010,
130
+ rating: 8.8,
131
+ director: 'Christopher Nolan',
132
+ });
133
+
134
+ await messagePact
135
+ .addAsynchronousInteraction()
136
+ .given('An existing movie exists')
137
+ .expectsToReceive('a movie-created event', (builder) => {
138
+ builder.withJSONContent({
139
+ topic: string('movie-created'),
140
+ messages: [{ key: string('1'), value: movieValue }],
141
+ });
142
+ });
143
+ ```
144
+
145
+ Note: `zodToPactMatchers` on an object schema already wraps each field in the right matcher, so the extra `like()` wrapper from hand-written versions is not needed — each field carries its own type constraint.
146
+
147
+ ### Example 5: OpenAPI example metadata (optional peer)
148
+
149
+ ```typescript
150
+ import { z } from 'zod';
151
+ import { extendZodWithOpenApi } from '@asteasolutions/zod-to-openapi';
152
+
153
+ extendZodWithOpenApi(z);
154
+
155
+ const MovieSchema = z.object({
156
+ name: z.string().openapi({ example: 'Inception' }),
157
+ year: z.number().int().openapi({ example: 2010 }),
158
+ });
159
+
160
+ // No second argument needed — examples come from the schema itself
161
+ zodToPactMatchers(MovieSchema);
162
+ // → { name: string('Inception'), year: integer(2010) }
163
+ ```
164
+
165
+ ## Zod to Pact V3 Mapping
166
+
167
+ | Zod type | Pact V3 matcher |
168
+ | --------------------------------------------- | ----------------------------------------- |
169
+ | `z.string()` | `string(example ?? 'string')` |
170
+ | `z.number().int()` | `integer(example)` (no-arg if no example) |
171
+ | `z.number()` | `decimal(example ?? 1.0)` |
172
+ | `z.boolean()` | `boolean(example ?? true)` |
173
+ | `z.null()` | `nullValue()` |
174
+ | `z.object({...})` | recursive object of field matchers |
175
+ | `z.array(...)` | `eachLike(itemMatchers)` |
176
+ | `z.union([...])` | first option's matcher |
177
+ | `z.literal('x')` / number / bool | typed matcher with literal value |
178
+ | `z.enum([...])` | `string(firstValue)` |
179
+ | `z.optional()` / `.nullable()` / `.default()` | unwraps to the inner schema |
180
+ | anything else | `like(example ?? null)` fallback |
181
+
182
+ ## Key Points
183
+
184
+ - **Consumer-curated schema is mandatory**: Define schemas that describe only what the consumer actually reads. Do **not** pass the shared full-response schema, and do **not** `import` the provider-side schema — that turns contract tests into schema tests and blocks the provider from deprecating unused fields.
185
+ - **Example precedence**: `example` argument > `.openapi({ example })` metadata > type default. The example only sets the placeholder value; Pact matchers check type/shape, not exact values.
186
+ - **Optional peer**: `@asteasolutions/zod-to-openapi` is an optional peer dependency. If it's not installed, openapi-example extraction silently becomes a no-op and only the `example` argument / defaults are used.
187
+ - **Optional peer (zod)**: `zod` itself is declared as an optional peer of `@seontechnologies/pactjs-utils` so consumers who don't use `zodToPactMatchers` don't need it; consumers who do use it must have zod installed.
188
+ - **Object wrapping**: When passing an object result into `eachLike(...)`, cast to `Parameters<typeof eachLike>[0]` — `zodToPactMatchers` returns `unknown` by design to stay compatible with both primitive and composite matcher shapes.
189
+ - **Arrays without examples**: If the example array is empty, the first item's field matchers are derived from the schema (and `.openapi({ example })` metadata, if present).
190
+ - **No extra `like()` wrapper**: For objects returned from `zodToPactMatchers`, do not wrap the whole object in `like()`; each field is already a matcher.
191
+ - **Works for HTTP and message pacts**: The same function produces matchers for request/response bodies and for Kafka / async message payloads.
192
+ - **TypeScript**: Import `z` as a runtime value when defining schemas (`import { z } from 'zod'`). If you need a schema type in helper signatures, import it separately (for example, `import type { ZodTypeAny } from 'zod'`).
193
+
194
+ ## Related Fragments
195
+
196
+ - `pactjs-utils-overview.md` — installation, utility table, decision tree
197
+ - `pactjs-utils-consumer-helpers.md` — `createProviderState`, `setJsonContent`, `setJsonBody`
198
+ - `pactjs-utils-provider-verifier.md` — `buildVerifierOptions` integration
199
+ - `contract-testing.md` — foundational patterns with raw Pact.js, Provider Scrutiny Protocol (required fields / enums / data types / nested structures)
200
+
201
+ ## Anti-Patterns
202
+
203
+ ### Wrong: Passing the provider's full response schema
204
+
205
+ ```typescript
206
+ // ❌ Importing the shared server-side schema forces the provider to return every field
207
+ import { FullMovieSchema } from '@shared/schemas/movie'; // 20 fields
208
+
209
+ data: zodToPactMatchers(FullMovieSchema, movie);
210
+ ```
211
+
212
+ This creates a contract that requires the provider to return all 20 fields, even the ones this consumer never reads — breaking consumer-driven testing and blocking future field deprecation.
213
+
214
+ ### Right: Consumer-curated schema beside the pact tests
215
+
216
+ ```typescript
217
+ // ✅ pact/http/helpers/consumer-schemas.ts — only the fields this consumer reads
218
+ export const ConsumerMovieSchema = z.object({
219
+ id: z.number().int(),
220
+ name: z.string(),
221
+ year: z.number().int(),
222
+ rating: z.number(),
223
+ director: z.string(),
224
+ });
225
+
226
+ data: zodToPactMatchers(ConsumerMovieSchema, movie);
227
+ ```
228
+
229
+ ### Wrong: Hand-written matcher helper duplicating the schema
230
+
231
+ ```typescript
232
+ // ❌ Local helper that mirrors the TS type — drifts silently on every schema change
233
+ const propMatcherNoId = (movie: Omit<Movie, 'id'>) => ({
234
+ name: string(movie.name),
235
+ year: integer(movie.year),
236
+ rating: decimal(movie.rating),
237
+ director: string(movie.director),
238
+ });
239
+ ```
240
+
241
+ ### Right: `zodToPactMatchers` with a consumer-curated schema
242
+
243
+ ```typescript
244
+ // ✅ Schema is the single source of truth; plain object supplies examples
245
+ data: zodToPactMatchers(ConsumerMovieSchema, { id: 1, ...movieWithoutId });
246
+ ```
247
+
248
+ ### Wrong: Wrapping the whole object result in `like()`
249
+
250
+ ```typescript
251
+ // ❌ Redundant — each field is already a matcher
252
+ value: like(zodToPactMatchers(ConsumerMovieSchema, movie));
253
+ ```
254
+
255
+ ### Right: Use the object directly
256
+
257
+ ```typescript
258
+ // ✅ Each field carries its own type constraint
259
+ value: zodToPactMatchers(ConsumerMovieSchema, movie);
260
+ ```
261
+
262
+ _Source: @seontechnologies/pactjs-utils library, pactjs-utils docs (`docs/zod-to-pact/`), pact-js consumer sample repos, Pact docs on consumer-driven contracts_
@@ -0,0 +1,122 @@
1
+ # Webhook Module Setup
2
+
3
+ ## Principle
4
+
5
+ Wire the provider once in a central fixtures file using the `webhookProviderFixture + webhookFixture + mergeTests` pattern. Tests that request `webhookRegistry` get automatic setup and teardown; tests that don't pay nothing (Playwright lazy fixture evaluation).
6
+
7
+ ## Fixture Wiring Pattern
8
+
9
+ ### WireMock Provider (recommended for most setups)
10
+
11
+ The WireMock provider works with any backend that implements the `/__admin/requests` API format — not just actual WireMock. The playwright-utils sample app's Express backend uses this exact format.
12
+
13
+ ```typescript
14
+ // playwright/support/merged-fixtures.ts
15
+ import { test as base, mergeTests } from '@playwright/test';
16
+ import { test as webhookFixture } from '@seontechnologies/playwright-utils/webhook/fixtures';
17
+ import { WireMockWebhookProvider } from '@seontechnologies/playwright-utils/webhook';
18
+ import { API_URL } from '../config/local.config';
19
+
20
+ // Lazy-initialized by Playwright — no cost for tests that don't request webhookRegistry.
21
+ const webhookProviderFixture = base.extend<{
22
+ webhookProvider: WireMockWebhookProvider;
23
+ }>({
24
+ webhookProvider: async ({ request }, use) => {
25
+ const provider = new WireMockWebhookProvider(API_URL, request);
26
+ await use(provider);
27
+ },
28
+ });
29
+
30
+ const test = mergeTests(
31
+ base,
32
+ // ...your other fixtures...
33
+ webhookFixture,
34
+ webhookProviderFixture,
35
+ );
36
+
37
+ // Use matched-only cleanup project-wide: each test only deletes the webhooks it
38
+ // matched, so a parallel worker's teardown cannot wipe the shared journal while
39
+ // another test is still mid-flight (fullyParallel: true race condition).
40
+ test.use({ webhookConfig: { cleanupStrategy: 'matched-only' } });
41
+
42
+ export { test };
43
+ ```
44
+
45
+ This is the exact pattern used in the playwright-utils E2E suite (`playwright/support/merged-fixtures.ts`).
46
+
47
+ ### MockServer Provider
48
+
49
+ ```typescript
50
+ import { MockServerWebhookProvider } from '@seontechnologies/playwright-utils/webhook';
51
+
52
+ const webhookProviderFixture = base.extend<{
53
+ webhookProvider: MockServerWebhookProvider;
54
+ }>({
55
+ webhookProvider: async ({ request }, use) => {
56
+ await use(new MockServerWebhookProvider(API_URL, request));
57
+ },
58
+ });
59
+
60
+ const test = mergeTests(base, /* ...other fixtures... */ webhookFixture, webhookProviderFixture);
61
+
62
+ // MockServer has no delete-by-ID on log entries — use full-reset for explicit cleanup
63
+ test.use({ webhookConfig: { cleanupStrategy: 'full-reset' } });
64
+ ```
65
+
66
+ ### Mockoon Provider
67
+
68
+ ```typescript
69
+ import { MockoonWebhookProvider } from '@seontechnologies/playwright-utils/webhook';
70
+
71
+ const webhookProviderFixture = base.extend<{
72
+ webhookProvider: MockoonWebhookProvider;
73
+ }>({
74
+ webhookProvider: async ({ request }, use) => {
75
+ await use(new MockoonWebhookProvider(API_URL, request));
76
+ },
77
+ });
78
+
79
+ const test = mergeTests(base, /* ...other fixtures... */ webhookFixture, webhookProviderFixture);
80
+
81
+ // Mockoon has no delete-by-ID on log entries — use full-reset for explicit cleanup
82
+ test.use({ webhookConfig: { cleanupStrategy: 'full-reset' } });
83
+ ```
84
+
85
+ ## Cleanup Strategy Decision
86
+
87
+ | Strategy | Behaviour | When to choose |
88
+ | ------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
89
+ | `'full-reset'` (default) | Calls `provider.resetJournal()` — wipes the entire mock server journal | Safe only for serial execution or when each worker has an isolated provider instance |
90
+ | `'matched-only'` | Calls `provider.deleteById(id)` for each webhook matched by `waitFor`/`waitForCount` | Required for `fullyParallel: true` with a shared journal **when the provider supports `deleteById`** (e.g. WireMock) |
91
+
92
+ **The race condition under `fullyParallel: true`**: Worker A finishes and calls `resetJournal()`. Worker B is mid-poll waiting for its webhook. Worker A's reset just deleted Worker B's webhook — the poll times out with `WebhookTimeoutError`. Use `matched-only` to avoid this — but only when the provider supports `deleteById`.
93
+
94
+ **MockServer and Mockoon limitation**: Neither supports `deleteById` — their implementations are no-ops. The `startedAt` timestamp filter isolates _reads_ inside `waitFor`/`waitForCount`, but `cleanup()` with `full-reset` still calls `resetJournal()`, which wipes the entire journal. This means the teardown race exists for these providers too under `fullyParallel: true`. For parallel suites with MockServer or Mockoon, either run serially (`workers: 1`) or provision an isolated mock server instance per worker.
95
+
96
+ ## Fixture Lifecycle
97
+
98
+ The fixture calls these in order:
99
+
100
+ 1. `provider.setup?.()` — optional health check or stub registration
101
+ 2. Tests run with `webhookRegistry` available
102
+ 3. `registry.cleanup()` — deletes matched webhooks (`matched-only`) or resets journal (`full-reset`)
103
+ 4. `provider.teardown?.()` — optional resource cleanup
104
+
105
+ Both cleanup and teardown failures are caught and logged as warnings — they don't mask actual test failures.
106
+
107
+ ## WebhookRegistryConfig Options
108
+
109
+ ```typescript
110
+ type WebhookRegistryConfig = {
111
+ defaultTimeout?: number; // default: 30000 ms
112
+ defaultInterval?: number; // default: 1000 ms
113
+ cleanupStrategy?: 'matched-only' | 'full-reset'; // default: 'full-reset'
114
+ };
115
+ ```
116
+
117
+ ## Related Fragments
118
+
119
+ - `webhook-testing-fundamentals.md` — Why webhook tests are hard
120
+ - `webhook-template-matchers.md` — Template building and matcher patterns
121
+ - `webhook-providers.md` — WireMock, MockServer, Mockoon, custom provider details
122
+ - `fixtures-composition.md` — mergeTests pattern