bmad-method 6.2.1-next.9 → 6.2.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 (400) hide show
  1. package/AGENTS.md +1 -0
  2. package/README_CN.md +23 -36
  3. package/package.json +4 -6
  4. package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-analyst/bmad-skill-manifest.yaml +1 -2
  5. package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/bmad-skill-manifest.yaml +1 -2
  6. package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/SKILL.md +2 -3
  7. package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/SKILL.md +1 -1
  8. package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/SKILL.md +1 -1
  9. package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/SKILL.md +1 -1
  10. package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-pm/bmad-skill-manifest.yaml +1 -2
  11. package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-ux-designer/bmad-skill-manifest.yaml +1 -2
  12. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01-discovery.md +1 -1
  13. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-01b-legacy-conversion.md +1 -1
  14. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-02-review.md +1 -1
  15. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-03-edit.md +1 -1
  16. package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/steps-e/step-e-04-complete.md +1 -1
  17. package/src/{bmm/agents → bmm-skills/3-solutioning}/bmad-agent-architect/bmad-skill-manifest.yaml +1 -2
  18. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-dev/bmad-skill-manifest.yaml +1 -2
  19. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-qa/bmad-skill-manifest.yaml +1 -2
  20. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-quick-flow-solo-dev/SKILL.md +1 -3
  21. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml +1 -2
  22. package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-sm/bmad-skill-manifest.yaml +1 -2
  23. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/steps/step-01-gather-context.md +3 -2
  24. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-02-review.md +34 -0
  25. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/steps/step-03-triage.md +7 -8
  26. package/src/bmm-skills/4-implementation/bmad-code-review/steps/step-04-present.md +129 -0
  27. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/workflow.md +1 -0
  28. package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/workflow.md +4 -4
  29. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/SKILL.md +1 -1
  30. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/tech-spec-template.md → bmm-skills/4-implementation/bmad-quick-dev/spec-template.md} +0 -2
  31. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-01-clarify-and-route.md +22 -8
  32. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-02-plan.md +3 -3
  33. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-03-implement.md +6 -0
  34. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-05-present.md +8 -6
  35. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-oneshot.md +2 -2
  36. package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/workflow.md +3 -3
  37. package/src/bmm-skills/module-help.csv +30 -0
  38. package/src/{core/skills/bmad-advanced-elicitation/workflow.md → core-skills/bmad-advanced-elicitation/SKILL.md} +3 -1
  39. package/src/{core/skills/bmad-editorial-review-prose/workflow.md → core-skills/bmad-editorial-review-prose/SKILL.md} +5 -0
  40. package/src/{core/skills/bmad-editorial-review-structure/workflow.md → core-skills/bmad-editorial-review-structure/SKILL.md} +5 -0
  41. package/src/core-skills/bmad-help/SKILL.md +73 -0
  42. package/src/{core/skills/bmad-index-docs/workflow.md → core-skills/bmad-index-docs/SKILL.md} +5 -0
  43. package/src/{core/skills/bmad-review-adversarial-general/workflow.md → core-skills/bmad-review-adversarial-general/SKILL.md} +5 -0
  44. package/src/{core/skills/bmad-review-edge-case-hunter/workflow.md → core-skills/bmad-review-edge-case-hunter/SKILL.md} +5 -0
  45. package/src/{core/skills/bmad-shard-doc/workflow.md → core-skills/bmad-shard-doc/SKILL.md} +5 -0
  46. package/src/core-skills/module-help.csv +11 -0
  47. package/tools/bmad-npx-wrapper.js +2 -2
  48. package/tools/cli/commands/install.js +1 -8
  49. package/tools/cli/external-official-modules.yaml +1 -1
  50. package/tools/cli/installers/lib/core/config-collector.js +110 -23
  51. package/tools/cli/installers/lib/core/dependency-resolver.js +11 -11
  52. package/tools/cli/installers/lib/core/installer.js +4 -214
  53. package/tools/cli/installers/lib/core/manifest-generator.js +122 -833
  54. package/tools/cli/installers/lib/core/manifest.js +2 -2
  55. package/tools/cli/installers/lib/custom/handler.js +1 -247
  56. package/tools/cli/installers/lib/ide/_base-ide.js +0 -16
  57. package/tools/cli/installers/lib/ide/_config-driven.js +13 -168
  58. package/tools/cli/installers/lib/ide/manager.js +2 -7
  59. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +0 -1
  60. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +27 -0
  61. package/tools/cli/installers/lib/ide/shared/skill-manifest.js +1 -19
  62. package/tools/cli/installers/lib/modules/manager.js +12 -459
  63. package/tools/cli/lib/project-root.js +5 -5
  64. package/tools/cli/lib/ui.js +0 -19
  65. package/tools/skill-validator.md +52 -22
  66. package/tools/validate-skills.js +736 -0
  67. package/src/bmm/data/project-context-template.md +0 -26
  68. package/src/bmm/module-help.csv +0 -32
  69. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/SKILL.md +0 -6
  70. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/bmad-skill-manifest.yaml +0 -1
  71. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/product-brief.template.md +0 -10
  72. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01-init.md +0 -170
  73. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-01b-continue.md +0 -158
  74. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-02-vision.md +0 -193
  75. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-03-users.md +0 -196
  76. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-04-metrics.md +0 -199
  77. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-05-scope.md +0 -213
  78. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/steps/step-06-complete.md +0 -159
  79. package/src/bmm/workflows/1-analysis/bmad-create-product-brief/workflow.md +0 -55
  80. package/src/bmm/workflows/1-analysis/bmad-product-brief-preview/bmad-skill-manifest.yaml +0 -1
  81. package/src/bmm/workflows/1-analysis/research/bmad-domain-research/bmad-skill-manifest.yaml +0 -1
  82. package/src/bmm/workflows/1-analysis/research/bmad-market-research/bmad-skill-manifest.yaml +0 -1
  83. package/src/bmm/workflows/1-analysis/research/bmad-technical-research/bmad-skill-manifest.yaml +0 -1
  84. package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +0 -182
  85. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +0 -237
  86. package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +0 -249
  87. package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +0 -259
  88. package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +0 -177
  89. package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +0 -476
  90. package/src/bmm/workflows/1-analysis/research/research.template.md +0 -29
  91. package/src/bmm/workflows/2-plan-workflows/bmad-create-ux-design/bmad-skill-manifest.yaml +0 -1
  92. package/src/bmm/workflows/2-plan-workflows/bmad-edit-prd/bmad-skill-manifest.yaml +0 -1
  93. package/src/bmm/workflows/2-plan-workflows/bmad-validate-prd/bmad-skill-manifest.yaml +0 -1
  94. package/src/bmm/workflows/3-solutioning/bmad-check-implementation-readiness/bmad-skill-manifest.yaml +0 -1
  95. package/src/bmm/workflows/3-solutioning/bmad-create-architecture/bmad-skill-manifest.yaml +0 -1
  96. package/src/bmm/workflows/3-solutioning/bmad-create-epics-and-stories/bmad-skill-manifest.yaml +0 -1
  97. package/src/bmm/workflows/4-implementation/bmad-code-review/bmad-skill-manifest.yaml +0 -1
  98. package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-02-review.md +0 -41
  99. package/src/bmm/workflows/4-implementation/bmad-code-review/steps/step-04-present.md +0 -38
  100. package/src/bmm/workflows/4-implementation/bmad-correct-course/bmad-skill-manifest.yaml +0 -1
  101. package/src/bmm/workflows/4-implementation/bmad-create-story/bmad-skill-manifest.yaml +0 -1
  102. package/src/bmm/workflows/4-implementation/bmad-dev-story/bmad-skill-manifest.yaml +0 -1
  103. package/src/bmm/workflows/4-implementation/bmad-retrospective/bmad-skill-manifest.yaml +0 -1
  104. package/src/bmm/workflows/4-implementation/bmad-sprint-planning/bmad-skill-manifest.yaml +0 -1
  105. package/src/bmm/workflows/4-implementation/bmad-sprint-status/bmad-skill-manifest.yaml +0 -1
  106. package/src/bmm/workflows/bmad-document-project/bmad-skill-manifest.yaml +0 -1
  107. package/src/bmm/workflows/bmad-generate-project-context/bmad-skill-manifest.yaml +0 -1
  108. package/src/bmm/workflows/bmad-qa-generate-e2e-tests/bmad-skill-manifest.yaml +0 -1
  109. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/SKILL.md +0 -6
  110. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/bmad-skill-manifest.yaml +0 -1
  111. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-01-mode-detection.md +0 -169
  112. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-02-context-gathering.md +0 -114
  113. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-03-execute.md +0 -107
  114. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-04-self-check.md +0 -107
  115. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-05-adversarial-review.md +0 -94
  116. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/steps/step-06-resolve-findings.md +0 -144
  117. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev/workflow.md +0 -38
  118. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview/bmad-skill-manifest.yaml +0 -1
  119. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/SKILL.md +0 -6
  120. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/bmad-skill-manifest.yaml +0 -1
  121. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-01-understand.md +0 -185
  122. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-02-investigate.md +0 -140
  123. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-03-generate.md +0 -123
  124. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/steps/step-04-review.md +0 -195
  125. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/tech-spec-template.md +0 -74
  126. package/src/bmm/workflows/bmad-quick-flow/bmad-quick-spec/workflow.md +0 -73
  127. package/src/core/module-help.csv +0 -11
  128. package/src/core/skills/bmad-advanced-elicitation/SKILL.md +0 -6
  129. package/src/core/skills/bmad-advanced-elicitation/bmad-skill-manifest.yaml +0 -1
  130. package/src/core/skills/bmad-brainstorming/bmad-skill-manifest.yaml +0 -1
  131. package/src/core/skills/bmad-distillator/bmad-skill-manifest.yaml +0 -15
  132. package/src/core/skills/bmad-editorial-review-prose/SKILL.md +0 -6
  133. package/src/core/skills/bmad-editorial-review-prose/bmad-skill-manifest.yaml +0 -1
  134. package/src/core/skills/bmad-editorial-review-structure/SKILL.md +0 -6
  135. package/src/core/skills/bmad-editorial-review-structure/bmad-skill-manifest.yaml +0 -1
  136. package/src/core/skills/bmad-help/SKILL.md +0 -6
  137. package/src/core/skills/bmad-help/bmad-skill-manifest.yaml +0 -1
  138. package/src/core/skills/bmad-help/workflow.md +0 -88
  139. package/src/core/skills/bmad-index-docs/SKILL.md +0 -6
  140. package/src/core/skills/bmad-index-docs/bmad-skill-manifest.yaml +0 -1
  141. package/src/core/skills/bmad-init/bmad-skill-manifest.yaml +0 -1
  142. package/src/core/skills/bmad-party-mode/bmad-skill-manifest.yaml +0 -1
  143. package/src/core/skills/bmad-review-adversarial-general/SKILL.md +0 -6
  144. package/src/core/skills/bmad-review-adversarial-general/bmad-skill-manifest.yaml +0 -1
  145. package/src/core/skills/bmad-review-edge-case-hunter/SKILL.md +0 -6
  146. package/src/core/skills/bmad-review-edge-case-hunter/bmad-skill-manifest.yaml +0 -1
  147. package/src/core/skills/bmad-shard-doc/SKILL.md +0 -6
  148. package/src/core/skills/bmad-shard-doc/bmad-skill-manifest.yaml +0 -1
  149. package/src/core/tasks/bmad-create-prd/bmad-skill-manifest.yaml +0 -1
  150. package/src/utility/agent-components/activation-rules.txt +0 -6
  151. package/src/utility/agent-components/activation-steps.txt +0 -14
  152. package/src/utility/agent-components/agent-command-header.md +0 -1
  153. package/src/utility/agent-components/agent.customize.template.yaml +0 -41
  154. package/src/utility/agent-components/handler-action.txt +0 -4
  155. package/src/utility/agent-components/handler-data.txt +0 -5
  156. package/src/utility/agent-components/handler-exec.txt +0 -6
  157. package/src/utility/agent-components/handler-multi.txt +0 -13
  158. package/src/utility/agent-components/handler-tmpl.txt +0 -5
  159. package/src/utility/agent-components/menu-handlers.txt +0 -6
  160. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +0 -368
  161. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +0 -179
  162. package/tools/cli/lib/activation-builder.js +0 -165
  163. package/tools/cli/lib/agent/compiler.js +0 -516
  164. package/tools/cli/lib/agent/installer.js +0 -680
  165. package/tools/cli/lib/agent/template-engine.js +0 -152
  166. package/tools/cli/lib/agent-analyzer.js +0 -97
  167. package/tools/cli/lib/agent-party-generator.js +0 -194
  168. package/tools/cli/lib/xml-handler.js +0 -177
  169. package/tools/cli/lib/xml-to-markdown.js +0 -82
  170. package/tools/cli/lib/yaml-xml-builder.js +0 -570
  171. package/tools/schema/agent.js +0 -489
  172. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-analyst/SKILL.md +0 -0
  173. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/SKILL.md +0 -0
  174. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/explain-concept.md +0 -0
  175. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/mermaid-gen.md +0 -0
  176. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/validate-doc.md +0 -0
  177. /package/src/{bmm/agents → bmm-skills/1-analysis}/bmad-agent-tech-writer/write-document.md +0 -0
  178. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/SKILL.md +0 -0
  179. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/checklist.md +0 -0
  180. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/documentation-requirements.csv +0 -0
  181. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/instructions.md +0 -0
  182. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/deep-dive-template.md +0 -0
  183. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/index-template.md +0 -0
  184. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/project-overview-template.md +0 -0
  185. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/project-scan-report-schema.json +0 -0
  186. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/templates/source-tree-template.md +0 -0
  187. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflow.md +0 -0
  188. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/deep-dive-instructions.md +0 -0
  189. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/deep-dive-workflow.md +0 -0
  190. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/full-scan-instructions.md +0 -0
  191. /package/src/{bmm/workflows → bmm-skills/1-analysis}/bmad-document-project/workflows/full-scan-workflow.md +0 -0
  192. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/artifact-analyzer.md +0 -0
  193. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/opportunity-reviewer.md +0 -0
  194. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/skeptic-reviewer.md +0 -0
  195. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/agents/web-researcher.md +0 -0
  196. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/bmad-manifest.json +0 -0
  197. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/contextual-discovery.md +0 -0
  198. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/draft-and-review.md +0 -0
  199. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/finalize.md +0 -0
  200. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/prompts/guided-elicitation.md +0 -0
  201. /package/src/{bmm/workflows/1-analysis/bmad-product-brief-preview → bmm-skills/1-analysis/bmad-product-brief}/resources/brief-template.md +0 -0
  202. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-01-init.md +0 -0
  203. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-02-domain-analysis.md +0 -0
  204. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-03-competitive-landscape.md +0 -0
  205. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-04-regulatory-focus.md +0 -0
  206. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-05-technical-trends.md +0 -0
  207. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/domain-steps/step-06-research-synthesis.md +0 -0
  208. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/research.template.md +0 -0
  209. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-domain-research/workflow.md +0 -0
  210. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/research.template.md +0 -0
  211. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-01-init.md +0 -0
  212. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-02-customer-behavior.md +0 -0
  213. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-03-customer-pain-points.md +0 -0
  214. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-04-customer-decisions.md +0 -0
  215. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-05-competitive-analysis.md +0 -0
  216. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/steps/step-06-research-completion.md +0 -0
  217. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-market-research/workflow.md +0 -0
  218. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/research.template.md +0 -0
  219. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-01-init.md +0 -0
  220. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-02-technical-overview.md +0 -0
  221. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-03-integration-patterns.md +0 -0
  222. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-04-architectural-patterns.md +0 -0
  223. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-05-implementation-research.md +0 -0
  224. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/technical-steps/step-06-research-synthesis.md +0 -0
  225. /package/src/{bmm/workflows → bmm-skills}/1-analysis/research/bmad-technical-research/workflow.md +0 -0
  226. /package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-pm/SKILL.md +0 -0
  227. /package/src/{bmm/agents → bmm-skills/2-plan-workflows}/bmad-agent-ux-designer/SKILL.md +0 -0
  228. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/SKILL.md +0 -0
  229. /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/domain-complexity.csv +0 -0
  230. /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/prd-purpose.md +0 -0
  231. /package/src/{bmm/workflows/2-plan-workflows/bmad-validate-prd → bmm-skills/2-plan-workflows/bmad-create-prd}/data/project-types.csv +0 -0
  232. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-01-init.md +0 -0
  233. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-01b-continue.md +0 -0
  234. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02-discovery.md +0 -0
  235. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02b-vision.md +0 -0
  236. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-02c-executive-summary.md +0 -0
  237. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-03-success.md +0 -0
  238. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-04-journeys.md +0 -0
  239. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-05-domain.md +0 -0
  240. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-06-innovation.md +0 -0
  241. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-07-project-type.md +0 -0
  242. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-08-scoping.md +0 -0
  243. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-09-functional.md +0 -0
  244. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-10-nonfunctional.md +0 -0
  245. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-11-polish.md +0 -0
  246. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/steps-c/step-12-complete.md +0 -0
  247. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/templates/prd-template.md +0 -0
  248. /package/src/{core/tasks → bmm-skills/2-plan-workflows}/bmad-create-prd/workflow.md +0 -0
  249. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/SKILL.md +0 -0
  250. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-01-init.md +0 -0
  251. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-01b-continue.md +0 -0
  252. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-02-discovery.md +0 -0
  253. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-03-core-experience.md +0 -0
  254. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-04-emotional-response.md +0 -0
  255. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-05-inspiration.md +0 -0
  256. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-06-design-system.md +0 -0
  257. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-07-defining-experience.md +0 -0
  258. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-08-visual-foundation.md +0 -0
  259. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-09-design-directions.md +0 -0
  260. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-10-user-journeys.md +0 -0
  261. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-11-component-strategy.md +0 -0
  262. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-12-ux-patterns.md +0 -0
  263. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-13-responsive-accessibility.md +0 -0
  264. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/steps/step-14-complete.md +0 -0
  265. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/ux-design-template.md +0 -0
  266. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-create-ux-design/workflow.md +0 -0
  267. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/SKILL.md +0 -0
  268. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-edit-prd/workflow.md +0 -0
  269. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/SKILL.md +0 -0
  270. /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/domain-complexity.csv +0 -0
  271. /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/prd-purpose.md +0 -0
  272. /package/src/{bmm/workflows/2-plan-workflows/create-prd → bmm-skills/2-plan-workflows/bmad-validate-prd}/data/project-types.csv +0 -0
  273. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-01-discovery.md +0 -0
  274. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02-format-detection.md +0 -0
  275. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-02b-parity-check.md +0 -0
  276. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-03-density-validation.md +0 -0
  277. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -0
  278. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-05-measurability-validation.md +0 -0
  279. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-06-traceability-validation.md +0 -0
  280. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -0
  281. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -0
  282. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-09-project-type-validation.md +0 -0
  283. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-10-smart-validation.md +0 -0
  284. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -0
  285. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-12-completeness-validation.md +0 -0
  286. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/steps-v/step-v-13-report-complete.md +0 -0
  287. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/bmad-validate-prd/workflow.md +0 -0
  288. /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/domain-complexity.csv +0 -0
  289. /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/prd-purpose.md +0 -0
  290. /package/src/{core/tasks/bmad-create-prd → bmm-skills/2-plan-workflows/create-prd}/data/project-types.csv +0 -0
  291. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +0 -0
  292. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +0 -0
  293. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +0 -0
  294. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +0 -0
  295. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +0 -0
  296. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +0 -0
  297. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +0 -0
  298. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +0 -0
  299. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +0 -0
  300. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +0 -0
  301. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +0 -0
  302. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +0 -0
  303. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +0 -0
  304. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +0 -0
  305. /package/src/{bmm/workflows → bmm-skills}/2-plan-workflows/create-prd/workflow-validate-prd.md +0 -0
  306. /package/src/{bmm/agents → bmm-skills/3-solutioning}/bmad-agent-architect/SKILL.md +0 -0
  307. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/SKILL.md +0 -0
  308. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-01-document-discovery.md +0 -0
  309. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-02-prd-analysis.md +0 -0
  310. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-03-epic-coverage-validation.md +0 -0
  311. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-04-ux-alignment.md +0 -0
  312. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-05-epic-quality-review.md +0 -0
  313. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/steps/step-06-final-assessment.md +0 -0
  314. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/templates/readiness-report-template.md +0 -0
  315. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-check-implementation-readiness/workflow.md +0 -0
  316. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/SKILL.md +0 -0
  317. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/architecture-decision-template.md +0 -0
  318. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/data/domain-complexity.csv +0 -0
  319. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/data/project-types.csv +0 -0
  320. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-01-init.md +0 -0
  321. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-01b-continue.md +0 -0
  322. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-02-context.md +0 -0
  323. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-03-starter.md +0 -0
  324. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-04-decisions.md +0 -0
  325. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-05-patterns.md +0 -0
  326. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-06-structure.md +0 -0
  327. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-07-validation.md +0 -0
  328. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/steps/step-08-complete.md +0 -0
  329. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-architecture/workflow.md +0 -0
  330. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/SKILL.md +0 -0
  331. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-01-validate-prerequisites.md +0 -0
  332. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-02-design-epics.md +0 -0
  333. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-03-create-stories.md +0 -0
  334. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/steps/step-04-final-validation.md +0 -0
  335. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/templates/epics-template.md +0 -0
  336. /package/src/{bmm/workflows → bmm-skills}/3-solutioning/bmad-create-epics-and-stories/workflow.md +0 -0
  337. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/SKILL.md +0 -0
  338. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/project-context-template.md +0 -0
  339. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-01-discover.md +0 -0
  340. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-02-generate.md +0 -0
  341. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/steps/step-03-complete.md +0 -0
  342. /package/src/{bmm/workflows → bmm-skills/3-solutioning}/bmad-generate-project-context/workflow.md +0 -0
  343. /package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-dev/SKILL.md +0 -0
  344. /package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-qa/SKILL.md +0 -0
  345. /package/src/{bmm/agents → bmm-skills/4-implementation}/bmad-agent-sm/SKILL.md +0 -0
  346. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-code-review/SKILL.md +0 -0
  347. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/SKILL.md +0 -0
  348. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-correct-course/checklist.md +0 -0
  349. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/SKILL.md +0 -0
  350. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/checklist.md +0 -0
  351. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/discover-inputs.md +0 -0
  352. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/template.md +0 -0
  353. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-create-story/workflow.md +0 -0
  354. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/SKILL.md +0 -0
  355. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/checklist.md +0 -0
  356. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-dev-story/workflow.md +0 -0
  357. /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/SKILL.md +0 -0
  358. /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/checklist.md +0 -0
  359. /package/src/{bmm/workflows → bmm-skills/4-implementation}/bmad-qa-generate-e2e-tests/workflow.md +0 -0
  360. /package/src/{bmm/workflows/bmad-quick-flow/bmad-quick-dev-new-preview → bmm-skills/4-implementation/bmad-quick-dev}/step-04-review.md +0 -0
  361. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-retrospective/SKILL.md +0 -0
  362. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-retrospective/workflow.md +0 -0
  363. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/SKILL.md +0 -0
  364. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/checklist.md +0 -0
  365. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/sprint-status-template.yaml +0 -0
  366. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-planning/workflow.md +0 -0
  367. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-status/SKILL.md +0 -0
  368. /package/src/{bmm/workflows → bmm-skills}/4-implementation/bmad-sprint-status/workflow.md +0 -0
  369. /package/src/{bmm → bmm-skills}/module.yaml +0 -0
  370. /package/src/{core/skills → core-skills}/bmad-advanced-elicitation/methods.csv +0 -0
  371. /package/src/{core/skills → core-skills}/bmad-brainstorming/SKILL.md +0 -0
  372. /package/src/{core/skills → core-skills}/bmad-brainstorming/brain-methods.csv +0 -0
  373. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-01-session-setup.md +0 -0
  374. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-01b-continue.md +0 -0
  375. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02a-user-selected.md +0 -0
  376. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02b-ai-recommended.md +0 -0
  377. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02c-random-selection.md +0 -0
  378. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-02d-progressive-flow.md +0 -0
  379. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-03-technique-execution.md +0 -0
  380. /package/src/{core/skills → core-skills}/bmad-brainstorming/steps/step-04-idea-organization.md +0 -0
  381. /package/src/{core/skills → core-skills}/bmad-brainstorming/template.md +0 -0
  382. /package/src/{core/skills → core-skills}/bmad-brainstorming/workflow.md +0 -0
  383. /package/src/{core/skills → core-skills}/bmad-distillator/SKILL.md +0 -0
  384. /package/src/{core/skills → core-skills}/bmad-distillator/agents/distillate-compressor.md +0 -0
  385. /package/src/{core/skills → core-skills}/bmad-distillator/agents/round-trip-reconstructor.md +0 -0
  386. /package/src/{core/skills → core-skills}/bmad-distillator/resources/compression-rules.md +0 -0
  387. /package/src/{core/skills → core-skills}/bmad-distillator/resources/distillate-format-reference.md +0 -0
  388. /package/src/{core/skills → core-skills}/bmad-distillator/resources/splitting-strategy.md +0 -0
  389. /package/src/{core/skills → core-skills}/bmad-distillator/scripts/analyze_sources.py +0 -0
  390. /package/src/{core/skills → core-skills}/bmad-distillator/scripts/tests/test_analyze_sources.py +0 -0
  391. /package/src/{core/skills → core-skills}/bmad-init/SKILL.md +0 -0
  392. /package/src/{core/skills → core-skills}/bmad-init/resources/core-module.yaml +0 -0
  393. /package/src/{core/skills → core-skills}/bmad-init/scripts/bmad_init.py +0 -0
  394. /package/src/{core/skills → core-skills}/bmad-init/scripts/tests/test_bmad_init.py +0 -0
  395. /package/src/{core/skills → core-skills}/bmad-party-mode/SKILL.md +0 -0
  396. /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-01-agent-loading.md +0 -0
  397. /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-02-discussion-orchestration.md +0 -0
  398. /package/src/{core/skills → core-skills}/bmad-party-mode/steps/step-03-graceful-exit.md +0 -0
  399. /package/src/{core/skills → core-skills}/bmad-party-mode/workflow.md +0 -0
  400. /package/src/{core → core-skills}/module.yaml +0 -0
@@ -1,13 +0,0 @@
1
- <handler type="multi">
2
- When menu item has: type="multi" with nested handlers
3
- 1. Display the multi item text as a single menu option
4
- 2. Parse all nested handlers within the multi item
5
- 3. For each nested handler:
6
- - Use the 'match' attribute for fuzzy matching user input (or Exact Match of character code in brackets [])
7
- - Process based on handler attributes (exec, action)
8
- 4. When user input matches a handler's 'match' pattern:
9
- - For exec="path/to/file.md": follow the `handler type="exec"` instructions
10
- - For action="...": Perform the specified action directly
11
- 5. Support both exact matches and fuzzy matching based on the match attribute
12
- 6. If no handler matches, prompt user to choose from available options
13
- </handler>
@@ -1,5 +0,0 @@
1
- <handler type="tmpl">
2
- 1. When menu item has: tmpl="path/to/template.md"
3
- 2. Load template file, parse as markdown with {{mustache}} style variables
4
- 3. Make template content available as {template} to action/exec/workflow handlers
5
- </handler>
@@ -1,6 +0,0 @@
1
- <menu-handlers>
2
- <extract>{DYNAMIC_EXTRACT_LIST}</extract>
3
- <handlers>
4
- {DYNAMIC_HANDLERS}
5
- </handlers>
6
- </menu-handlers>
@@ -1,368 +0,0 @@
1
- const path = require('node:path');
2
- const fs = require('fs-extra');
3
- const csv = require('csv-parse/sync');
4
- const { toColonName, toColonPath, toDashPath, BMAD_FOLDER_NAME } = require('./path-utils');
5
-
6
- /**
7
- * Generates command files for standalone tasks and tools
8
- */
9
- class TaskToolCommandGenerator {
10
- /**
11
- * @param {string} bmadFolderName - Name of the BMAD folder for template rendering (default: '_bmad')
12
- * Note: This parameter is accepted for API consistency with AgentCommandGenerator and
13
- * WorkflowCommandGenerator, but is not used for path stripping. The manifest always stores
14
- * filesystem paths with '_bmad/' prefix (the actual folder name), while bmadFolderName is
15
- * used for template placeholder rendering ({{bmadFolderName}}).
16
- */
17
- constructor(bmadFolderName = BMAD_FOLDER_NAME) {
18
- this.bmadFolderName = bmadFolderName;
19
- }
20
-
21
- /**
22
- * Collect task and tool artifacts for IDE installation
23
- * @param {string} bmadDir - BMAD installation directory
24
- * @returns {Promise<Object>} Artifacts array with metadata
25
- */
26
- async collectTaskToolArtifacts(bmadDir) {
27
- const tasks = await this.loadTaskManifest(bmadDir);
28
- const tools = await this.loadToolManifest(bmadDir);
29
-
30
- // All tasks/tools in manifest are standalone (internal=true items are filtered during manifest generation)
31
- const artifacts = [];
32
- const bmadPrefix = `${BMAD_FOLDER_NAME}/`;
33
-
34
- // Collect task artifacts
35
- for (const task of tasks || []) {
36
- let taskPath = (task.path || '').replaceAll('\\', '/');
37
- // Convert absolute paths to relative paths
38
- if (path.isAbsolute(taskPath)) {
39
- taskPath = path.relative(bmadDir, taskPath).replaceAll('\\', '/');
40
- }
41
- // Remove _bmad/ prefix if present to get relative path within bmad folder
42
- if (taskPath.startsWith(bmadPrefix)) {
43
- taskPath = taskPath.slice(bmadPrefix.length);
44
- }
45
-
46
- const taskExt = path.extname(taskPath) || '.md';
47
- artifacts.push({
48
- type: 'task',
49
- name: task.name,
50
- displayName: task.displayName || task.name,
51
- description: task.description || `Execute ${task.displayName || task.name}`,
52
- module: task.module,
53
- canonicalId: task.canonicalId || '',
54
- // Use forward slashes for cross-platform consistency (not path.join which uses backslashes on Windows)
55
- relativePath: `${task.module}/tasks/${task.name}${taskExt}`,
56
- path: taskPath,
57
- });
58
- }
59
-
60
- // Collect tool artifacts
61
- for (const tool of tools || []) {
62
- let toolPath = (tool.path || '').replaceAll('\\', '/');
63
- // Convert absolute paths to relative paths
64
- if (path.isAbsolute(toolPath)) {
65
- toolPath = path.relative(bmadDir, toolPath).replaceAll('\\', '/');
66
- }
67
- // Remove _bmad/ prefix if present to get relative path within bmad folder
68
- if (toolPath.startsWith(bmadPrefix)) {
69
- toolPath = toolPath.slice(bmadPrefix.length);
70
- }
71
-
72
- const toolExt = path.extname(toolPath) || '.md';
73
- artifacts.push({
74
- type: 'tool',
75
- name: tool.name,
76
- displayName: tool.displayName || tool.name,
77
- description: tool.description || `Execute ${tool.displayName || tool.name}`,
78
- module: tool.module,
79
- canonicalId: tool.canonicalId || '',
80
- // Use forward slashes for cross-platform consistency (not path.join which uses backslashes on Windows)
81
- relativePath: `${tool.module}/tools/${tool.name}${toolExt}`,
82
- path: toolPath,
83
- });
84
- }
85
-
86
- return {
87
- artifacts,
88
- counts: {
89
- tasks: (tasks || []).length,
90
- tools: (tools || []).length,
91
- },
92
- };
93
- }
94
-
95
- /**
96
- * Generate task and tool commands from manifest CSVs
97
- * @param {string} projectDir - Project directory
98
- * @param {string} bmadDir - BMAD installation directory
99
- * @param {string} baseCommandsDir - Optional base commands directory (defaults to .claude/commands/bmad)
100
- */
101
- async generateTaskToolCommands(projectDir, bmadDir, baseCommandsDir = null) {
102
- const tasks = await this.loadTaskManifest(bmadDir);
103
- const tools = await this.loadToolManifest(bmadDir);
104
-
105
- // Base commands directory - use provided or default to Claude Code structure
106
- const commandsDir = baseCommandsDir || path.join(projectDir, '.claude', 'commands', 'bmad');
107
-
108
- let generatedCount = 0;
109
-
110
- // Generate command files for tasks
111
- for (const task of tasks || []) {
112
- const moduleTasksDir = path.join(commandsDir, task.module, 'tasks');
113
- await fs.ensureDir(moduleTasksDir);
114
-
115
- const commandContent = this.generateCommandContent(task, 'task');
116
- const commandPath = path.join(moduleTasksDir, `${task.name}.md`);
117
-
118
- await fs.writeFile(commandPath, commandContent);
119
- generatedCount++;
120
- }
121
-
122
- // Generate command files for tools
123
- for (const tool of tools || []) {
124
- const moduleToolsDir = path.join(commandsDir, tool.module, 'tools');
125
- await fs.ensureDir(moduleToolsDir);
126
-
127
- const commandContent = this.generateCommandContent(tool, 'tool');
128
- const commandPath = path.join(moduleToolsDir, `${tool.name}.md`);
129
-
130
- await fs.writeFile(commandPath, commandContent);
131
- generatedCount++;
132
- }
133
-
134
- return {
135
- generated: generatedCount,
136
- tasks: (tasks || []).length,
137
- tools: (tools || []).length,
138
- };
139
- }
140
-
141
- /**
142
- * Generate command content for a task or tool
143
- */
144
- generateCommandContent(item, type) {
145
- const description = item.description || `Execute ${item.displayName || item.name}`;
146
-
147
- // Convert path to use {project-root} placeholder
148
- // Handle undefined/missing path by constructing from module and name
149
- let itemPath = item.path;
150
- if (!itemPath || typeof itemPath !== 'string') {
151
- // Fallback: construct path from module and name if path is missing
152
- const typePlural = type === 'task' ? 'tasks' : 'tools';
153
- itemPath = `{project-root}/${this.bmadFolderName}/${item.module}/${typePlural}/${item.name}.md`;
154
- } else {
155
- // Normalize path separators to forward slashes
156
- itemPath = itemPath.replaceAll('\\', '/');
157
-
158
- // Extract relative path from absolute paths (Windows or Unix)
159
- // Look for _bmad/ or bmad/ in the path and extract everything after it
160
- // Match patterns like: /_bmad/core/tasks/... or /bmad/core/tasks/...
161
- // Use [/\\] to handle both Unix forward slashes and Windows backslashes,
162
- // and also paths without a leading separator (e.g., C:/_bmad/...)
163
- const bmadMatch = itemPath.match(/[/\\]_bmad[/\\](.+)$/) || itemPath.match(/[/\\]bmad[/\\](.+)$/);
164
- if (bmadMatch) {
165
- // Found /_bmad/ or /bmad/ - use relative path after it
166
- itemPath = `{project-root}/${this.bmadFolderName}/${bmadMatch[1]}`;
167
- } else if (itemPath.startsWith(`${BMAD_FOLDER_NAME}/`)) {
168
- // Relative path starting with _bmad/
169
- itemPath = `{project-root}/${this.bmadFolderName}/${itemPath.slice(BMAD_FOLDER_NAME.length + 1)}`;
170
- } else if (itemPath.startsWith('bmad/')) {
171
- // Relative path starting with bmad/
172
- itemPath = `{project-root}/${this.bmadFolderName}/${itemPath.slice(5)}`;
173
- } else if (!itemPath.startsWith('{project-root}')) {
174
- // For other relative paths, prefix with project root and bmad folder
175
- itemPath = `{project-root}/${this.bmadFolderName}/${itemPath}`;
176
- }
177
- }
178
-
179
- return `---
180
- description: '${description.replaceAll("'", "''")}'
181
- ---
182
-
183
- # ${item.displayName || item.name}
184
-
185
- Read the entire ${type} file at: ${itemPath}
186
-
187
- Follow all instructions in the ${type} file exactly as written.
188
- `;
189
- }
190
-
191
- /**
192
- * Load task manifest CSV
193
- */
194
- async loadTaskManifest(bmadDir) {
195
- const manifestPath = path.join(bmadDir, '_config', 'task-manifest.csv');
196
-
197
- if (!(await fs.pathExists(manifestPath))) {
198
- return null;
199
- }
200
-
201
- const csvContent = await fs.readFile(manifestPath, 'utf8');
202
- return csv.parse(csvContent, {
203
- columns: true,
204
- skip_empty_lines: true,
205
- });
206
- }
207
-
208
- /**
209
- * Load tool manifest CSV
210
- */
211
- async loadToolManifest(bmadDir) {
212
- const manifestPath = path.join(bmadDir, '_config', 'tool-manifest.csv');
213
-
214
- if (!(await fs.pathExists(manifestPath))) {
215
- return null;
216
- }
217
-
218
- const csvContent = await fs.readFile(manifestPath, 'utf8');
219
- return csv.parse(csvContent, {
220
- columns: true,
221
- skip_empty_lines: true,
222
- });
223
- }
224
-
225
- /**
226
- * Generate task and tool commands using underscore format (Windows-compatible)
227
- * Creates flat files like: bmad_bmm_help.md
228
- *
229
- * @param {string} projectDir - Project directory
230
- * @param {string} bmadDir - BMAD installation directory
231
- * @param {string} baseCommandsDir - Base commands directory for the IDE
232
- * @returns {Object} Generation results
233
- */
234
- async generateColonTaskToolCommands(projectDir, bmadDir, baseCommandsDir) {
235
- const tasks = await this.loadTaskManifest(bmadDir);
236
- const tools = await this.loadToolManifest(bmadDir);
237
-
238
- let generatedCount = 0;
239
-
240
- // Generate command files for tasks
241
- for (const task of tasks || []) {
242
- const commandContent = this.generateCommandContent(task, 'task');
243
- // Use underscore format: bmad_bmm_name.md
244
- const flatName = toColonName(task.module, 'tasks', task.name);
245
- const commandPath = path.join(baseCommandsDir, flatName);
246
- await fs.ensureDir(path.dirname(commandPath));
247
- await fs.writeFile(commandPath, commandContent);
248
- generatedCount++;
249
- }
250
-
251
- // Generate command files for tools
252
- for (const tool of tools || []) {
253
- const commandContent = this.generateCommandContent(tool, 'tool');
254
- // Use underscore format: bmad_bmm_name.md
255
- const flatName = toColonName(tool.module, 'tools', tool.name);
256
- const commandPath = path.join(baseCommandsDir, flatName);
257
- await fs.ensureDir(path.dirname(commandPath));
258
- await fs.writeFile(commandPath, commandContent);
259
- generatedCount++;
260
- }
261
-
262
- return {
263
- generated: generatedCount,
264
- tasks: (tasks || []).length,
265
- tools: (tools || []).length,
266
- };
267
- }
268
-
269
- /**
270
- * Generate task and tool commands using underscore format (Windows-compatible)
271
- * Creates flat files like: bmad_bmm_help.md
272
- *
273
- * @param {string} projectDir - Project directory
274
- * @param {string} bmadDir - BMAD installation directory
275
- * @param {string} baseCommandsDir - Base commands directory for the IDE
276
- * @returns {Object} Generation results
277
- */
278
- async generateDashTaskToolCommands(projectDir, bmadDir, baseCommandsDir) {
279
- const tasks = await this.loadTaskManifest(bmadDir);
280
- const tools = await this.loadToolManifest(bmadDir);
281
-
282
- let generatedCount = 0;
283
-
284
- // Generate command files for tasks
285
- for (const task of tasks || []) {
286
- const commandContent = this.generateCommandContent(task, 'task');
287
- // Use dash format: bmad-bmm-name.md
288
- const flatName = toDashPath(`${task.module}/tasks/${task.name}.md`);
289
- const commandPath = path.join(baseCommandsDir, flatName);
290
- await fs.ensureDir(path.dirname(commandPath));
291
- await fs.writeFile(commandPath, commandContent);
292
- generatedCount++;
293
- }
294
-
295
- // Generate command files for tools
296
- for (const tool of tools || []) {
297
- const commandContent = this.generateCommandContent(tool, 'tool');
298
- // Use dash format: bmad-bmm-name.md
299
- const flatName = toDashPath(`${tool.module}/tools/${tool.name}.md`);
300
- const commandPath = path.join(baseCommandsDir, flatName);
301
- await fs.ensureDir(path.dirname(commandPath));
302
- await fs.writeFile(commandPath, commandContent);
303
- generatedCount++;
304
- }
305
-
306
- return {
307
- generated: generatedCount,
308
- tasks: (tasks || []).length,
309
- tools: (tools || []).length,
310
- };
311
- }
312
-
313
- /**
314
- * Write task/tool artifacts using underscore format (Windows-compatible)
315
- * Creates flat files like: bmad_bmm_help.md
316
- *
317
- * @param {string} baseCommandsDir - Base commands directory for the IDE
318
- * @param {Array} artifacts - Task/tool artifacts with relativePath
319
- * @returns {number} Count of commands written
320
- */
321
- async writeColonArtifacts(baseCommandsDir, artifacts) {
322
- let writtenCount = 0;
323
-
324
- for (const artifact of artifacts) {
325
- if (artifact.type === 'task' || artifact.type === 'tool') {
326
- const commandContent = this.generateCommandContent(artifact, artifact.type);
327
- // Use underscore format: bmad_module_name.md
328
- const flatName = toColonPath(artifact.relativePath);
329
- const commandPath = path.join(baseCommandsDir, flatName);
330
- await fs.ensureDir(path.dirname(commandPath));
331
- await fs.writeFile(commandPath, commandContent);
332
- writtenCount++;
333
- }
334
- }
335
-
336
- return writtenCount;
337
- }
338
-
339
- /**
340
- * Write task/tool artifacts using dash format (NEW STANDARD)
341
- * Creates flat files like: bmad-bmm-help.md
342
- *
343
- * Note: Tasks/tools do NOT have bmad-agent- prefix - only agents do.
344
- *
345
- * @param {string} baseCommandsDir - Base commands directory for the IDE
346
- * @param {Array} artifacts - Task/tool artifacts with relativePath
347
- * @returns {number} Count of commands written
348
- */
349
- async writeDashArtifacts(baseCommandsDir, artifacts) {
350
- let writtenCount = 0;
351
-
352
- for (const artifact of artifacts) {
353
- if (artifact.type === 'task' || artifact.type === 'tool') {
354
- const commandContent = this.generateCommandContent(artifact, artifact.type);
355
- // Use dash format: bmad-module-name.md
356
- const flatName = toDashPath(artifact.relativePath);
357
- const commandPath = path.join(baseCommandsDir, flatName);
358
- await fs.ensureDir(path.dirname(commandPath));
359
- await fs.writeFile(commandPath, commandContent);
360
- writtenCount++;
361
- }
362
- }
363
-
364
- return writtenCount;
365
- }
366
- }
367
-
368
- module.exports = { TaskToolCommandGenerator };
@@ -1,179 +0,0 @@
1
- const path = require('node:path');
2
- const fs = require('fs-extra');
3
- const csv = require('csv-parse/sync');
4
- const { BMAD_FOLDER_NAME } = require('./path-utils');
5
-
6
- /**
7
- * Generates command files for each workflow in the manifest
8
- */
9
- class WorkflowCommandGenerator {
10
- constructor(bmadFolderName = BMAD_FOLDER_NAME) {
11
- this.bmadFolderName = bmadFolderName;
12
- }
13
-
14
- async collectWorkflowArtifacts(bmadDir) {
15
- const workflows = await this.loadWorkflowManifest(bmadDir);
16
-
17
- if (!workflows) {
18
- return { artifacts: [], counts: { commands: 0, launchers: 0 } };
19
- }
20
-
21
- // ALL workflows now generate commands - no standalone filtering
22
- const allWorkflows = workflows;
23
-
24
- const artifacts = [];
25
-
26
- for (const workflow of allWorkflows) {
27
- // Calculate the relative workflow path (e.g., bmm/workflows/4-implementation/sprint-planning/workflow.md)
28
- let workflowRelPath = workflow.path || '';
29
- // Normalize path separators for cross-platform compatibility
30
- workflowRelPath = workflowRelPath.replaceAll('\\', '/');
31
- // Remove _bmad/ prefix if present to get relative path from project root
32
- // Handle both absolute paths (/path/to/_bmad/...) and relative paths (_bmad/...)
33
- if (workflowRelPath.includes('_bmad/')) {
34
- const parts = workflowRelPath.split(/_bmad\//);
35
- if (parts.length > 1) {
36
- workflowRelPath = parts.slice(1).join('/');
37
- }
38
- } else if (workflowRelPath.includes('/src/')) {
39
- // Normalize source paths (e.g. .../src/bmm/...) to relative module path (e.g. bmm/...)
40
- const match = workflowRelPath.match(/\/src\/([^/]+)\/(.+)/);
41
- if (match) {
42
- workflowRelPath = `${match[1]}/${match[2]}`;
43
- }
44
- }
45
- artifacts.push({
46
- type: 'workflow-command',
47
- name: workflow.name,
48
- description: workflow.description || `${workflow.name} workflow`,
49
- module: workflow.module,
50
- canonicalId: workflow.canonicalId || '',
51
- relativePath: path.join(workflow.module, 'workflows', `${workflow.name}.md`),
52
- workflowPath: workflowRelPath, // Relative path to actual workflow file
53
- sourcePath: workflow.path,
54
- });
55
- }
56
-
57
- const groupedWorkflows = this.groupWorkflowsByModule(allWorkflows);
58
- for (const [module, launcherContent] of Object.entries(this.buildModuleWorkflowLaunchers(groupedWorkflows))) {
59
- artifacts.push({
60
- type: 'workflow-launcher',
61
- module,
62
- relativePath: path.join(module, 'workflows', 'README.md'),
63
- content: launcherContent,
64
- sourcePath: null,
65
- });
66
- }
67
-
68
- return {
69
- artifacts,
70
- counts: {
71
- commands: allWorkflows.length,
72
- launchers: Object.keys(groupedWorkflows).length,
73
- },
74
- };
75
- }
76
-
77
- /**
78
- * Create workflow launcher files for each module
79
- */
80
- async createModuleWorkflowLaunchers(baseCommandsDir, workflowsByModule) {
81
- for (const [module, moduleWorkflows] of Object.entries(workflowsByModule)) {
82
- const content = this.buildLauncherContent(module, moduleWorkflows);
83
- const moduleWorkflowsDir = path.join(baseCommandsDir, module, 'workflows');
84
- await fs.ensureDir(moduleWorkflowsDir);
85
- const launcherPath = path.join(moduleWorkflowsDir, 'README.md');
86
- await fs.writeFile(launcherPath, content);
87
- }
88
- }
89
-
90
- groupWorkflowsByModule(workflows) {
91
- const workflowsByModule = {};
92
-
93
- for (const workflow of workflows) {
94
- if (!workflowsByModule[workflow.module]) {
95
- workflowsByModule[workflow.module] = [];
96
- }
97
-
98
- workflowsByModule[workflow.module].push({
99
- ...workflow,
100
- displayPath: this.transformWorkflowPath(workflow.path),
101
- });
102
- }
103
-
104
- return workflowsByModule;
105
- }
106
-
107
- buildModuleWorkflowLaunchers(groupedWorkflows) {
108
- const launchers = {};
109
-
110
- for (const [module, moduleWorkflows] of Object.entries(groupedWorkflows)) {
111
- launchers[module] = this.buildLauncherContent(module, moduleWorkflows);
112
- }
113
-
114
- return launchers;
115
- }
116
-
117
- buildLauncherContent(module, moduleWorkflows) {
118
- let content = `# ${module.toUpperCase()} Workflows
119
-
120
- ## Available Workflows in ${module}
121
-
122
- `;
123
-
124
- for (const workflow of moduleWorkflows) {
125
- content += `**${workflow.name}**\n`;
126
- content += `- Path: \`${workflow.displayPath}\`\n`;
127
- content += `- ${workflow.description}\n\n`;
128
- }
129
-
130
- content += `
131
- ## Execution
132
-
133
- When running any workflow:
134
- 1. LOAD the workflow.md file at the path shown above
135
- 2. READ its entire contents and follow its directions exactly
136
- 3. Save outputs after EACH section
137
-
138
- ## Modes
139
- - Normal: Full interaction
140
- - #yolo: Skip optional steps
141
- `;
142
-
143
- return content;
144
- }
145
-
146
- transformWorkflowPath(workflowPath) {
147
- let transformed = workflowPath;
148
-
149
- if (workflowPath.includes('/src/bmm/')) {
150
- const match = workflowPath.match(/\/src\/bmm\/(.+)/);
151
- if (match) {
152
- transformed = `{project-root}/${this.bmadFolderName}/bmm/${match[1]}`;
153
- }
154
- } else if (workflowPath.includes('/src/core/')) {
155
- const match = workflowPath.match(/\/src\/core\/(.+)/);
156
- if (match) {
157
- transformed = `{project-root}/${this.bmadFolderName}/core/${match[1]}`;
158
- }
159
- }
160
-
161
- return transformed;
162
- }
163
-
164
- async loadWorkflowManifest(bmadDir) {
165
- const manifestPath = path.join(bmadDir, '_config', 'workflow-manifest.csv');
166
-
167
- if (!(await fs.pathExists(manifestPath))) {
168
- return null;
169
- }
170
-
171
- const csvContent = await fs.readFile(manifestPath, 'utf8');
172
- return csv.parse(csvContent, {
173
- columns: true,
174
- skip_empty_lines: true,
175
- });
176
- }
177
- }
178
-
179
- module.exports = { WorkflowCommandGenerator };