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
@@ -2,22 +2,18 @@ const path = require('node:path');
2
2
  const fs = require('fs-extra');
3
3
  const yaml = require('yaml');
4
4
  const prompts = require('../../../lib/prompts');
5
- const { XmlHandler } = require('../../../lib/xml-handler');
6
5
  const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root');
7
- const { filterCustomizationData } = require('../../../lib/agent/compiler');
8
6
  const { ExternalModuleManager } = require('./external-manager');
9
7
  const { BMAD_FOLDER_NAME } = require('../ide/shared/path-utils');
10
8
 
11
9
  /**
12
10
  * Manages the installation, updating, and removal of BMAD modules.
13
- * Handles module discovery, dependency resolution, configuration processing,
14
- * and agent file management including XML activation block injection.
11
+ * Handles module discovery, dependency resolution, and configuration processing.
15
12
  *
16
13
  * @class ModuleManager
17
14
  * @requires fs-extra
18
15
  * @requires yaml
19
16
  * @requires prompts
20
- * @requires XmlHandler
21
17
  *
22
18
  * @example
23
19
  * const manager = new ModuleManager();
@@ -26,7 +22,6 @@ const { BMAD_FOLDER_NAME } = require('../ide/shared/path-utils');
26
22
  */
27
23
  class ModuleManager {
28
24
  constructor(options = {}) {
29
- this.xmlHandler = new XmlHandler();
30
25
  this.bmadFolderName = BMAD_FOLDER_NAME; // Default, can be overridden
31
26
  this.customModulePaths = new Map(); // Initialize custom module paths
32
27
  this.externalModuleManager = new ExternalModuleManager(); // For external official modules
@@ -88,106 +83,9 @@ class ModuleManager {
88
83
  }
89
84
  }
90
85
 
91
- /**
92
- * Copy sidecar directory to _bmad/_memory location with update-safe handling
93
- * @param {string} sourceSidecarPath - Source sidecar directory path
94
- * @param {string} agentName - Name of the agent (for naming)
95
- * @param {string} bmadMemoryPath - This should ALWAYS be _bmad/_memory
96
- * @param {boolean} isUpdate - Whether this is an update (default: false)
97
- * @param {string} bmadDir - BMAD installation directory
98
- * @param {Object} installer - Installer instance for file tracking
99
- */
100
- async copySidecarToMemory(sourceSidecarPath, agentName, bmadMemoryPath, isUpdate = false, bmadDir = null, installer = null) {
101
- const crypto = require('node:crypto');
102
- const sidecarTargetDir = path.join(bmadMemoryPath, `${agentName}-sidecar`);
103
-
104
- // Ensure target directory exists
105
- await fs.ensureDir(bmadMemoryPath);
106
- await fs.ensureDir(sidecarTargetDir);
107
-
108
- // Get existing files manifest for update checking
109
- let existingFilesManifest = [];
110
- if (isUpdate && installer) {
111
- existingFilesManifest = await installer.readFilesManifest(bmadDir);
112
- }
113
-
114
- // Build map of existing sidecar files with their hashes
115
- const existingSidecarFiles = new Map();
116
- for (const fileEntry of existingFilesManifest) {
117
- if (fileEntry.path && fileEntry.path.includes(`${agentName}-sidecar/`)) {
118
- existingSidecarFiles.set(fileEntry.path, fileEntry.hash);
119
- }
120
- }
121
-
122
- // Get all files in source sidecar
123
- const sourceFiles = await this.getFileList(sourceSidecarPath);
124
-
125
- for (const file of sourceFiles) {
126
- const sourceFilePath = path.join(sourceSidecarPath, file);
127
- const targetFilePath = path.join(sidecarTargetDir, file);
128
-
129
- // Calculate current source file hash
130
- const sourceHash = crypto
131
- .createHash('sha256')
132
- .update(await fs.readFile(sourceFilePath))
133
- .digest('hex');
134
-
135
- // Path relative to bmad directory
136
- const relativeToBmad = path.join('_memory', `${agentName}-sidecar`, file);
137
-
138
- if (isUpdate && (await fs.pathExists(targetFilePath))) {
139
- // Calculate current target file hash
140
- const currentTargetHash = crypto
141
- .createHash('sha256')
142
- .update(await fs.readFile(targetFilePath))
143
- .digest('hex');
144
-
145
- // Get the last known hash from files-manifest
146
- const lastKnownHash = existingSidecarFiles.get(relativeToBmad);
147
-
148
- if (lastKnownHash) {
149
- // We have a record of this file
150
- if (currentTargetHash === lastKnownHash) {
151
- // File hasn't been modified by user, safe to update
152
- await this.copyFileWithPlaceholderReplacement(sourceFilePath, targetFilePath, true);
153
- if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
154
- await prompts.log.message(` Updated sidecar file: ${relativeToBmad}`);
155
- }
156
- } else {
157
- // User has modified the file, preserve it
158
- if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
159
- await prompts.log.message(` Preserving user-modified file: ${relativeToBmad}`);
160
- }
161
- }
162
- } else {
163
- // First time seeing this file in manifest, copy it
164
- await this.copyFileWithPlaceholderReplacement(sourceFilePath, targetFilePath, true);
165
- if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
166
- await prompts.log.message(` Added new sidecar file: ${relativeToBmad}`);
167
- }
168
- }
169
- } else {
170
- // New installation
171
- await this.copyFileWithPlaceholderReplacement(sourceFilePath, targetFilePath, true);
172
- if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
173
- await prompts.log.message(` Copied sidecar file: ${relativeToBmad}`);
174
- }
175
- }
176
-
177
- // Track the file in the installer's file tracking system
178
- if (installer && installer.installedFiles) {
179
- installer.installedFiles.add(targetFilePath);
180
- }
181
- }
182
-
183
- // Return list of files that were processed
184
- const processedFiles = sourceFiles.map((file) => path.join('_memory', `${agentName}-sidecar`, file));
185
- return processedFiles;
186
- }
187
-
188
86
  /**
189
87
  * List all available modules (excluding core which is always installed)
190
- * bmm is the only built-in module, directly under src/bmm
88
+ * bmm is the only built-in module, directly under src/bmm-skills
191
89
  * All other modules come from external-official-modules.yaml
192
90
  * @returns {Object} Object with modules array and customModules array
193
91
  */
@@ -195,10 +93,10 @@ class ModuleManager {
195
93
  const modules = [];
196
94
  const customModules = [];
197
95
 
198
- // Add built-in bmm module (directly under src/bmm)
199
- const bmmPath = getSourcePath('bmm');
96
+ // Add built-in bmm module (directly under src/bmm-skills)
97
+ const bmmPath = getSourcePath('bmm-skills');
200
98
  if (await fs.pathExists(bmmPath)) {
201
- const bmmInfo = await this.getModuleInfo(bmmPath, 'bmm', 'src/bmm');
99
+ const bmmInfo = await this.getModuleInfo(bmmPath, 'bmm', 'src/bmm-skills');
202
100
  if (bmmInfo) {
203
101
  modules.push(bmmInfo);
204
102
  }
@@ -251,7 +149,8 @@ class ModuleManager {
251
149
  }
252
150
 
253
151
  // Mark as custom if it's using custom.yaml OR if it's outside src/bmm or src/core
254
- const isCustomSource = sourceDescription !== 'src/bmm' && sourceDescription !== 'src/core' && sourceDescription !== 'src/modules';
152
+ const isCustomSource =
153
+ sourceDescription !== 'src/bmm-skills' && sourceDescription !== 'src/core-skills' && sourceDescription !== 'src/modules';
255
154
  const moduleInfo = {
256
155
  id: defaultName,
257
156
  path: modulePath,
@@ -300,9 +199,9 @@ class ModuleManager {
300
199
  return this.customModulePaths.get(moduleCode);
301
200
  }
302
201
 
303
- // Check for built-in bmm module (directly under src/bmm)
202
+ // Check for built-in bmm module (directly under src/bmm-skills)
304
203
  if (moduleCode === 'bmm') {
305
- const bmmPath = getSourcePath('bmm');
204
+ const bmmPath = getSourcePath('bmm-skills');
306
205
  if (await fs.pathExists(bmmPath)) {
307
206
  return bmmPath;
308
207
  }
@@ -558,19 +457,9 @@ class ModuleManager {
558
457
  await fs.remove(targetPath);
559
458
  }
560
459
 
561
- // Vendor cross-module workflows BEFORE copying
562
- // This reads source agent.yaml files and copies referenced workflows
563
- await this.vendorCrossModuleWorkflows(sourcePath, targetPath, moduleName);
564
-
565
460
  // Copy module files with filtering
566
461
  await this.copyModuleWithFiltering(sourcePath, targetPath, fileTrackingCallback, options.moduleConfig);
567
462
 
568
- // Compile any .agent.yaml files to .md format
569
- await this.compileModuleAgents(sourcePath, targetPath, moduleName, bmadDir, options.installer);
570
-
571
- // Process agent files to inject activation block
572
- await this.processAgentFiles(targetPath, moduleName);
573
-
574
463
  // Create directories declared in module.yaml (unless explicitly skipped)
575
464
  if (!options.skipModuleInstaller) {
576
465
  await this.createModuleDirectories(moduleName, bmadDir, options);
@@ -623,10 +512,6 @@ class ModuleManager {
623
512
  } else {
624
513
  // Selective update - preserve user modifications
625
514
  await this.syncModule(sourcePath, targetPath);
626
-
627
- // Recompile agents (#1133)
628
- await this.compileModuleAgents(sourcePath, targetPath, moduleName, bmadDir, options.installer);
629
- await this.processAgentFiles(targetPath, moduleName);
630
515
  }
631
516
 
632
517
  return {
@@ -717,9 +602,7 @@ class ModuleManager {
717
602
  continue;
718
603
  }
719
604
 
720
- // Only skip sidecar directories - they are handled separately during agent compilation
721
- // But still allow other files in agent directories
722
- const isInAgentDirectory = file.startsWith('agents/');
605
+ // Skip sidecar directories - these contain agent-specific assets not needed at install time
723
606
  const isInSidecarDirectory = path
724
607
  .dirname(file)
725
608
  .split('/')
@@ -741,11 +624,6 @@ class ModuleManager {
741
624
  continue;
742
625
  }
743
626
 
744
- // Skip .agent.yaml files - they will be compiled separately
745
- if (file.endsWith('.agent.yaml')) {
746
- continue;
747
- }
748
-
749
627
  const sourceFile = path.join(sourcePath, file);
750
628
  const targetFile = path.join(targetPath, file);
751
629
 
@@ -772,236 +650,6 @@ class ModuleManager {
772
650
  }
773
651
  }
774
652
 
775
- /**
776
- * Compile .agent.yaml files to .md format in modules
777
- * @param {string} sourcePath - Source module path
778
- * @param {string} targetPath - Target module path
779
- * @param {string} moduleName - Module name
780
- * @param {string} bmadDir - BMAD installation directory
781
- * @param {Object} installer - Installer instance for file tracking
782
- */
783
- async compileModuleAgents(sourcePath, targetPath, moduleName, bmadDir, installer = null) {
784
- const sourceAgentsPath = path.join(sourcePath, 'agents');
785
- const targetAgentsPath = path.join(targetPath, 'agents');
786
- const cfgAgentsDir = path.join(bmadDir, '_config', 'agents');
787
-
788
- // Check if agents directory exists in source
789
- if (!(await fs.pathExists(sourceAgentsPath))) {
790
- return; // No agents to compile
791
- }
792
-
793
- // Get all agent YAML files recursively
794
- const agentFiles = await this.findAgentFiles(sourceAgentsPath);
795
-
796
- for (const agentFile of agentFiles) {
797
- if (!agentFile.endsWith('.agent.yaml')) continue;
798
-
799
- const relativePath = path.relative(sourceAgentsPath, agentFile).split(path.sep).join('/');
800
- const targetDir = path.join(targetAgentsPath, path.dirname(relativePath));
801
-
802
- await fs.ensureDir(targetDir);
803
-
804
- const agentName = path.basename(agentFile, '.agent.yaml');
805
- const sourceYamlPath = agentFile;
806
- const targetMdPath = path.join(targetDir, `${agentName}.md`);
807
- const customizePath = path.join(cfgAgentsDir, `${moduleName}-${agentName}.customize.yaml`);
808
-
809
- // Read and compile the YAML
810
- try {
811
- const yamlContent = await fs.readFile(sourceYamlPath, 'utf8');
812
- const { compileAgent } = require('../../../lib/agent/compiler');
813
-
814
- // Create customize template if it doesn't exist
815
- if (!(await fs.pathExists(customizePath))) {
816
- const { getSourcePath } = require('../../../lib/project-root');
817
- const genericTemplatePath = getSourcePath('utility', 'agent-components', 'agent.customize.template.yaml');
818
- if (await fs.pathExists(genericTemplatePath)) {
819
- await this.copyFileWithPlaceholderReplacement(genericTemplatePath, customizePath);
820
- // Only show customize creation in verbose mode
821
- if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
822
- await prompts.log.message(` Created customize: ${moduleName}-${agentName}.customize.yaml`);
823
- }
824
-
825
- // Store original hash for modification detection
826
- const crypto = require('node:crypto');
827
- const customizeContent = await fs.readFile(customizePath, 'utf8');
828
- const originalHash = crypto.createHash('sha256').update(customizeContent).digest('hex');
829
-
830
- // Store in main manifest
831
- const manifestPath = path.join(bmadDir, '_config', 'manifest.yaml');
832
- let manifestData = {};
833
- if (await fs.pathExists(manifestPath)) {
834
- const manifestContent = await fs.readFile(manifestPath, 'utf8');
835
- const yaml = require('yaml');
836
- manifestData = yaml.parse(manifestContent);
837
- }
838
- if (!manifestData.agentCustomizations) {
839
- manifestData.agentCustomizations = {};
840
- }
841
- manifestData.agentCustomizations[path.relative(bmadDir, customizePath)] = originalHash;
842
-
843
- // Write back to manifest
844
- const yaml = require('yaml');
845
- // Clean the manifest data to remove any non-serializable values
846
- const cleanManifestData = structuredClone(manifestData);
847
-
848
- const updatedContent = yaml.stringify(cleanManifestData, {
849
- indent: 2,
850
- lineWidth: 0,
851
- });
852
- await fs.writeFile(manifestPath, updatedContent, 'utf8');
853
- }
854
- }
855
-
856
- // Check for customizations and build answers object
857
- let customizedFields = [];
858
- let answers = {};
859
- if (await fs.pathExists(customizePath)) {
860
- const customizeContent = await fs.readFile(customizePath, 'utf8');
861
- const customizeData = yaml.parse(customizeContent);
862
- customizedFields = customizeData.customized_fields || [];
863
-
864
- // Build answers object from customizations
865
- if (customizeData.persona) {
866
- answers.persona = customizeData.persona;
867
- }
868
- if (customizeData.agent?.metadata) {
869
- const filteredMetadata = filterCustomizationData(customizeData.agent.metadata);
870
- if (Object.keys(filteredMetadata).length > 0) {
871
- Object.assign(answers, { metadata: filteredMetadata });
872
- }
873
- }
874
- if (customizeData.critical_actions && customizeData.critical_actions.length > 0) {
875
- answers.critical_actions = customizeData.critical_actions;
876
- }
877
- if (customizeData.memories && customizeData.memories.length > 0) {
878
- answers.memories = customizeData.memories;
879
- }
880
- if (customizeData.menu && customizeData.menu.length > 0) {
881
- answers.menu = customizeData.menu;
882
- }
883
- if (customizeData.prompts && customizeData.prompts.length > 0) {
884
- answers.prompts = customizeData.prompts;
885
- }
886
- }
887
-
888
- // Check if agent has sidecar
889
- let hasSidecar = false;
890
- try {
891
- const agentYaml = yaml.parse(yamlContent);
892
- hasSidecar = agentYaml?.agent?.metadata?.hasSidecar === true;
893
- } catch {
894
- // Continue without sidecar processing
895
- }
896
-
897
- // Compile with customizations if any
898
- const { xml } = await compileAgent(yamlContent, answers, agentName, relativePath, { config: this.coreConfig || {} });
899
-
900
- // Write the compiled agent
901
- await fs.writeFile(targetMdPath, xml, 'utf8');
902
-
903
- // Handle sidecar copying if present
904
- if (hasSidecar) {
905
- // Get the agent's directory to look for sidecar
906
- const agentDir = path.dirname(agentFile);
907
- const sidecarDirName = `${agentName}-sidecar`;
908
- const sourceSidecarPath = path.join(agentDir, sidecarDirName);
909
-
910
- // Check if sidecar directory exists
911
- if (await fs.pathExists(sourceSidecarPath)) {
912
- // Memory is always in _bmad/_memory
913
- const bmadMemoryPath = path.join(bmadDir, '_memory');
914
-
915
- // Determine if this is an update (by checking if agent already exists)
916
- const isUpdate = await fs.pathExists(targetMdPath);
917
-
918
- // Copy sidecar to memory location with update-safe handling
919
- const copiedFiles = await this.copySidecarToMemory(sourceSidecarPath, agentName, bmadMemoryPath, isUpdate, bmadDir, installer);
920
-
921
- if (process.env.BMAD_VERBOSE_INSTALL === 'true' && copiedFiles.length > 0) {
922
- await prompts.log.message(` Sidecar files processed: ${copiedFiles.length} files`);
923
- }
924
- } else if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
925
- await prompts.log.warn(` Agent marked as having sidecar but ${sidecarDirName} directory not found`);
926
- }
927
- }
928
-
929
- // Copy any non-sidecar files from agent directory (e.g., foo.md)
930
- const agentDir = path.dirname(agentFile);
931
- const agentEntries = await fs.readdir(agentDir, { withFileTypes: true });
932
-
933
- for (const entry of agentEntries) {
934
- if (entry.isFile() && !entry.name.endsWith('.agent.yaml') && !entry.name.endsWith('.md')) {
935
- // Copy additional files (like foo.md) to the agent target directory
936
- const sourceFile = path.join(agentDir, entry.name);
937
- const targetFile = path.join(targetDir, entry.name);
938
- await this.copyFileWithPlaceholderReplacement(sourceFile, targetFile);
939
- }
940
- }
941
-
942
- // Only show compilation details in verbose mode
943
- if (process.env.BMAD_VERBOSE_INSTALL === 'true') {
944
- await prompts.log.message(
945
- ` Compiled agent: ${agentName} -> ${path.relative(targetPath, targetMdPath)}${hasSidecar ? ' (with sidecar)' : ''}`,
946
- );
947
- }
948
- } catch (error) {
949
- await prompts.log.warn(` Failed to compile agent ${agentName}: ${error.message}`);
950
- }
951
- }
952
- }
953
-
954
- /**
955
- * Find all .agent.yaml files recursively in a directory
956
- * @param {string} dir - Directory to search
957
- * @returns {Array} List of .agent.yaml file paths
958
- */
959
- async findAgentFiles(dir) {
960
- const agentFiles = [];
961
-
962
- async function searchDirectory(searchDir) {
963
- const entries = await fs.readdir(searchDir, { withFileTypes: true });
964
-
965
- for (const entry of entries) {
966
- const fullPath = path.join(searchDir, entry.name);
967
-
968
- if (entry.isFile() && entry.name.endsWith('.agent.yaml')) {
969
- agentFiles.push(fullPath);
970
- } else if (entry.isDirectory()) {
971
- await searchDirectory(fullPath);
972
- }
973
- }
974
- }
975
-
976
- await searchDirectory(dir);
977
- return agentFiles;
978
- }
979
-
980
- /**
981
- * Process agent files to inject activation block
982
- * @param {string} modulePath - Path to installed module
983
- * @param {string} moduleName - Module name
984
- */
985
- async processAgentFiles(modulePath, moduleName) {
986
- // const agentsPath = path.join(modulePath, 'agents');
987
- // // Check if agents directory exists
988
- // if (!(await fs.pathExists(agentsPath))) {
989
- // return; // No agents to process
990
- // }
991
- // // Get all agent MD files recursively
992
- // const agentFiles = await this.findAgentMdFiles(agentsPath);
993
- // for (const agentFile of agentFiles) {
994
- // if (!agentFile.endsWith('.md')) continue;
995
- // let content = await fs.readFile(agentFile, 'utf8');
996
- // // Check if content has agent XML and no activation block
997
- // if (content.includes('<agent') && !content.includes('<activation')) {
998
- // // Inject the activation block using XML handler
999
- // content = this.xmlHandler.injectActivationSimple(content);
1000
- // await fs.writeFile(agentFile, content, 'utf8');
1001
- // }
1002
- // }
1003
- }
1004
-
1005
653
  /**
1006
654
  * Find all .md agent files recursively in a directory
1007
655
  * @param {string} dir - Directory to search
@@ -1028,101 +676,6 @@ class ModuleManager {
1028
676
  return agentFiles;
1029
677
  }
1030
678
 
1031
- /**
1032
- * Vendor cross-module workflows referenced in agent files
1033
- * Scans SOURCE agent.yaml files for workflow-install and copies workflows to destination
1034
- * @param {string} sourcePath - Source module path
1035
- * @param {string} targetPath - Target module path (destination)
1036
- * @param {string} moduleName - Module name being installed
1037
- */
1038
- async vendorCrossModuleWorkflows(sourcePath, targetPath, moduleName) {
1039
- const sourceAgentsPath = path.join(sourcePath, 'agents');
1040
-
1041
- // Check if source agents directory exists
1042
- if (!(await fs.pathExists(sourceAgentsPath))) {
1043
- return; // No agents to process
1044
- }
1045
-
1046
- // Get all agent YAML files from source
1047
- const agentFiles = await fs.readdir(sourceAgentsPath);
1048
- const yamlFiles = agentFiles.filter((f) => f.endsWith('.agent.yaml') || f.endsWith('.yaml'));
1049
-
1050
- if (yamlFiles.length === 0) {
1051
- return; // No YAML agent files
1052
- }
1053
-
1054
- let workflowsVendored = false;
1055
-
1056
- for (const agentFile of yamlFiles) {
1057
- const agentPath = path.join(sourceAgentsPath, agentFile);
1058
- const agentYaml = yaml.parse(await fs.readFile(agentPath, 'utf8'));
1059
-
1060
- // Check if agent has menu items with workflow-install
1061
- const menuItems = agentYaml?.agent?.menu || [];
1062
- const workflowInstallItems = menuItems.filter((item) => item['workflow-install']);
1063
-
1064
- if (workflowInstallItems.length === 0) {
1065
- continue; // No workflow-install in this agent
1066
- }
1067
-
1068
- if (!workflowsVendored) {
1069
- await prompts.log.info(`\n Vendoring cross-module workflows for ${moduleName}...`);
1070
- workflowsVendored = true;
1071
- }
1072
-
1073
- await prompts.log.message(` Processing: ${agentFile}`);
1074
-
1075
- for (const item of workflowInstallItems) {
1076
- const sourceWorkflowPath = item.exec; // Where to copy FROM
1077
- const installWorkflowPath = item['workflow-install']; // Where to copy TO
1078
-
1079
- // Parse SOURCE workflow path
1080
- // Example: {project-root}/_bmad/bmm/workflows/4-implementation/bmad-create-story/workflow.md
1081
- const sourceMatch = sourceWorkflowPath.match(/\{project-root\}\/(?:_bmad)\/([^/]+)\/workflows\/(.+)/);
1082
- if (!sourceMatch) {
1083
- await prompts.log.warn(` Could not parse workflow path: ${sourceWorkflowPath}`);
1084
- continue;
1085
- }
1086
-
1087
- const [, sourceModule, sourceWorkflowSubPath] = sourceMatch;
1088
-
1089
- // Parse INSTALL workflow path
1090
- // Example: {project-root}/_bmad/bmgd/workflows/4-production/create-story/workflow.md
1091
- const installMatch = installWorkflowPath.match(/\{project-root\}\/(?:_bmad)\/([^/]+)\/workflows\/(.+)/);
1092
- if (!installMatch) {
1093
- await prompts.log.warn(` Could not parse workflow-install path: ${installWorkflowPath}`);
1094
- continue;
1095
- }
1096
-
1097
- const installWorkflowSubPath = installMatch[2];
1098
-
1099
- const sourceModulePath = getModulePath(sourceModule);
1100
- const actualSourceWorkflowPath = path.join(sourceModulePath, 'workflows', sourceWorkflowSubPath.replace(/\/workflow\.md$/, ''));
1101
-
1102
- const actualDestWorkflowPath = path.join(targetPath, 'workflows', installWorkflowSubPath.replace(/\/workflow\.md$/, ''));
1103
-
1104
- // Check if source workflow exists
1105
- if (!(await fs.pathExists(actualSourceWorkflowPath))) {
1106
- await prompts.log.warn(` Source workflow not found: ${actualSourceWorkflowPath}`);
1107
- continue;
1108
- }
1109
-
1110
- // Copy the entire workflow folder
1111
- await prompts.log.message(
1112
- ` Vendoring: ${sourceModule}/workflows/${sourceWorkflowSubPath.replace(/\/workflow\.md$/, '')} → ${moduleName}/workflows/${installWorkflowSubPath.replace(/\/workflow\.md$/, '')}`,
1113
- );
1114
-
1115
- await fs.ensureDir(path.dirname(actualDestWorkflowPath));
1116
- // Copy the workflow directory recursively with placeholder replacement
1117
- await this.copyDirectoryWithPlaceholderReplacement(actualSourceWorkflowPath, actualDestWorkflowPath);
1118
- }
1119
- }
1120
-
1121
- if (workflowsVendored) {
1122
- await prompts.log.success(` Workflow vendoring complete\n`);
1123
- }
1124
- }
1125
-
1126
679
  /**
1127
680
  * Create directories declared in module.yaml's `directories` key
1128
681
  * This replaces the security-risky module installer pattern with declarative config
@@ -1141,10 +694,10 @@ class ModuleManager {
1141
694
  const projectRoot = path.dirname(bmadDir);
1142
695
  const emptyResult = { createdDirs: [], movedDirs: [], createdWdsFolders: [] };
1143
696
 
1144
- // Special handling for core module - it's in src/core not src/modules
697
+ // Special handling for core module - it's in src/core-skills not src/modules
1145
698
  let sourcePath;
1146
699
  if (moduleName === 'core') {
1147
- sourcePath = getSourcePath('core');
700
+ sourcePath = getSourcePath('core-skills');
1148
701
  } else {
1149
702
  sourcePath = await this.findModuleSource(moduleName, { silent: true });
1150
703
  if (!sourcePath) {
@@ -16,7 +16,7 @@ function findProjectRoot(startPath = __dirname) {
16
16
  try {
17
17
  const pkg = fs.readJsonSync(packagePath);
18
18
  // Check if this is the BMAD project
19
- if (pkg.name === 'bmad-method' || fs.existsSync(path.join(currentPath, 'src', 'core'))) {
19
+ if (pkg.name === 'bmad-method' || fs.existsSync(path.join(currentPath, 'src', 'core-skills'))) {
20
20
  return currentPath;
21
21
  }
22
22
  } catch {
@@ -24,8 +24,8 @@ function findProjectRoot(startPath = __dirname) {
24
24
  }
25
25
  }
26
26
 
27
- // Also check for src/core as a marker
28
- if (fs.existsSync(path.join(currentPath, 'src', 'core', 'agents'))) {
27
+ // Also check for src/core-skills as a marker
28
+ if (fs.existsSync(path.join(currentPath, 'src', 'core-skills', 'agents'))) {
29
29
  return currentPath;
30
30
  }
31
31
 
@@ -61,10 +61,10 @@ function getSourcePath(...segments) {
61
61
  */
62
62
  function getModulePath(moduleName, ...segments) {
63
63
  if (moduleName === 'core') {
64
- return getSourcePath('core', ...segments);
64
+ return getSourcePath('core-skills', ...segments);
65
65
  }
66
66
  if (moduleName === 'bmm') {
67
- return getSourcePath('bmm', ...segments);
67
+ return getSourcePath('bmm-skills', ...segments);
68
68
  }
69
69
  return getSourcePath('modules', moduleName, ...segments);
70
70
  }
@@ -208,14 +208,6 @@ class UI {
208
208
  });
209
209
  }
210
210
 
211
- // Add custom agent compilation option
212
- if (installedVersion !== 'unknown') {
213
- choices.push({
214
- name: 'Recompile Agents (apply customizations only)',
215
- value: 'compile-agents',
216
- });
217
- }
218
-
219
211
  // Common actions
220
212
  choices.push({ name: 'Modify BMAD Installation', value: 'update' });
221
213
 
@@ -291,17 +283,6 @@ class UI {
291
283
  };
292
284
  }
293
285
 
294
- // Handle compile agents separately
295
- if (actionType === 'compile-agents') {
296
- // Only recompile agents with customizations, don't update any files
297
- return {
298
- actionType: 'compile-agents',
299
- directory: confirmedDirectory,
300
- customContent: { hasCustomContent: false },
301
- skipPrompts: options.yes || false,
302
- };
303
- }
304
-
305
286
  // If actionType === 'update', handle it with the new flow
306
287
  // Return early with modify configuration
307
288
  if (actionType === 'update') {