ma-agents 3.5.0 → 3.5.2

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 (548) hide show
  1. package/README.md +20 -10
  2. package/_bmad-output/implementation-artifacts/16-4-validation-report.md +79 -0
  3. package/_bmad-output/implementation-artifacts/19-1-knowledge-graph-core-library.md +239 -0
  4. package/_bmad-output/implementation-artifacts/19-2-graph-emission-create-prd.md +171 -0
  5. package/_bmad-output/implementation-artifacts/19-3-graph-emission-create-architecture-epics.md +179 -0
  6. package/_bmad-output/implementation-artifacts/19-4-graph-emission-create-story-remaining.md +190 -0
  7. package/_bmad-output/implementation-artifacts/19-5-open-graph-skill.md +213 -0
  8. package/_bmad-output/implementation-artifacts/19-6-interactive-visualization-renderer.md +259 -0
  9. package/_bmad-output/implementation-artifacts/19-7-llm-writability-validation-tests.md +280 -0
  10. package/_bmad-output/implementation-artifacts/sprint-status.yaml +31 -18
  11. package/_bmad-output/planning-artifacts/architecture.md +354 -2
  12. package/_bmad-output/planning-artifacts/epics.md +556 -8
  13. package/_bmad-output/planning-artifacts/prd.md +92 -10
  14. package/_bmad-output/planning-artifacts/validation-report-prd-2026-04-07.md +330 -0
  15. package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +39 -4
  16. package/lib/bmad-cache/bmb/README.md +39 -27
  17. package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
  18. package/lib/bmad-cache/bmb/_git_preserved/logs/HEAD +1 -1
  19. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/heads/main +1 -1
  20. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  21. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-4b395d030ca386fc5748f1b670dcf8c0ef41c94c.idx +0 -0
  22. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-4b395d030ca386fc5748f1b670dcf8c0ef41c94c.pack +0 -0
  23. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-4b395d030ca386fc5748f1b670dcf8c0ef41c94c.rev +0 -0
  24. package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
  25. package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
  26. package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
  27. package/lib/bmad-cache/bmb/package.json +1 -9
  28. package/lib/bmad-cache/bmb/samples/bmad-agent-code-coach/scripts/init-sanctum.py +288 -0
  29. package/lib/bmad-cache/bmb/samples/bmad-agent-creative-muse/scripts/init-sanctum.py +274 -0
  30. package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/assets/module-help.csv +9 -0
  31. package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/assets/module.yaml +8 -0
  32. package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/bmad-agent-dream-weaver}/scripts/merge-help-csv.py +3 -5
  33. package/lib/bmad-cache/bmb/samples/bmad-agent-sentinel/scripts/init-sanctum.py +285 -0
  34. package/lib/bmad-cache/bmb/samples/bmad-agent-sentinel/scripts/tests/test-init-sanctum.py +174 -0
  35. package/lib/bmad-cache/bmb/samples/sample-module-setup/assets/module-help.csv +16 -0
  36. package/lib/bmad-cache/bmb/samples/sample-module-setup/assets/module.yaml +13 -0
  37. package/lib/bmad-cache/bmb/samples/sample-module-setup/scripts/merge-config.py +408 -0
  38. package/lib/bmad-cache/bmb/samples/sample-module-setup/scripts/merge-help-csv.py +218 -0
  39. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/init-sanctum-template.py +277 -0
  40. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/references/sample-init-sanctum.py +274 -0
  41. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-execution-deps.py +4 -4
  42. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-prompt-metrics.py +22 -0
  43. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-sanctum-architecture.py +385 -0
  44. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-structure-capabilities.py +64 -27
  45. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/process-template.py +190 -0
  46. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/scan-path-standards.py +17 -32
  47. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/scan-scripts.py +5 -3
  48. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/assets/module-help.csv +10 -0
  49. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/cleanup-legacy.py +259 -0
  50. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-config.py +408 -0
  51. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-help-csv.py +218 -0
  52. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/assets/module-help.csv +1 -0
  53. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/assets/module.yaml +6 -0
  54. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/cleanup-legacy.py +259 -0
  55. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-config.py +408 -0
  56. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-help-csv.py +218 -0
  57. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-config.py +408 -0
  58. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-help-csv.py +218 -0
  59. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/scaffold-setup-skill.py +124 -0
  60. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/scaffold-standalone-module.py +190 -0
  61. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-scaffold-setup-skill.py +223 -0
  62. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-scaffold-standalone-module.py +266 -0
  63. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-validate-module.py +314 -0
  64. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/validate-module.py +293 -0
  65. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-convert-report.py +406 -0
  66. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/prepass-workflow-integrity.py +1 -6
  67. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/scan-path-standards.py +14 -16
  68. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/tests/test_generate_convert_report.py +243 -0
  69. package/lib/bmad-cache/bmb/skills/module-help.csv +10 -5
  70. package/lib/bmad-cache/bmb/tools/validate-file-refs.mjs +1 -1
  71. package/lib/bmad-cache/bmb/website/astro.config.mjs +10 -6
  72. package/lib/bmad-cache/bmb/website/src/components/Banner.astro +6 -5
  73. package/lib/bmad-cache/bmb/website/src/styles/custom.css +60 -42
  74. package/lib/bmad-cache/cache-manifest.json +11 -11
  75. package/lib/bmad-cache/cis/README.md +9 -0
  76. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  77. package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
  78. package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
  79. package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  80. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.idx +0 -0
  81. package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.pack → pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.pack} +0 -0
  82. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.rev +0 -0
  83. package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
  84. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
  85. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
  86. package/lib/bmad-cache/cis/src/module-help.csv +1 -0
  87. package/lib/bmad-cache/cis/website/astro.config.mjs +14 -6
  88. package/lib/bmad-cache/cis/website/src/components/Banner.astro +26 -11
  89. package/lib/bmad-cache/cis/website/src/styles/custom.css +60 -41
  90. package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +1 -1
  91. package/lib/bmad-cache/gds/README.md +9 -0
  92. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  93. package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
  94. package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
  95. package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  96. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.idx +0 -0
  97. package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-8099a88fca0ad946a573316a00887a2921ca1712.pack → pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.pack} +0 -0
  98. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.rev +0 -0
  99. package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
  100. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
  101. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
  102. package/lib/bmad-cache/gds/package.json +1 -1
  103. package/lib/bmad-cache/gds/src/module-help.csv +1 -0
  104. package/lib/bmad-cache/gds/website/astro.config.mjs +14 -6
  105. package/lib/bmad-cache/gds/website/src/components/Banner.astro +26 -11
  106. package/lib/bmad-cache/gds/website/src/styles/custom.css +60 -41
  107. package/lib/bmad-cache/tea/README.md +14 -0
  108. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  109. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.idx +0 -0
  110. package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-d243f64f83b36190434d68872a69a40870c53030.pack → pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.pack} +0 -0
  111. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.rev +0 -0
  112. package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
  113. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
  114. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
  115. package/lib/bmad-cache/tea/docs/index.md +4 -14
  116. package/lib/bmad-cache/tea/package-lock.json +2 -2
  117. package/lib/bmad-cache/tea/package.json +1 -1
  118. package/lib/bmad-cache/tea/src/agents/bmad-tea/SKILL.md +6 -6
  119. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/playwright-cli.md +119 -4
  120. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/playwright-config.md +8 -4
  121. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/visual-debugging.md +34 -31
  122. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +1 -1
  123. package/lib/bmad-cache/tea/src/module-help.csv +1 -0
  124. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md +1 -1
  125. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/instructions.md +0 -1
  126. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  127. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/api-request.md +563 -0
  128. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/api-testing-patterns.md +915 -0
  129. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/auth-session.md +548 -0
  130. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/burn-in.md +273 -0
  131. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/ci-burn-in.md +717 -0
  132. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/component-tdd.md +486 -0
  133. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/contract-testing.md +1050 -0
  134. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/data-factories.md +500 -0
  135. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/email-auth.md +721 -0
  136. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/error-handling.md +725 -0
  137. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/feature-flags.md +750 -0
  138. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/file-utils.md +456 -0
  139. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/fixture-architecture.md +401 -0
  140. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/fixtures-composition.md +382 -0
  141. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/intercept-network-call.md +426 -0
  142. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/log.md +426 -0
  143. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-error-monitor.md +401 -0
  144. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-first.md +486 -0
  145. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-recorder.md +527 -0
  146. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/nfr-criteria.md +670 -0
  147. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/overview.md +286 -0
  148. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-di.md +310 -0
  149. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  150. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-mcp.md +204 -0
  151. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  152. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-overview.md +216 -0
  153. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  154. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  155. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/playwright-cli.md +280 -0
  156. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/playwright-config.md +734 -0
  157. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/probability-impact.md +601 -0
  158. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/recurse.md +421 -0
  159. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/risk-governance.md +615 -0
  160. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/selective-testing.md +732 -0
  161. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/selector-resilience.md +527 -0
  162. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-healing-patterns.md +644 -0
  163. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-levels-framework.md +473 -0
  164. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-priorities-matrix.md +373 -0
  165. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-quality.md +664 -0
  166. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/timing-debugging.md +372 -0
  167. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/visual-debugging.md +527 -0
  168. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/tea-index.csv +43 -0
  169. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +1 -1
  170. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/instructions.md +0 -1
  171. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  172. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/api-request.md +563 -0
  173. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/api-testing-patterns.md +915 -0
  174. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/auth-session.md +548 -0
  175. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/burn-in.md +273 -0
  176. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/ci-burn-in.md +717 -0
  177. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/component-tdd.md +486 -0
  178. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/contract-testing.md +1050 -0
  179. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/data-factories.md +500 -0
  180. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/email-auth.md +721 -0
  181. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/error-handling.md +725 -0
  182. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/feature-flags.md +750 -0
  183. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/file-utils.md +456 -0
  184. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/fixture-architecture.md +401 -0
  185. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/fixtures-composition.md +382 -0
  186. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/intercept-network-call.md +426 -0
  187. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/log.md +426 -0
  188. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-error-monitor.md +401 -0
  189. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-first.md +486 -0
  190. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-recorder.md +527 -0
  191. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/nfr-criteria.md +670 -0
  192. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/overview.md +286 -0
  193. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-di.md +310 -0
  194. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  195. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-mcp.md +204 -0
  196. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  197. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-overview.md +216 -0
  198. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  199. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  200. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/playwright-cli.md +280 -0
  201. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/playwright-config.md +734 -0
  202. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/probability-impact.md +601 -0
  203. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/recurse.md +421 -0
  204. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/risk-governance.md +615 -0
  205. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/selective-testing.md +732 -0
  206. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/selector-resilience.md +527 -0
  207. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-healing-patterns.md +644 -0
  208. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-levels-framework.md +473 -0
  209. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-priorities-matrix.md +373 -0
  210. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-quality.md +664 -0
  211. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/timing-debugging.md +372 -0
  212. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/visual-debugging.md +527 -0
  213. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/tea-index.csv +43 -0
  214. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +1 -1
  215. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03c-aggregate.md +8 -3
  216. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/harness-pipeline-template.yaml +7 -6
  217. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/instructions.md +0 -1
  218. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  219. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/api-request.md +563 -0
  220. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/api-testing-patterns.md +915 -0
  221. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/auth-session.md +548 -0
  222. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/burn-in.md +273 -0
  223. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/ci-burn-in.md +717 -0
  224. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/component-tdd.md +486 -0
  225. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/contract-testing.md +1050 -0
  226. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/data-factories.md +500 -0
  227. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/email-auth.md +721 -0
  228. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/error-handling.md +725 -0
  229. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/feature-flags.md +750 -0
  230. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/file-utils.md +456 -0
  231. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/fixture-architecture.md +401 -0
  232. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/fixtures-composition.md +382 -0
  233. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/intercept-network-call.md +426 -0
  234. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/log.md +426 -0
  235. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-error-monitor.md +401 -0
  236. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-first.md +486 -0
  237. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-recorder.md +527 -0
  238. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/nfr-criteria.md +670 -0
  239. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/overview.md +286 -0
  240. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-di.md +310 -0
  241. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  242. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-mcp.md +204 -0
  243. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  244. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-overview.md +216 -0
  245. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  246. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  247. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/playwright-cli.md +280 -0
  248. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/playwright-config.md +734 -0
  249. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/probability-impact.md +601 -0
  250. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/recurse.md +421 -0
  251. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/risk-governance.md +615 -0
  252. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/selective-testing.md +732 -0
  253. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/selector-resilience.md +527 -0
  254. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-healing-patterns.md +644 -0
  255. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-levels-framework.md +473 -0
  256. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-priorities-matrix.md +373 -0
  257. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-quality.md +664 -0
  258. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/timing-debugging.md +372 -0
  259. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/visual-debugging.md +527 -0
  260. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/tea-index.csv +43 -0
  261. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +1 -1
  262. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +1 -1
  263. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/checklist.md +1 -1
  264. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/instructions.md +0 -1
  265. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  266. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/api-request.md +563 -0
  267. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/api-testing-patterns.md +915 -0
  268. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/auth-session.md +548 -0
  269. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/burn-in.md +273 -0
  270. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/ci-burn-in.md +717 -0
  271. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/component-tdd.md +486 -0
  272. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/contract-testing.md +1050 -0
  273. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/data-factories.md +500 -0
  274. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/email-auth.md +721 -0
  275. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/error-handling.md +725 -0
  276. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/feature-flags.md +750 -0
  277. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/file-utils.md +456 -0
  278. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/fixture-architecture.md +401 -0
  279. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/fixtures-composition.md +382 -0
  280. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/intercept-network-call.md +426 -0
  281. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/log.md +426 -0
  282. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-error-monitor.md +401 -0
  283. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-first.md +486 -0
  284. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-recorder.md +527 -0
  285. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/nfr-criteria.md +670 -0
  286. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/overview.md +286 -0
  287. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-di.md +310 -0
  288. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  289. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-mcp.md +204 -0
  290. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  291. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-overview.md +216 -0
  292. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  293. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  294. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/playwright-cli.md +280 -0
  295. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/playwright-config.md +734 -0
  296. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/probability-impact.md +601 -0
  297. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/recurse.md +421 -0
  298. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/risk-governance.md +615 -0
  299. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/selective-testing.md +732 -0
  300. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/selector-resilience.md +527 -0
  301. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-healing-patterns.md +644 -0
  302. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-levels-framework.md +473 -0
  303. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-priorities-matrix.md +373 -0
  304. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-quality.md +664 -0
  305. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/timing-debugging.md +372 -0
  306. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/visual-debugging.md +527 -0
  307. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/tea-index.csv +43 -0
  308. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +2 -2
  309. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  310. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/api-request.md +563 -0
  311. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/api-testing-patterns.md +915 -0
  312. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/auth-session.md +548 -0
  313. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/burn-in.md +273 -0
  314. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/ci-burn-in.md +717 -0
  315. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/component-tdd.md +486 -0
  316. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/contract-testing.md +1050 -0
  317. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/data-factories.md +500 -0
  318. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/email-auth.md +721 -0
  319. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/error-handling.md +725 -0
  320. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/feature-flags.md +750 -0
  321. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/file-utils.md +456 -0
  322. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/fixture-architecture.md +401 -0
  323. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/fixtures-composition.md +382 -0
  324. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/intercept-network-call.md +426 -0
  325. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/log.md +426 -0
  326. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-error-monitor.md +401 -0
  327. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-first.md +486 -0
  328. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-recorder.md +527 -0
  329. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/nfr-criteria.md +670 -0
  330. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/overview.md +286 -0
  331. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-di.md +310 -0
  332. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  333. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-mcp.md +204 -0
  334. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  335. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-overview.md +216 -0
  336. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  337. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  338. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/playwright-cli.md +280 -0
  339. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/playwright-config.md +734 -0
  340. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/probability-impact.md +601 -0
  341. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/recurse.md +421 -0
  342. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/risk-governance.md +615 -0
  343. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/selective-testing.md +732 -0
  344. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/selector-resilience.md +527 -0
  345. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-healing-patterns.md +644 -0
  346. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-levels-framework.md +473 -0
  347. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-priorities-matrix.md +373 -0
  348. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-quality.md +664 -0
  349. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/timing-debugging.md +372 -0
  350. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/visual-debugging.md +527 -0
  351. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/tea-index.csv +43 -0
  352. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +1 -1
  353. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/instructions.md +0 -1
  354. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  355. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/api-request.md +563 -0
  356. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/api-testing-patterns.md +915 -0
  357. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/auth-session.md +548 -0
  358. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/burn-in.md +273 -0
  359. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/ci-burn-in.md +717 -0
  360. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/component-tdd.md +486 -0
  361. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/contract-testing.md +1050 -0
  362. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/data-factories.md +500 -0
  363. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/email-auth.md +721 -0
  364. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/error-handling.md +725 -0
  365. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/feature-flags.md +750 -0
  366. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/file-utils.md +456 -0
  367. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/fixture-architecture.md +401 -0
  368. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/fixtures-composition.md +382 -0
  369. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/intercept-network-call.md +426 -0
  370. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/log.md +426 -0
  371. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-error-monitor.md +401 -0
  372. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-first.md +486 -0
  373. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-recorder.md +527 -0
  374. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/nfr-criteria.md +670 -0
  375. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/overview.md +286 -0
  376. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-di.md +310 -0
  377. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  378. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-mcp.md +204 -0
  379. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  380. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-overview.md +216 -0
  381. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  382. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  383. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/playwright-cli.md +280 -0
  384. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/playwright-config.md +734 -0
  385. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/probability-impact.md +601 -0
  386. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/recurse.md +421 -0
  387. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/risk-governance.md +615 -0
  388. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/selective-testing.md +732 -0
  389. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/selector-resilience.md +527 -0
  390. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-healing-patterns.md +644 -0
  391. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-levels-framework.md +473 -0
  392. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-priorities-matrix.md +373 -0
  393. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-quality.md +664 -0
  394. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/timing-debugging.md +372 -0
  395. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/visual-debugging.md +527 -0
  396. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/tea-index.csv +43 -0
  397. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +1 -1
  398. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +1 -1
  399. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +1 -1
  400. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/checklist.md +1 -1
  401. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  402. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/api-request.md +563 -0
  403. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/api-testing-patterns.md +915 -0
  404. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/auth-session.md +548 -0
  405. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/burn-in.md +273 -0
  406. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/ci-burn-in.md +717 -0
  407. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/component-tdd.md +486 -0
  408. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/contract-testing.md +1050 -0
  409. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/data-factories.md +500 -0
  410. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/email-auth.md +721 -0
  411. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/error-handling.md +725 -0
  412. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/feature-flags.md +750 -0
  413. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/file-utils.md +456 -0
  414. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/fixture-architecture.md +401 -0
  415. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/fixtures-composition.md +382 -0
  416. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/intercept-network-call.md +426 -0
  417. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/log.md +426 -0
  418. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-error-monitor.md +401 -0
  419. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-first.md +486 -0
  420. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-recorder.md +527 -0
  421. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/nfr-criteria.md +670 -0
  422. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/overview.md +286 -0
  423. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-di.md +310 -0
  424. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  425. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-mcp.md +204 -0
  426. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  427. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-overview.md +216 -0
  428. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  429. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  430. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/playwright-cli.md +280 -0
  431. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/playwright-config.md +734 -0
  432. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/probability-impact.md +601 -0
  433. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/recurse.md +421 -0
  434. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/risk-governance.md +615 -0
  435. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/selective-testing.md +732 -0
  436. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/selector-resilience.md +527 -0
  437. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-healing-patterns.md +644 -0
  438. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-levels-framework.md +473 -0
  439. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-priorities-matrix.md +373 -0
  440. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-quality.md +664 -0
  441. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/timing-debugging.md +372 -0
  442. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/visual-debugging.md +527 -0
  443. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/tea-index.csv +43 -0
  444. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +1 -1
  445. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-02-discover-tests.md +7 -0
  446. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03a-subagent-determinism.md +1 -1
  447. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  448. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/api-request.md +563 -0
  449. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/api-testing-patterns.md +915 -0
  450. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/auth-session.md +548 -0
  451. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/burn-in.md +273 -0
  452. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/ci-burn-in.md +717 -0
  453. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/component-tdd.md +486 -0
  454. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/contract-testing.md +1050 -0
  455. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/data-factories.md +500 -0
  456. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/email-auth.md +721 -0
  457. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/error-handling.md +725 -0
  458. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/feature-flags.md +750 -0
  459. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/file-utils.md +456 -0
  460. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/fixture-architecture.md +401 -0
  461. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/fixtures-composition.md +382 -0
  462. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/intercept-network-call.md +426 -0
  463. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/log.md +426 -0
  464. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-error-monitor.md +401 -0
  465. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-first.md +486 -0
  466. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-recorder.md +527 -0
  467. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/nfr-criteria.md +670 -0
  468. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/overview.md +286 -0
  469. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-di.md +310 -0
  470. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  471. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-mcp.md +204 -0
  472. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  473. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-overview.md +216 -0
  474. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  475. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  476. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/playwright-cli.md +280 -0
  477. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/playwright-config.md +734 -0
  478. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/probability-impact.md +601 -0
  479. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/recurse.md +421 -0
  480. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/risk-governance.md +615 -0
  481. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/selective-testing.md +732 -0
  482. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/selector-resilience.md +527 -0
  483. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-healing-patterns.md +644 -0
  484. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-levels-framework.md +473 -0
  485. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-priorities-matrix.md +373 -0
  486. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-quality.md +664 -0
  487. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/timing-debugging.md +372 -0
  488. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/visual-debugging.md +527 -0
  489. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/tea-index.csv +43 -0
  490. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +1 -1
  491. package/lib/bmad-cache/tea/website/astro.config.mjs +10 -6
  492. package/lib/bmad-cache/tea/website/src/components/Banner.astro +28 -13
  493. package/lib/bmad-cache/tea/website/src/components/Header.astro +1 -1
  494. package/lib/bmad-cache/tea/website/src/components/MobileMenuFooter.astro +1 -1
  495. package/lib/bmad-cache/tea/website/src/styles/custom.css +60 -41
  496. package/lib/bmad-cache/wds/README.md +13 -0
  497. package/lib/bmad-cache/wds/_git_preserved/index +0 -0
  498. package/lib/bmad-cache/wds/_git_preserved/logs/HEAD +1 -1
  499. package/lib/bmad-cache/wds/_git_preserved/logs/refs/heads/main +1 -1
  500. package/lib/bmad-cache/wds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  501. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.idx +0 -0
  502. package/lib/bmad-cache/wds/_git_preserved/objects/pack/{pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.pack → pack-96877c1c09123cccb1f91c1412184b11d2b492ad.pack} +0 -0
  503. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.rev +0 -0
  504. package/lib/bmad-cache/wds/_git_preserved/packed-refs +1 -1
  505. package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +1 -1
  506. package/lib/bmad-cache/wds/_git_preserved/shallow +1 -1
  507. package/lib/bmad-cache/wds/src/module-help.csv +3 -2
  508. package/lib/bmad-cache/wds/src/module.yaml +1 -4
  509. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-1-project-brief/templates/platform-requirements.template.yaml +69 -0
  510. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-7-design-system/templates/catalog.template.html +363 -0
  511. package/lib/bmad-customize/bmm-qa.customize.yaml +19 -1
  512. package/lib/bmad-extension/module-help.csv +4 -1
  513. package/lib/bmad-extension/skills/bmad-ma-agent-sqa/SKILL.md +58 -0
  514. package/lib/bmad-extension/skills/bmad-ma-agent-sqa/bmad-skill-manifest.yaml +11 -0
  515. package/lib/bmad-extension/skills/sqa-audit/.gitkeep +0 -0
  516. package/lib/bmad-extension/skills/sqa-audit/SKILL.md +279 -0
  517. package/lib/bmad-extension/skills/sqa-audit/bmad-skill-manifest.yaml +3 -0
  518. package/lib/bmad-extension/skills/sqa-ieee12207/.gitkeep +0 -0
  519. package/lib/bmad-extension/skills/sqa-ieee12207/SKILL.md +374 -0
  520. package/lib/bmad-extension/skills/sqa-ieee12207/bmad-skill-manifest.yaml +3 -0
  521. package/lib/bmad-extension/skills/sqa-requirements-quality/.gitkeep +0 -0
  522. package/lib/bmad-extension/skills/sqa-requirements-quality/SKILL.md +244 -0
  523. package/lib/bmad-extension/skills/sqa-requirements-quality/bmad-skill-manifest.yaml +3 -0
  524. package/package.json +1 -1
  525. package/test/extension-module-restructure.test.js +29 -6
  526. package/test/migration-validation.test.js +20 -16
  527. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.idx +0 -0
  528. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.pack +0 -0
  529. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.rev +0 -0
  530. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/assets/module-help.csv +0 -6
  531. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-cleanup-legacy.py +0 -429
  532. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-config.py +0 -644
  533. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-help-csv.py +0 -237
  534. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.idx +0 -0
  535. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.rev +0 -0
  536. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.idx +0 -0
  537. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.rev +0 -0
  538. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.idx +0 -0
  539. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.rev +0 -0
  540. package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.3 +0 -1
  541. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.idx +0 -0
  542. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.rev +0 -0
  543. package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +0 -54
  544. package/lib/bmad-extension/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
  545. /package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/bmad-agent-dream-weaver}/scripts/merge-config.py +0 -0
  546. /package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/sample-module-setup}/scripts/cleanup-legacy.py +0 -0
  547. /package/lib/bmad-cache/bmb/skills/{bmad-builder-setup → bmad-bmb-setup}/assets/module.yaml +0 -0
  548. /package/lib/bmad-extension/skills/{bmad-ma-agent-mil498 → bmad-ma-agent-sqa}/.gitkeep +0 -0
@@ -0,0 +1,408 @@
1
+ #!/usr/bin/env python3
2
+ # /// script
3
+ # requires-python = ">=3.9"
4
+ # dependencies = ["pyyaml"]
5
+ # ///
6
+ """Merge module configuration into shared _bmad/config.yaml and config.user.yaml.
7
+
8
+ Reads a module.yaml definition and a JSON answers file, then writes or updates
9
+ the shared config.yaml (core values at root + module section) and config.user.yaml
10
+ (user_name, communication_language, plus any module variable with user_setting: true).
11
+ Uses an anti-zombie pattern for the module section in config.yaml.
12
+
13
+ Legacy migration: when --legacy-dir is provided, reads old per-module config files
14
+ from {legacy-dir}/{module-code}/config.yaml and {legacy-dir}/core/config.yaml.
15
+ Matching values serve as fallback defaults (answers override them). After a
16
+ successful merge, the legacy config.yaml files are deleted. Only the current
17
+ module and core directories are touched — other module directories are left alone.
18
+
19
+ Exit codes: 0=success, 1=validation error, 2=runtime error
20
+ """
21
+
22
+ import argparse
23
+ import json
24
+ import sys
25
+ from pathlib import Path
26
+
27
+ try:
28
+ import yaml
29
+ except ImportError:
30
+ print("Error: pyyaml is required (PEP 723 dependency)", file=sys.stderr)
31
+ sys.exit(2)
32
+
33
+
34
+ def parse_args():
35
+ parser = argparse.ArgumentParser(
36
+ description="Merge module config into shared _bmad/config.yaml with anti-zombie pattern."
37
+ )
38
+ parser.add_argument(
39
+ "--config-path",
40
+ required=True,
41
+ help="Path to the target _bmad/config.yaml file",
42
+ )
43
+ parser.add_argument(
44
+ "--module-yaml",
45
+ required=True,
46
+ help="Path to the module.yaml definition file",
47
+ )
48
+ parser.add_argument(
49
+ "--answers",
50
+ required=True,
51
+ help="Path to JSON file with collected answers",
52
+ )
53
+ parser.add_argument(
54
+ "--user-config-path",
55
+ required=True,
56
+ help="Path to the target _bmad/config.user.yaml file",
57
+ )
58
+ parser.add_argument(
59
+ "--legacy-dir",
60
+ help="Path to _bmad/ directory to check for legacy per-module config files. "
61
+ "Matching values are used as fallback defaults, then legacy files are deleted.",
62
+ )
63
+ parser.add_argument(
64
+ "--verbose",
65
+ action="store_true",
66
+ help="Print detailed progress to stderr",
67
+ )
68
+ return parser.parse_args()
69
+
70
+
71
+ def load_yaml_file(path: str) -> dict:
72
+ """Load a YAML file, returning empty dict if file doesn't exist."""
73
+ file_path = Path(path)
74
+ if not file_path.exists():
75
+ return {}
76
+ with open(file_path, "r", encoding="utf-8") as f:
77
+ content = yaml.safe_load(f)
78
+ return content if content else {}
79
+
80
+
81
+ def load_json_file(path: str) -> dict:
82
+ """Load a JSON file."""
83
+ with open(path, "r", encoding="utf-8") as f:
84
+ return json.load(f)
85
+
86
+
87
+ # Keys that live at config root (shared across all modules)
88
+ _CORE_KEYS = frozenset(
89
+ {"user_name", "communication_language", "document_output_language", "output_folder"}
90
+ )
91
+
92
+
93
+ def load_legacy_values(
94
+ legacy_dir: str, module_code: str, module_yaml: dict, verbose: bool = False
95
+ ) -> tuple[dict, dict, list]:
96
+ """Read legacy per-module config files and return core/module value dicts.
97
+
98
+ Reads {legacy_dir}/core/config.yaml and {legacy_dir}/{module_code}/config.yaml.
99
+ Only returns values whose keys match the current schema (core keys or module.yaml
100
+ variable definitions). Other modules' directories are not touched.
101
+
102
+ Returns:
103
+ (legacy_core, legacy_module, files_found) where files_found lists paths read.
104
+ """
105
+ legacy_core: dict = {}
106
+ legacy_module: dict = {}
107
+ files_found: list = []
108
+
109
+ # Read core legacy config
110
+ core_path = Path(legacy_dir) / "core" / "config.yaml"
111
+ if core_path.exists():
112
+ core_data = load_yaml_file(str(core_path))
113
+ files_found.append(str(core_path))
114
+ for k, v in core_data.items():
115
+ if k in _CORE_KEYS:
116
+ legacy_core[k] = v
117
+ if verbose:
118
+ print(f"Legacy core config: {list(legacy_core.keys())}", file=sys.stderr)
119
+
120
+ # Read module legacy config
121
+ mod_path = Path(legacy_dir) / module_code / "config.yaml"
122
+ if mod_path.exists():
123
+ mod_data = load_yaml_file(str(mod_path))
124
+ files_found.append(str(mod_path))
125
+ for k, v in mod_data.items():
126
+ if k in _CORE_KEYS:
127
+ # Core keys duplicated in module config — only use if not already set
128
+ if k not in legacy_core:
129
+ legacy_core[k] = v
130
+ elif k in module_yaml and isinstance(module_yaml[k], dict):
131
+ # Module-specific key that matches a current variable definition
132
+ legacy_module[k] = v
133
+ if verbose:
134
+ print(
135
+ f"Legacy module config: {list(legacy_module.keys())}", file=sys.stderr
136
+ )
137
+
138
+ return legacy_core, legacy_module, files_found
139
+
140
+
141
+ def apply_legacy_defaults(answers: dict, legacy_core: dict, legacy_module: dict) -> dict:
142
+ """Apply legacy values as fallback defaults under the answers.
143
+
144
+ Legacy values fill in any key not already present in answers.
145
+ Explicit answers always win.
146
+ """
147
+ merged = dict(answers)
148
+
149
+ if legacy_core:
150
+ core = merged.get("core", {})
151
+ filled_core = dict(legacy_core) # legacy as base
152
+ filled_core.update(core) # answers override
153
+ merged["core"] = filled_core
154
+
155
+ if legacy_module:
156
+ mod = merged.get("module", {})
157
+ filled_mod = dict(legacy_module) # legacy as base
158
+ filled_mod.update(mod) # answers override
159
+ merged["module"] = filled_mod
160
+
161
+ return merged
162
+
163
+
164
+ def cleanup_legacy_configs(
165
+ legacy_dir: str, module_code: str, verbose: bool = False
166
+ ) -> list:
167
+ """Delete legacy config.yaml files for this module and core only.
168
+
169
+ Returns list of deleted file paths.
170
+ """
171
+ deleted = []
172
+ for subdir in (module_code, "core"):
173
+ legacy_path = Path(legacy_dir) / subdir / "config.yaml"
174
+ if legacy_path.exists():
175
+ if verbose:
176
+ print(f"Deleting legacy config: {legacy_path}", file=sys.stderr)
177
+ legacy_path.unlink()
178
+ deleted.append(str(legacy_path))
179
+ return deleted
180
+
181
+
182
+ def extract_module_metadata(module_yaml: dict) -> dict:
183
+ """Extract non-variable metadata fields from module.yaml."""
184
+ meta = {}
185
+ for k in ("name", "description"):
186
+ if k in module_yaml:
187
+ meta[k] = module_yaml[k]
188
+ meta["version"] = module_yaml.get("module_version") # null if absent
189
+ if "default_selected" in module_yaml:
190
+ meta["default_selected"] = module_yaml["default_selected"]
191
+ return meta
192
+
193
+
194
+ def apply_result_templates(
195
+ module_yaml: dict, module_answers: dict, verbose: bool = False
196
+ ) -> dict:
197
+ """Apply result templates from module.yaml to transform raw answer values.
198
+
199
+ For each answer, if the corresponding variable definition in module.yaml has
200
+ a 'result' field, replaces {value} in that template with the answer. Skips
201
+ the template if the answer already contains '{project-root}' to prevent
202
+ double-prefixing.
203
+ """
204
+ transformed = {}
205
+ for key, value in module_answers.items():
206
+ var_def = module_yaml.get(key)
207
+ if (
208
+ isinstance(var_def, dict)
209
+ and "result" in var_def
210
+ and "{project-root}" not in str(value)
211
+ ):
212
+ template = var_def["result"]
213
+ transformed[key] = template.replace("{value}", str(value))
214
+ if verbose:
215
+ print(
216
+ f"Applied result template for '{key}': {value} → {transformed[key]}",
217
+ file=sys.stderr,
218
+ )
219
+ else:
220
+ transformed[key] = value
221
+ return transformed
222
+
223
+
224
+ def merge_config(
225
+ existing_config: dict,
226
+ module_yaml: dict,
227
+ answers: dict,
228
+ verbose: bool = False,
229
+ ) -> dict:
230
+ """Merge answers into config, applying anti-zombie pattern.
231
+
232
+ Args:
233
+ existing_config: Current config.yaml contents (may be empty)
234
+ module_yaml: The module definition
235
+ answers: JSON with 'core' and/or 'module' keys
236
+ verbose: Print progress to stderr
237
+
238
+ Returns:
239
+ Updated config dict ready to write
240
+ """
241
+ config = dict(existing_config)
242
+ module_code = module_yaml.get("code")
243
+
244
+ if not module_code:
245
+ print("Error: module.yaml must have a 'code' field", file=sys.stderr)
246
+ sys.exit(1)
247
+
248
+ # Migrate legacy core: section to root
249
+ if "core" in config and isinstance(config["core"], dict):
250
+ if verbose:
251
+ print("Migrating legacy 'core' section to root", file=sys.stderr)
252
+ config.update(config.pop("core"))
253
+
254
+ # Strip user-only keys from config — they belong exclusively in config.user.yaml
255
+ for key in _CORE_USER_KEYS:
256
+ if key in config:
257
+ if verbose:
258
+ print(f"Removing user-only key '{key}' from config (belongs in config.user.yaml)", file=sys.stderr)
259
+ del config[key]
260
+
261
+ # Write core values at root (global properties, not nested under "core")
262
+ # Exclude user-only keys — those belong exclusively in config.user.yaml
263
+ core_answers = answers.get("core")
264
+ if core_answers:
265
+ shared_core = {k: v for k, v in core_answers.items() if k not in _CORE_USER_KEYS}
266
+ if shared_core:
267
+ if verbose:
268
+ print(f"Writing core config at root: {list(shared_core.keys())}", file=sys.stderr)
269
+ config.update(shared_core)
270
+
271
+ # Anti-zombie: remove existing module section
272
+ if module_code in config:
273
+ if verbose:
274
+ print(
275
+ f"Removing existing '{module_code}' section (anti-zombie)",
276
+ file=sys.stderr,
277
+ )
278
+ del config[module_code]
279
+
280
+ # Build module section: metadata + variable values
281
+ module_section = extract_module_metadata(module_yaml)
282
+ module_answers = apply_result_templates(
283
+ module_yaml, answers.get("module", {}), verbose
284
+ )
285
+ module_section.update(module_answers)
286
+
287
+ if verbose:
288
+ print(
289
+ f"Writing '{module_code}' section with keys: {list(module_section.keys())}",
290
+ file=sys.stderr,
291
+ )
292
+
293
+ config[module_code] = module_section
294
+
295
+ return config
296
+
297
+
298
+ # Core keys that are always written to config.user.yaml
299
+ _CORE_USER_KEYS = ("user_name", "communication_language")
300
+
301
+
302
+ def extract_user_settings(module_yaml: dict, answers: dict) -> dict:
303
+ """Collect settings that belong in config.user.yaml.
304
+
305
+ Includes user_name and communication_language from core answers, plus any
306
+ module variable whose definition contains user_setting: true.
307
+ """
308
+ user_settings = {}
309
+
310
+ core_answers = answers.get("core", {})
311
+ for key in _CORE_USER_KEYS:
312
+ if key in core_answers:
313
+ user_settings[key] = core_answers[key]
314
+
315
+ module_answers = answers.get("module", {})
316
+ for var_name, var_def in module_yaml.items():
317
+ if isinstance(var_def, dict) and var_def.get("user_setting") is True:
318
+ if var_name in module_answers:
319
+ user_settings[var_name] = module_answers[var_name]
320
+
321
+ return user_settings
322
+
323
+
324
+ def write_config(config: dict, config_path: str, verbose: bool = False) -> None:
325
+ """Write config dict to YAML file, creating parent dirs as needed."""
326
+ path = Path(config_path)
327
+ path.parent.mkdir(parents=True, exist_ok=True)
328
+
329
+ if verbose:
330
+ print(f"Writing config to {path}", file=sys.stderr)
331
+
332
+ with open(path, "w", encoding="utf-8") as f:
333
+ yaml.dump(
334
+ config,
335
+ f,
336
+ default_flow_style=False,
337
+ allow_unicode=True,
338
+ sort_keys=False,
339
+ )
340
+
341
+
342
+ def main():
343
+ args = parse_args()
344
+
345
+ # Load inputs
346
+ module_yaml = load_yaml_file(args.module_yaml)
347
+ if not module_yaml:
348
+ print(f"Error: Could not load module.yaml from {args.module_yaml}", file=sys.stderr)
349
+ sys.exit(1)
350
+
351
+ answers = load_json_file(args.answers)
352
+ existing_config = load_yaml_file(args.config_path)
353
+
354
+ if args.verbose:
355
+ exists = Path(args.config_path).exists()
356
+ print(f"Config file exists: {exists}", file=sys.stderr)
357
+ if exists:
358
+ print(f"Existing sections: {list(existing_config.keys())}", file=sys.stderr)
359
+
360
+ # Legacy migration: read old per-module configs as fallback defaults
361
+ legacy_files_found = []
362
+ if args.legacy_dir:
363
+ module_code = module_yaml.get("code", "")
364
+ legacy_core, legacy_module, legacy_files_found = load_legacy_values(
365
+ args.legacy_dir, module_code, module_yaml, args.verbose
366
+ )
367
+ if legacy_core or legacy_module:
368
+ answers = apply_legacy_defaults(answers, legacy_core, legacy_module)
369
+ if args.verbose:
370
+ print("Applied legacy values as fallback defaults", file=sys.stderr)
371
+
372
+ # Merge and write config.yaml
373
+ updated_config = merge_config(existing_config, module_yaml, answers, args.verbose)
374
+ write_config(updated_config, args.config_path, args.verbose)
375
+
376
+ # Merge and write config.user.yaml
377
+ user_settings = extract_user_settings(module_yaml, answers)
378
+ existing_user_config = load_yaml_file(args.user_config_path)
379
+ updated_user_config = dict(existing_user_config)
380
+ updated_user_config.update(user_settings)
381
+ if user_settings:
382
+ write_config(updated_user_config, args.user_config_path, args.verbose)
383
+
384
+ # Legacy cleanup: delete old per-module config files
385
+ legacy_deleted = []
386
+ if args.legacy_dir:
387
+ legacy_deleted = cleanup_legacy_configs(
388
+ args.legacy_dir, module_yaml["code"], args.verbose
389
+ )
390
+
391
+ # Output result summary as JSON
392
+ module_code = module_yaml["code"]
393
+ result = {
394
+ "status": "success",
395
+ "config_path": str(Path(args.config_path).resolve()),
396
+ "user_config_path": str(Path(args.user_config_path).resolve()),
397
+ "module_code": module_code,
398
+ "core_updated": bool(answers.get("core")),
399
+ "module_keys": list(updated_config.get(module_code, {}).keys()),
400
+ "user_keys": list(user_settings.keys()),
401
+ "legacy_configs_found": legacy_files_found,
402
+ "legacy_configs_deleted": legacy_deleted,
403
+ }
404
+ print(json.dumps(result, indent=2))
405
+
406
+
407
+ if __name__ == "__main__":
408
+ main()
@@ -0,0 +1,218 @@
1
+ #!/usr/bin/env python3
2
+ # /// script
3
+ # requires-python = ">=3.9"
4
+ # dependencies = []
5
+ # ///
6
+ """Merge module help entries into shared _bmad/module-help.csv.
7
+
8
+ Reads a source CSV with module help entries and merges them into a target CSV.
9
+ Uses an anti-zombie pattern: all existing rows matching the source module code
10
+ are removed before appending fresh rows.
11
+
12
+ Legacy cleanup: when --legacy-dir and --module-code are provided, deletes old
13
+ per-module module-help.csv files from {legacy-dir}/{module-code}/ and
14
+ {legacy-dir}/core/. Only the current module and core are touched.
15
+
16
+ Exit codes: 0=success, 1=validation error, 2=runtime error
17
+ """
18
+
19
+ import argparse
20
+ import csv
21
+ import json
22
+ import sys
23
+ from io import StringIO
24
+ from pathlib import Path
25
+
26
+ # CSV header for module-help.csv
27
+ HEADER = [
28
+ "module",
29
+ "skill",
30
+ "display-name",
31
+ "menu-code",
32
+ "description",
33
+ "action",
34
+ "args",
35
+ "phase",
36
+ "after",
37
+ "before",
38
+ "required",
39
+ "output-location",
40
+ "outputs",
41
+ ]
42
+
43
+
44
+ def parse_args():
45
+ parser = argparse.ArgumentParser(
46
+ description="Merge module help entries into shared _bmad/module-help.csv with anti-zombie pattern."
47
+ )
48
+ parser.add_argument(
49
+ "--target",
50
+ required=True,
51
+ help="Path to the target _bmad/module-help.csv file",
52
+ )
53
+ parser.add_argument(
54
+ "--source",
55
+ required=True,
56
+ help="Path to the source module-help.csv with entries to merge",
57
+ )
58
+ parser.add_argument(
59
+ "--legacy-dir",
60
+ help="Path to _bmad/ directory to check for legacy per-module CSV files.",
61
+ )
62
+ parser.add_argument(
63
+ "--module-code",
64
+ help="Module code (required with --legacy-dir for scoping cleanup).",
65
+ )
66
+ parser.add_argument(
67
+ "--verbose",
68
+ action="store_true",
69
+ help="Print detailed progress to stderr",
70
+ )
71
+ return parser.parse_args()
72
+
73
+
74
+ def read_csv_rows(path: str) -> tuple[list[str], list[list[str]]]:
75
+ """Read CSV file returning (header, data_rows).
76
+
77
+ Returns empty header and rows if file doesn't exist.
78
+ """
79
+ file_path = Path(path)
80
+ if not file_path.exists():
81
+ return [], []
82
+
83
+ with open(file_path, "r", encoding="utf-8", newline="") as f:
84
+ content = f.read()
85
+
86
+ reader = csv.reader(StringIO(content))
87
+ rows = list(reader)
88
+
89
+ if not rows:
90
+ return [], []
91
+
92
+ return rows[0], rows[1:]
93
+
94
+
95
+ def extract_module_codes(rows: list[list[str]]) -> set[str]:
96
+ """Extract unique module codes from data rows."""
97
+ codes = set()
98
+ for row in rows:
99
+ if row and row[0].strip():
100
+ codes.add(row[0].strip())
101
+ return codes
102
+
103
+
104
+ def filter_rows(rows: list[list[str]], module_code: str) -> list[list[str]]:
105
+ """Remove all rows matching the given module code."""
106
+ return [row for row in rows if not row or row[0].strip() != module_code]
107
+
108
+
109
+ def write_csv(path: str, header: list[str], rows: list[list[str]], verbose: bool = False) -> None:
110
+ """Write header + rows to CSV file, creating parent dirs as needed."""
111
+ file_path = Path(path)
112
+ file_path.parent.mkdir(parents=True, exist_ok=True)
113
+
114
+ if verbose:
115
+ print(f"Writing {len(rows)} data rows to {path}", file=sys.stderr)
116
+
117
+ with open(file_path, "w", encoding="utf-8", newline="") as f:
118
+ writer = csv.writer(f)
119
+ writer.writerow(header)
120
+ for row in rows:
121
+ writer.writerow(row)
122
+
123
+
124
+ def cleanup_legacy_csvs(
125
+ legacy_dir: str, module_code: str, verbose: bool = False
126
+ ) -> list:
127
+ """Delete legacy per-module module-help.csv files for this module and core only.
128
+
129
+ Returns list of deleted file paths.
130
+ """
131
+ deleted = []
132
+ for subdir in (module_code, "core"):
133
+ legacy_path = Path(legacy_dir) / subdir / "module-help.csv"
134
+ if legacy_path.exists():
135
+ if verbose:
136
+ print(f"Deleting legacy CSV: {legacy_path}", file=sys.stderr)
137
+ legacy_path.unlink()
138
+ deleted.append(str(legacy_path))
139
+ return deleted
140
+
141
+
142
+ def main():
143
+ args = parse_args()
144
+
145
+ # Read source entries
146
+ source_header, source_rows = read_csv_rows(args.source)
147
+ if not source_rows:
148
+ print(f"Error: No data rows found in source {args.source}", file=sys.stderr)
149
+ sys.exit(1)
150
+
151
+ # Determine module codes being merged
152
+ source_codes = extract_module_codes(source_rows)
153
+ if not source_codes:
154
+ print("Error: Could not determine module code from source rows", file=sys.stderr)
155
+ sys.exit(1)
156
+
157
+ if args.verbose:
158
+ print(f"Source module codes: {source_codes}", file=sys.stderr)
159
+ print(f"Source rows: {len(source_rows)}", file=sys.stderr)
160
+
161
+ # Read existing target (may not exist)
162
+ target_header, target_rows = read_csv_rows(args.target)
163
+ target_existed = Path(args.target).exists()
164
+
165
+ if args.verbose:
166
+ print(f"Target exists: {target_existed}", file=sys.stderr)
167
+ if target_existed:
168
+ print(f"Existing target rows: {len(target_rows)}", file=sys.stderr)
169
+
170
+ # Use source header if target doesn't exist or has no header
171
+ header = target_header if target_header else (source_header if source_header else HEADER)
172
+
173
+ # Anti-zombie: remove all rows for each source module code
174
+ filtered_rows = target_rows
175
+ removed_count = 0
176
+ for code in source_codes:
177
+ before_count = len(filtered_rows)
178
+ filtered_rows = filter_rows(filtered_rows, code)
179
+ removed_count += before_count - len(filtered_rows)
180
+
181
+ if args.verbose and removed_count > 0:
182
+ print(f"Removed {removed_count} existing rows (anti-zombie)", file=sys.stderr)
183
+
184
+ # Append source rows
185
+ merged_rows = filtered_rows + source_rows
186
+
187
+ # Write result
188
+ write_csv(args.target, header, merged_rows, args.verbose)
189
+
190
+ # Legacy cleanup: delete old per-module CSV files
191
+ legacy_deleted = []
192
+ if args.legacy_dir:
193
+ if not args.module_code:
194
+ print(
195
+ "Error: --module-code is required when --legacy-dir is provided",
196
+ file=sys.stderr,
197
+ )
198
+ sys.exit(1)
199
+ legacy_deleted = cleanup_legacy_csvs(
200
+ args.legacy_dir, args.module_code, args.verbose
201
+ )
202
+
203
+ # Output result summary as JSON
204
+ result = {
205
+ "status": "success",
206
+ "target_path": str(Path(args.target).resolve()),
207
+ "target_existed": target_existed,
208
+ "module_codes": sorted(source_codes),
209
+ "rows_removed": removed_count,
210
+ "rows_added": len(source_rows),
211
+ "total_rows": len(merged_rows),
212
+ "legacy_csvs_deleted": legacy_deleted,
213
+ }
214
+ print(json.dumps(result, indent=2))
215
+
216
+
217
+ if __name__ == "__main__":
218
+ main()
@@ -0,0 +1 @@
1
+ module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
@@ -0,0 +1,6 @@
1
+ code:
2
+ name: ""
3
+ description: ""
4
+ module_version: 1.0.0
5
+ default_selected: false
6
+ module_greeting: >