bmad-method 6.0.0-alpha.7 → 6.0.0-alpha.9

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 (457) hide show
  1. package/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
  2. package/.github/workflows/bundle-latest.yaml +277 -0
  3. package/.github/workflows/manual-release.yaml +55 -16
  4. package/.vscode/settings.json +2 -1
  5. package/CHANGELOG.md +439 -1
  6. package/README.md +12 -4
  7. package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  8. package/docs/agent-customization-guide.md +208 -0
  9. package/docs/ide-info/crush.md +1 -1
  10. package/docs/ide-info/cursor.md +7 -7
  11. package/docs/ide-info/iflow.md +3 -3
  12. package/docs/ide-info/opencode.md +1 -1
  13. package/docs/index.md +3 -1
  14. package/docs/installers-bundlers/ide-injections.md +2 -2
  15. package/docs/installers-bundlers/installers-modules-platforms-reference.md +23 -23
  16. package/docs/v4-to-v6-upgrade.md +12 -12
  17. package/docs/web-bundles-gemini-gpt-guide.md +473 -0
  18. package/package.json +1 -1
  19. package/src/core/_module-installer/install-config.yaml +17 -10
  20. package/src/core/_module-installer/installer.js +0 -8
  21. package/src/core/agents/bmad-master.agent.yaml +5 -5
  22. package/src/core/agents/bmad-web-orchestrator.agent.xml +8 -17
  23. package/src/core/tasks/{adv-elicit.xml → advanced-elicitation.xml} +6 -4
  24. package/src/core/tasks/index-docs.xml +1 -1
  25. package/src/core/tasks/validate-workflow.xml +1 -1
  26. package/src/core/tasks/workflow.xml +125 -11
  27. package/src/core/tools/shard-doc.xml +45 -1
  28. package/src/core/workflows/brainstorming/README.md +6 -16
  29. package/src/core/workflows/brainstorming/instructions.md +6 -5
  30. package/src/core/workflows/brainstorming/template.md +4 -0
  31. package/src/core/workflows/brainstorming/workflow.yaml +8 -8
  32. package/src/core/workflows/party-mode/instructions.md +2 -7
  33. package/src/core/workflows/party-mode/workflow.yaml +10 -6
  34. package/src/modules/bmb/_module-installer/install-config.yaml +9 -4
  35. package/src/modules/bmb/agents/bmad-builder.agent.yaml +11 -10
  36. package/src/modules/bmb/workflows/audit-workflow/checklist.md +5 -6
  37. package/src/modules/bmb/workflows/audit-workflow/instructions.md +5 -5
  38. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +2 -2
  39. package/src/modules/bmb/workflows/convert-legacy/README.md +5 -5
  40. package/src/modules/bmb/workflows/convert-legacy/checklist.md +2 -2
  41. package/src/modules/bmb/workflows/convert-legacy/instructions.md +17 -17
  42. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +6 -6
  43. package/src/modules/bmb/workflows/create-agent/README.md +5 -5
  44. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +15 -19
  45. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +28 -28
  46. package/src/modules/bmb/workflows/create-agent/agent-types.md +15 -15
  47. package/src/modules/bmb/workflows/create-agent/checklist.md +3 -3
  48. package/src/modules/bmb/workflows/create-agent/instructions.md +24 -27
  49. package/src/modules/bmb/workflows/create-agent/workflow.yaml +12 -12
  50. package/src/modules/bmb/workflows/create-module/README.md +1 -1
  51. package/src/modules/bmb/workflows/create-module/checklist.md +1 -10
  52. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
  53. package/src/modules/bmb/workflows/create-module/instructions.md +12 -17
  54. package/src/modules/bmb/workflows/create-module/module-structure.md +7 -7
  55. package/src/modules/bmb/workflows/create-module/workflow.yaml +9 -9
  56. package/src/modules/bmb/workflows/create-workflow/README.md +4 -4
  57. package/src/modules/bmb/workflows/create-workflow/checklist.md +1 -1
  58. package/src/modules/bmb/workflows/create-workflow/instructions.md +29 -29
  59. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +40 -42
  60. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +2 -2
  61. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +12 -12
  62. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +5 -5
  63. package/src/modules/bmb/workflows/edit-agent/checklist.md +1 -1
  64. package/src/modules/bmb/workflows/edit-agent/instructions.md +2 -2
  65. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +8 -8
  66. package/src/modules/bmb/workflows/edit-module/README.md +2 -2
  67. package/src/modules/bmb/workflows/edit-module/checklist.md +2 -2
  68. package/src/modules/bmb/workflows/edit-module/instructions.md +4 -4
  69. package/src/modules/bmb/workflows/edit-module/workflow.yaml +10 -10
  70. package/src/modules/bmb/workflows/edit-workflow/instructions.md +4 -4
  71. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +5 -5
  72. package/src/modules/bmb/workflows/module-brief/README.md +2 -2
  73. package/src/modules/bmb/workflows/module-brief/checklist.md +2 -2
  74. package/src/modules/bmb/workflows/module-brief/instructions.md +2 -2
  75. package/src/modules/bmb/workflows/module-brief/workflow.yaml +4 -4
  76. package/src/modules/bmb/workflows/redoc/README.md +5 -5
  77. package/src/modules/bmb/workflows/redoc/instructions.md +1 -1
  78. package/src/modules/bmb/workflows/redoc/workflow.yaml +1 -1
  79. package/src/modules/bmgd/README.md +1 -1
  80. package/src/modules/bmgd/_module-installer/install-config.yaml +12 -24
  81. package/src/modules/bmgd/agents/game-architect.agent.yaml +15 -10
  82. package/src/modules/bmgd/agents/game-designer.agent.yaml +16 -11
  83. package/src/modules/bmgd/agents/game-dev.agent.yaml +18 -12
  84. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +30 -25
  85. package/src/modules/bmgd/teams/default-party.csv +10 -0
  86. package/src/modules/bmgd/teams/team-gamedev.yaml +2 -0
  87. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +1 -1
  88. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +9 -9
  89. package/src/modules/bmgd/workflows/1-preproduction/game-brief/instructions.md +1 -1
  90. package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +8 -8
  91. package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +5 -10
  92. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +30 -30
  93. package/src/modules/bmgd/workflows/2-design/narrative/instructions-narrative.md +1 -6
  94. package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +5 -5
  95. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +0 -26
  96. package/src/modules/bmgd/workflows/3-technical/game-architecture/checklist.md +2 -6
  97. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +2 -7
  98. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +2 -2
  99. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +25 -47
  100. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +13 -32
  101. package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
  102. package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +7 -2
  103. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +32 -25
  104. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +20 -47
  105. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +16 -24
  106. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +8 -3
  107. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +30 -5
  108. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +1 -1
  109. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +10 -35
  110. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +16 -24
  111. package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +18 -36
  112. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +16 -37
  113. package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +11 -15
  114. package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +1 -1
  115. package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +8 -7
  116. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +1 -1
  117. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +1 -1
  118. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +20 -45
  119. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +15 -17
  120. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +1 -1
  121. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +5 -4
  122. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +6 -6
  123. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +5 -7
  124. package/src/modules/bmm/_module-installer/install-config.yaml +9 -28
  125. package/src/modules/bmm/_module-installer/installer.js +2 -2
  126. package/src/modules/bmm/agents/analyst.agent.yaml +20 -15
  127. package/src/modules/bmm/agents/architect.agent.yaml +17 -12
  128. package/src/modules/bmm/agents/dev.agent.yaml +9 -12
  129. package/src/modules/bmm/agents/pm.agent.yaml +24 -23
  130. package/src/modules/bmm/agents/sm.agent.yaml +24 -19
  131. package/src/modules/bmm/agents/tea.agent.yaml +23 -17
  132. package/src/modules/bmm/agents/tech-writer.agent.yaml +15 -11
  133. package/src/modules/bmm/agents/ux-designer.agent.yaml +16 -11
  134. package/src/modules/bmm/docs/agents-guide.md +4 -4
  135. package/src/modules/bmm/docs/brownfield-guide.md +4 -4
  136. package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
  137. package/src/modules/bmm/docs/faq.md +1 -1
  138. package/src/modules/bmm/docs/party-mode.md +3 -3
  139. package/src/modules/bmm/docs/quick-start.md +1 -1
  140. package/src/modules/bmm/docs/test-architecture.md +1 -1
  141. package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
  142. package/src/modules/bmm/teams/default-party.csv +19 -0
  143. package/src/modules/bmm/teams/team-fullstack.yaml +1 -0
  144. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +1 -1
  145. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +8 -8
  146. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +1 -1
  147. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +8 -21
  148. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +10 -12
  149. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +13 -9
  150. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +2 -2
  151. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +2 -2
  152. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +2 -2
  153. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +1 -3
  154. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +2 -7
  155. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +1 -1
  156. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +1 -6
  157. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +14 -14
  158. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +7 -2
  159. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +16 -10
  160. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +8 -12
  161. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md +28 -0
  162. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +146 -23
  163. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +7 -9
  164. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +152 -35
  165. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +2 -2
  166. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +20 -16
  167. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +12 -9
  168. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -6
  169. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +434 -0
  170. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +129 -266
  171. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +15 -37
  172. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -26
  173. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +3 -7
  174. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +30 -38
  175. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +25 -43
  176. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +7 -13
  177. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +57 -60
  178. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +12 -12
  179. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +25 -47
  180. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +13 -32
  181. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
  182. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +7 -2
  183. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +32 -25
  184. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +20 -47
  185. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +16 -24
  186. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +8 -3
  187. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +30 -5
  188. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +1 -1
  189. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +10 -35
  190. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +16 -24
  191. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +18 -36
  192. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +16 -37
  193. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +11 -15
  194. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -1
  195. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +8 -7
  196. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +1 -1
  197. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +1 -1
  198. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +20 -45
  199. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +15 -17
  200. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
  201. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +5 -4
  202. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +6 -6
  203. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +5 -7
  204. package/src/modules/bmm/workflows/document-project/checklist.md +1 -1
  205. package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
  206. package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -2
  207. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +4 -4
  208. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
  209. package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +13 -13
  210. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
  211. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
  212. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -2
  213. package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
  214. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -2
  215. package/src/modules/bmm/workflows/testarch/ci/checklist.md +4 -4
  216. package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
  217. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -2
  218. package/src/modules/bmm/workflows/testarch/framework/checklist.md +4 -4
  219. package/src/modules/bmm/workflows/testarch/framework/instructions.md +2 -2
  220. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -2
  221. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
  222. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -2
  223. package/src/modules/bmm/workflows/testarch/test-design/checklist.md +4 -4
  224. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +175 -14
  225. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +4 -4
  226. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +7 -3
  227. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
  228. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -2
  229. package/src/modules/bmm/workflows/testarch/trace/instructions.md +9 -9
  230. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -2
  231. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +33 -31
  232. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +5 -4
  233. package/src/modules/bmm/workflows/workflow-status/instructions.md +5 -4
  234. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +9 -16
  235. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +11 -18
  236. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +8 -1
  237. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +9 -2
  238. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
  239. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +2 -9
  240. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +2 -2
  241. package/src/modules/cis/README.md +1 -1
  242. package/src/modules/cis/_module-installer/install-config.yaml +6 -4
  243. package/src/modules/cis/agents/README.md +1 -1
  244. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +13 -8
  245. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +13 -8
  246. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +13 -8
  247. package/src/modules/cis/agents/innovation-strategist.agent.yaml +13 -8
  248. package/src/modules/cis/agents/storyteller.agent.yaml +13 -8
  249. package/src/modules/cis/teams/creative-squad.yaml +1 -0
  250. package/src/modules/cis/teams/default-party.csv +11 -0
  251. package/src/modules/cis/workflows/README.md +1 -1
  252. package/src/modules/cis/workflows/design-thinking/instructions.md +2 -2
  253. package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -7
  254. package/src/modules/cis/workflows/innovation-strategy/instructions.md +2 -2
  255. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -7
  256. package/src/modules/cis/workflows/problem-solving/instructions.md +2 -2
  257. package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -7
  258. package/src/modules/cis/workflows/storytelling/instructions.md +2 -2
  259. package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -7
  260. package/src/utility/models/action-command-header.md +0 -0
  261. package/src/utility/models/agent-activation-ide.xml +3 -3
  262. package/src/utility/models/agent-activation-web.xml +4 -4
  263. package/src/utility/models/agent-command-header.md +1 -0
  264. package/src/utility/models/fragments/activation-steps.xml +3 -2
  265. package/src/utility/models/fragments/handler-validate-workflow.xml +1 -1
  266. package/src/utility/models/fragments/handler-workflow.xml +1 -1
  267. package/src/utility/models/fragments/web-bundle-activation-steps.xml +3 -3
  268. package/tools/cli/README.md +50 -32
  269. package/tools/cli/bundlers/web-bundler.js +86 -17
  270. package/tools/cli/commands/install.js +1 -4
  271. package/tools/cli/installers/lib/core/config-collector.js +201 -28
  272. package/tools/cli/installers/lib/core/detector.js +62 -7
  273. package/tools/cli/installers/lib/core/installer.js +175 -33
  274. package/tools/cli/installers/lib/core/manifest-generator.js +26 -115
  275. package/tools/cli/installers/lib/ide/_base-ide.js +57 -3
  276. package/tools/cli/installers/lib/ide/auggie.js +78 -224
  277. package/tools/cli/installers/lib/ide/claude-code.js +14 -22
  278. package/tools/cli/installers/lib/ide/cline.js +15 -18
  279. package/tools/cli/installers/lib/ide/codex.js +17 -48
  280. package/tools/cli/installers/lib/ide/crush.js +14 -50
  281. package/tools/cli/installers/lib/ide/cursor.js +51 -8
  282. package/tools/cli/installers/lib/ide/gemini.js +87 -37
  283. package/tools/cli/installers/lib/ide/github-copilot.js +47 -35
  284. package/tools/cli/installers/lib/ide/iflow.js +13 -30
  285. package/tools/cli/installers/lib/ide/kilo.js +20 -16
  286. package/tools/cli/installers/lib/ide/manager.js +15 -0
  287. package/tools/cli/installers/lib/ide/opencode.js +16 -17
  288. package/tools/cli/installers/lib/ide/qwen.js +39 -11
  289. package/tools/cli/installers/lib/ide/roo.js +27 -62
  290. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +90 -0
  291. package/tools/cli/installers/lib/ide/{task-tool-command-generator.js → shared/task-tool-command-generator.js} +1 -1
  292. package/tools/cli/installers/lib/ide/{workflow-command-generator.js → shared/workflow-command-generator.js} +11 -9
  293. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  294. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  295. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  296. package/tools/cli/installers/lib/ide/{workflow-command-template.md → templates/workflow-command-template.md} +3 -5
  297. package/tools/cli/installers/lib/ide/trae.js +20 -32
  298. package/tools/cli/installers/lib/ide/windsurf.js +18 -8
  299. package/tools/cli/installers/lib/modules/manager.js +89 -17
  300. package/tools/cli/lib/cli-utils.js +52 -50
  301. package/tools/cli/lib/ui.js +29 -12
  302. package/tools/cli/lib/yaml-xml-builder.js +20 -2
  303. package/tools/schema/agent.js +7 -3
  304. package/.claude/commands/bmad/bmb/agents/bmad-builder.md +0 -70
  305. package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +0 -15
  306. package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +0 -15
  307. package/.claude/commands/bmad/bmb/workflows/create-agent.md +0 -15
  308. package/.claude/commands/bmad/bmb/workflows/create-module.md +0 -15
  309. package/.claude/commands/bmad/bmb/workflows/create-workflow.md +0 -15
  310. package/.claude/commands/bmad/bmb/workflows/edit-agent.md +0 -15
  311. package/.claude/commands/bmad/bmb/workflows/edit-module.md +0 -15
  312. package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +0 -15
  313. package/.claude/commands/bmad/bmb/workflows/module-brief.md +0 -15
  314. package/.claude/commands/bmad/bmb/workflows/redoc.md +0 -15
  315. package/.claude/commands/bmad/core/agents/bmad-master.md +0 -71
  316. package/.claude/commands/bmad/core/tasks/index-docs.md +0 -9
  317. package/.claude/commands/bmad/core/tools/shard-doc.md +0 -9
  318. package/.claude/commands/bmad/core/workflows/brainstorming.md +0 -15
  319. package/.claude/commands/bmad/core/workflows/party-mode.md +0 -15
  320. package/.claude/settings.local.json +0 -22
  321. package/bmad/_cfg/agent-manifest.csv +0 -5
  322. package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +0 -42
  323. package/bmad/_cfg/agents/core-bmad-master.customize.yaml +0 -42
  324. package/bmad/_cfg/files-manifest.csv +0 -82
  325. package/bmad/_cfg/ides/claude-code.yaml +0 -6
  326. package/bmad/_cfg/manifest.yaml +0 -11
  327. package/bmad/_cfg/task-manifest.csv +0 -13
  328. package/bmad/_cfg/tool-manifest.csv +0 -4
  329. package/bmad/_cfg/workflow-manifest.csv +0 -17
  330. package/bmad/bmb/README.md +0 -194
  331. package/bmad/bmb/agents/bmad-builder.md +0 -70
  332. package/bmad/bmb/config.yaml +0 -14
  333. package/bmad/bmb/workflows/audit-workflow/checklist.md +0 -143
  334. package/bmad/bmb/workflows/audit-workflow/instructions.md +0 -341
  335. package/bmad/bmb/workflows/audit-workflow/template.md +0 -118
  336. package/bmad/bmb/workflows/audit-workflow/workflow.yaml +0 -23
  337. package/bmad/bmb/workflows/convert-legacy/README.md +0 -262
  338. package/bmad/bmb/workflows/convert-legacy/checklist.md +0 -205
  339. package/bmad/bmb/workflows/convert-legacy/instructions.md +0 -377
  340. package/bmad/bmb/workflows/convert-legacy/workflow.yaml +0 -32
  341. package/bmad/bmb/workflows/create-agent/README.md +0 -203
  342. package/bmad/bmb/workflows/create-agent/agent-architecture.md +0 -419
  343. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  344. package/bmad/bmb/workflows/create-agent/agent-types.md +0 -292
  345. package/bmad/bmb/workflows/create-agent/brainstorm-context.md +0 -174
  346. package/bmad/bmb/workflows/create-agent/checklist.md +0 -62
  347. package/bmad/bmb/workflows/create-agent/communication-styles.md +0 -202
  348. package/bmad/bmb/workflows/create-agent/instructions.md +0 -459
  349. package/bmad/bmb/workflows/create-agent/workflow.yaml +0 -37
  350. package/bmad/bmb/workflows/create-module/README.md +0 -229
  351. package/bmad/bmb/workflows/create-module/brainstorm-context.md +0 -137
  352. package/bmad/bmb/workflows/create-module/checklist.md +0 -244
  353. package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
  354. package/bmad/bmb/workflows/create-module/installer-templates/installer.js +0 -231
  355. package/bmad/bmb/workflows/create-module/instructions.md +0 -581
  356. package/bmad/bmb/workflows/create-module/module-structure.md +0 -400
  357. package/bmad/bmb/workflows/create-module/workflow.yaml +0 -42
  358. package/bmad/bmb/workflows/create-workflow/README.md +0 -277
  359. package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  360. package/bmad/bmb/workflows/create-workflow/checklist.md +0 -94
  361. package/bmad/bmb/workflows/create-workflow/instructions.md +0 -724
  362. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1308
  363. package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  364. package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -13
  365. package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  366. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -39
  367. package/bmad/bmb/workflows/create-workflow/workflow.yaml +0 -40
  368. package/bmad/bmb/workflows/edit-agent/README.md +0 -112
  369. package/bmad/bmb/workflows/edit-agent/checklist.md +0 -112
  370. package/bmad/bmb/workflows/edit-agent/instructions.md +0 -290
  371. package/bmad/bmb/workflows/edit-agent/workflow.yaml +0 -33
  372. package/bmad/bmb/workflows/edit-module/README.md +0 -187
  373. package/bmad/bmb/workflows/edit-module/checklist.md +0 -165
  374. package/bmad/bmb/workflows/edit-module/instructions.md +0 -339
  375. package/bmad/bmb/workflows/edit-module/workflow.yaml +0 -34
  376. package/bmad/bmb/workflows/edit-workflow/README.md +0 -119
  377. package/bmad/bmb/workflows/edit-workflow/checklist.md +0 -70
  378. package/bmad/bmb/workflows/edit-workflow/instructions.md +0 -342
  379. package/bmad/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  380. package/bmad/bmb/workflows/module-brief/README.md +0 -264
  381. package/bmad/bmb/workflows/module-brief/checklist.md +0 -116
  382. package/bmad/bmb/workflows/module-brief/instructions.md +0 -267
  383. package/bmad/bmb/workflows/module-brief/template.md +0 -275
  384. package/bmad/bmb/workflows/module-brief/workflow.yaml +0 -29
  385. package/bmad/bmb/workflows/redoc/README.md +0 -87
  386. package/bmad/bmb/workflows/redoc/checklist.md +0 -99
  387. package/bmad/bmb/workflows/redoc/instructions.md +0 -265
  388. package/bmad/bmb/workflows/redoc/workflow.yaml +0 -32
  389. package/bmad/core/agents/bmad-master.md +0 -71
  390. package/bmad/core/agents/bmad-web-orchestrator.agent.xml +0 -122
  391. package/bmad/core/config.yaml +0 -9
  392. package/bmad/core/tasks/adv-elicit-methods.csv +0 -39
  393. package/bmad/core/tasks/adv-elicit.xml +0 -104
  394. package/bmad/core/tasks/index-docs.xml +0 -65
  395. package/bmad/core/tasks/validate-workflow.xml +0 -89
  396. package/bmad/core/tasks/workflow.xml +0 -156
  397. package/bmad/core/tools/shard-doc.xml +0 -65
  398. package/bmad/core/workflows/brainstorming/README.md +0 -271
  399. package/bmad/core/workflows/brainstorming/brain-methods.csv +0 -36
  400. package/bmad/core/workflows/brainstorming/instructions.md +0 -314
  401. package/bmad/core/workflows/brainstorming/template.md +0 -102
  402. package/bmad/core/workflows/brainstorming/workflow.yaml +0 -43
  403. package/bmad/core/workflows/party-mode/instructions.md +0 -188
  404. package/bmad/core/workflows/party-mode/workflow.yaml +0 -23
  405. package/bmad/docs/claude-code-instructions.md +0 -25
  406. package/bmd/README.md +0 -193
  407. package/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  408. package/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  409. package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  410. package/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  411. package/bmd/agents/cli-chief.agent.yaml +0 -126
  412. package/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  413. package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  414. package/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  415. package/bmd/agents/doc-keeper.agent.yaml +0 -137
  416. package/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  417. package/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  418. package/bmd/agents/release-chief-sidecar/memories.md +0 -73
  419. package/bmd/agents/release-chief.agent.yaml +0 -127
  420. package/bmd/bmad-custom-module-installer-plan.md +0 -1176
  421. package/bmd/config.yaml +0 -12
  422. package/src/modules/bmgd/workflows/4-production/dev-story/AUDIT-REPORT.md +0 -367
  423. package/src/modules/bmm/sub-modules/claude-code/README.md +0 -87
  424. package/src/modules/bmm/sub-modules/claude-code/config.yaml +0 -5
  425. package/src/modules/bmm/sub-modules/claude-code/injections.yaml +0 -242
  426. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +0 -102
  427. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +0 -82
  428. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +0 -101
  429. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +0 -84
  430. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +0 -83
  431. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +0 -81
  432. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +0 -61
  433. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +0 -168
  434. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +0 -115
  435. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +0 -123
  436. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +0 -72
  437. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +0 -51
  438. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +0 -106
  439. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +0 -102
  440. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +0 -68
  441. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +0 -108
  442. package/src/modules/bmm/tasks/daily-standup.xml +0 -85
  443. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +0 -200
  444. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +0 -451
  445. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -189
  446. package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +0 -367
  447. package/src/modules/bmm/workflows/workflow-status/sample-level-3-workflow.yaml +0 -49
  448. package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +0 -23
  449. package/web-bundles/bmm/agents/analyst.xml +0 -5028
  450. package/web-bundles/bmm/agents/architect.xml +0 -2047
  451. package/web-bundles/bmm/agents/dev.xml +0 -68
  452. package/web-bundles/bmm/agents/pm.xml +0 -3808
  453. package/web-bundles/bmm/agents/sm.xml +0 -77
  454. package/web-bundles/bmm/agents/tea.xml +0 -66
  455. package/web-bundles/bmm/agents/tech-writer.xml +0 -84
  456. package/web-bundles/bmm/agents/ux-designer.xml +0 -2018
  457. package/web-bundles/bmm/teams/team-fullstack.xml +0 -12039
@@ -4,7 +4,7 @@ description: "Identify disruption opportunities and architect business model inn
4
4
  author: "BMad"
5
5
 
6
6
  # Critical variables load from config_source
7
- config_source: "{project-root}/bmad/cis/config.yaml"
7
+ config_source: "{project-root}/{bmad_folder}/cis/config.yaml"
8
8
  output_folder: "{config_source}:output_folder"
9
9
  user_name: "{config_source}:user_name"
10
10
  communication_language: "{config_source}:communication_language"
@@ -19,7 +19,7 @@ recommended_inputs:
19
19
  # Example: data="{path}/industry-analysis.md" provides market context
20
20
 
21
21
  # Module path and component files
22
- installed_path: "{project-root}/bmad/cis/workflows/innovation-strategy"
22
+ installed_path: "{project-root}/{bmad_folder}/cis/workflows/innovation-strategy"
23
23
  template: "{installed_path}/template.md"
24
24
  instructions: "{installed_path}/instructions.md"
25
25
 
@@ -35,9 +35,9 @@ web_bundle:
35
35
  name: "innovation-strategy"
36
36
  description: "Identify disruption opportunities and architect business model innovation. This workflow guides strategic analysis of markets, competitive dynamics, and business model innovation to uncover sustainable competitive advantages and breakthrough opportunities."
37
37
  author: "BMad"
38
- instructions: "bmad/cis/workflows/innovation-strategy/instructions.md"
39
- template: "bmad/cis/workflows/innovation-strategy/template.md"
38
+ instructions: "{bmad_folder}/cis/workflows/innovation-strategy/instructions.md"
39
+ template: "{bmad_folder}/cis/workflows/innovation-strategy/template.md"
40
40
  web_bundle_files:
41
- - "bmad/cis/workflows/innovation-strategy/instructions.md"
42
- - "bmad/cis/workflows/innovation-strategy/template.md"
43
- - "bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv"
41
+ - "{bmad_folder}/cis/workflows/innovation-strategy/instructions.md"
42
+ - "{bmad_folder}/cis/workflows/innovation-strategy/template.md"
43
+ - "{bmad_folder}/cis/workflows/innovation-strategy/innovation-frameworks.csv"
@@ -1,7 +1,7 @@
1
1
  # Problem Solving Workflow Instructions
2
2
 
3
- <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
4
- <critical>You MUST have already loaded and processed: {project_root}/bmad/cis/workflows/problem-solving/workflow.yaml</critical>
3
+ <critical>The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml</critical>
4
+ <critical>You MUST have already loaded and processed: {project_root}/{bmad_folder}/cis/workflows/problem-solving/workflow.yaml</critical>
5
5
  <critical>Load and understand solving methods from: {solving_methods}</critical>
6
6
 
7
7
  <facilitation-principles>
@@ -4,7 +4,7 @@ description: "Apply systematic problem-solving methodologies to crack complex ch
4
4
  author: "BMad"
5
5
 
6
6
  # Critical variables load from config_source
7
- config_source: "{project-root}/bmad/cis/config.yaml"
7
+ config_source: "{project-root}/{bmad_folder}/cis/config.yaml"
8
8
  output_folder: "{config_source}:output_folder"
9
9
  user_name: "{config_source}:user_name"
10
10
  communication_language: "{config_source}:communication_language"
@@ -19,7 +19,7 @@ recommended_inputs:
19
19
  # Example: data="{path}/problem-brief.md" provides context
20
20
 
21
21
  # Module path and component files
22
- installed_path: "{project-root}/bmad/cis/workflows/problem-solving"
22
+ installed_path: "{project-root}/{bmad_folder}/cis/workflows/problem-solving"
23
23
  template: "{installed_path}/template.md"
24
24
  instructions: "{installed_path}/instructions.md"
25
25
 
@@ -35,9 +35,9 @@ web_bundle:
35
35
  name: "problem-solving"
36
36
  description: "Apply systematic problem-solving methodologies to crack complex challenges. This workflow guides through problem diagnosis, root cause analysis, creative solution generation, evaluation, and implementation planning using proven frameworks."
37
37
  author: "BMad"
38
- instructions: "bmad/cis/workflows/problem-solving/instructions.md"
39
- template: "bmad/cis/workflows/problem-solving/template.md"
38
+ instructions: "{bmad_folder}/cis/workflows/problem-solving/instructions.md"
39
+ template: "{bmad_folder}/cis/workflows/problem-solving/template.md"
40
40
  web_bundle_files:
41
- - "bmad/cis/workflows/problem-solving/instructions.md"
42
- - "bmad/cis/workflows/problem-solving/template.md"
43
- - "bmad/cis/workflows/problem-solving/solving-methods.csv"
41
+ - "{bmad_folder}/cis/workflows/problem-solving/instructions.md"
42
+ - "{bmad_folder}/cis/workflows/problem-solving/template.md"
43
+ - "{bmad_folder}/cis/workflows/problem-solving/solving-methods.csv"
@@ -3,8 +3,8 @@
3
3
  ## Workflow
4
4
 
5
5
  <workflow>
6
- <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
7
- <critical>You MUST have already loaded and processed: {project_root}/bmad/cis/workflows/storytelling/workflow.yaml</critical>
6
+ <critical>The workflow execution engine is governed by: {project_root}/{bmad_folder}/core/tasks/workflow.xml</critical>
7
+ <critical>You MUST have already loaded and processed: {project_root}/{bmad_folder}/cis/workflows/storytelling/workflow.yaml</critical>
8
8
  <critical>Communicate all responses in {communication_language}</critical>
9
9
 
10
10
  <step n="1" goal="Story Context Setup">
@@ -4,7 +4,7 @@ description: "Craft compelling narratives using proven story frameworks and tech
4
4
  author: "BMad"
5
5
 
6
6
  # Critical variables load from config_source
7
- config_source: "{project-root}/bmad/cis/config.yaml"
7
+ config_source: "{project-root}/{bmad_folder}/cis/config.yaml"
8
8
  output_folder: "{config_source}:output_folder"
9
9
  user_name: "{config_source}:user_name"
10
10
  communication_language: "{config_source}:communication_language"
@@ -19,7 +19,7 @@ recommended_inputs:
19
19
  # Example: data="{path}/brand-info.md" provides brand context
20
20
 
21
21
  # Module path and component files
22
- installed_path: "{project-root}/bmad/cis/workflows/storytelling"
22
+ installed_path: "{project-root}/{bmad_folder}/cis/workflows/storytelling"
23
23
  template: "{installed_path}/template.md"
24
24
  instructions: "{installed_path}/instructions.md"
25
25
 
@@ -35,9 +35,9 @@ web_bundle:
35
35
  name: "storytelling"
36
36
  description: "Craft compelling narratives using proven story frameworks and techniques. This workflow guides users through structured narrative development, applying appropriate story frameworks to create emotionally resonant and engaging stories for any purpose."
37
37
  author: "BMad"
38
- instructions: "bmad/cis/workflows/storytelling/instructions.md"
39
- template: "bmad/cis/workflows/storytelling/template.md"
38
+ instructions: "{bmad_folder}/cis/workflows/storytelling/instructions.md"
39
+ template: "{bmad_folder}/cis/workflows/storytelling/template.md"
40
40
  web_bundle_files:
41
- - "bmad/cis/workflows/storytelling/instructions.md"
42
- - "bmad/cis/workflows/storytelling/template.md"
43
- - "bmad/cis/workflows/storytelling/story-types.csv"
41
+ - "{bmad_folder}/cis/workflows/storytelling/instructions.md"
42
+ - "{bmad_folder}/cis/workflows/storytelling/template.md"
43
+ - "{bmad_folder}/cis/workflows/storytelling/story-types.csv"
File without changes
@@ -1,7 +1,7 @@
1
1
  <activation critical="MANDATORY">
2
2
  <init>
3
3
  <step n="1">Load persona from this current file containing this activation you are reading now</step>
4
- <step n="2">Override with {project-root}/bmad/_cfg/agents/{agent-filename} if exists (replace, not merge)</step>
4
+ <step n="2">Override with {project-root}/{bmad_folder}/_cfg/agents/{agent-filename} if exists (replace, not merge)</step>
5
5
  <step n="3">Execute critical-actions section if present in current agent XML</step>
6
6
  <step n="4">Show greeting + numbered list of ALL commands IN ORDER from current agent's cmds section</step>
7
7
  <step n="5">CRITICAL HALT. AWAIT user input. NEVER continue without it.</step>
@@ -12,7 +12,7 @@
12
12
  <handlers>
13
13
  <handler type="run-workflow">
14
14
  When command has: run-workflow="path/to/x.yaml" You MUST:
15
- 1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml
15
+ 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml
16
16
  2. READ its entire contents - the is the CORE OS for EXECUTING modules
17
17
  3. Pass the yaml path as 'workflow-config' parameter to those instructions
18
18
  4. Follow workflow.xml instructions EXACTLY as written
@@ -20,7 +20,7 @@
20
20
  </handler>
21
21
  <handler type="validate-workflow">
22
22
  When command has: validate-workflow="path/to/workflow.yaml" You MUST:
23
- 1. You MUST LOAD the file at: {project-root}/bmad/core/tasks/validate-workflow.xml
23
+ 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml
24
24
  2. READ its entire contents and EXECUTE all instructions in that file
25
25
  3. Pass the workflow, and also check the workflow location for a checklist.md to pass as the checklist
26
26
  4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify
@@ -7,14 +7,14 @@
7
7
  <bundled-files critical="MANDATORY">
8
8
  <access-method>
9
9
  All dependencies are bundled within this XML file as &lt;file&gt; elements with CDATA content.
10
- When you need to access a file path like "bmad/core/tasks/workflow.xml":
11
- 1. Find the &lt;file id="bmad/core/tasks/workflow.xml"&gt; element in this document
10
+ When you need to access a file path like "{bmad_folder}/core/tasks/workflow.xml":
11
+ 1. Find the &lt;file id="{bmad_folder}/core/tasks/workflow.xml"&gt; element in this document
12
12
  2. Extract the content from within the CDATA section
13
13
  3. Use that content as if you read it from the filesystem
14
14
  </access-method>
15
15
  <rules>
16
16
  <rule>NEVER attempt to read files from filesystem - all files are bundled in this XML</rule>
17
- <rule>File paths starting with "bmad/" or "{project-root}/bmad/" refer to &lt;file id="..."&gt; elements</rule>
17
+ <rule>File paths starting with "{bmad_folder}/" or "{project-root}/{bmad_folder}/" refer to &lt;file id="..."&gt; elements</rule>
18
18
  <rule>When instructions reference a file path, locate the corresponding &lt;file&gt; element by matching the id attribute</rule>
19
19
  <rule>YAML files are bundled with only their web_bundle section content (flattened to root level)</rule>
20
20
  </rules>
@@ -25,7 +25,7 @@
25
25
  <handlers>
26
26
  <handler type="run-workflow">
27
27
  When command has: run-workflow="path/to/x.yaml" You MUST:
28
- 1. CRITICAL: Locate &lt;file id="bmad/core/tasks/workflow.xml"&gt; in this XML bundle
28
+ 1. CRITICAL: Locate &lt;file id="{bmad_folder}/core/tasks/workflow.xml"&gt; in this XML bundle
29
29
  2. Extract and READ its CDATA content - this is the CORE OS for EXECUTING workflows
30
30
  3. Locate &lt;file id="path/to/x.yaml"&gt; for the workflow config
31
31
  4. Pass the yaml content as 'workflow-config' parameter to workflow.xml instructions
@@ -0,0 +1 @@
1
+ <critical>You must fully embody this agent's persona and follow all activation instructions, steps and rules exactly as specified. NEVER break character until given an exit command.</critical>
@@ -1,6 +1,6 @@
1
1
  <step n="1">Load persona from this current agent file (already in context)</step>
2
2
  <step n="2">🚨 IMMEDIATE ACTION REQUIRED - BEFORE ANY OUTPUT:
3
- - Load and read {project-root}/bmad/{{module}}/config.yaml NOW
3
+ - Load and read {project-root}/{bmad_folder}/{{module}}/config.yaml NOW
4
4
  - Store ALL fields as session variables: {user_name}, {communication_language}, {output_folder}
5
5
  - VERIFY: If config not loaded, STOP and report error to user
6
6
  - DO NOT PROCEED to step 3 until config is successfully loaded and variables stored</step>
@@ -8,7 +8,8 @@
8
8
  {AGENT_SPECIFIC_STEPS}
9
9
  <step n="{MENU_STEP}">Show greeting using {user_name} from config, communicate in {communication_language}, then display numbered list of
10
10
  ALL menu items from menu section</step>
11
- <step n="{HALT_STEP}">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or trigger text</step>
11
+ <step n="{HALT_STEP}">STOP and WAIT for user input - do NOT execute menu items automatically - accept number or cmd trigger or fuzzy command
12
+ match</step>
12
13
  <step n="{INPUT_STEP}">On user input: Number → execute menu item[n] | Text → case-insensitive substring match | Multiple matches → ask user
13
14
  to clarify | No match → show "Not recognized"</step>
14
15
  <step n="{EXECUTE_STEP}">When executing a menu item: Check menu-handlers section below - extract any attributes from the selected menu item
@@ -1,6 +1,6 @@
1
1
  <handler type="validate-workflow">
2
2
  When command has: validate-workflow="path/to/workflow.yaml"
3
- 1. You MUST LOAD the file at: {project-root}/bmad/core/tasks/validate-workflow.xml
3
+ 1. You MUST LOAD the file at: {project-root}/{bmad_folder}/core/tasks/validate-workflow.xml
4
4
  2. READ its entire contents and EXECUTE all instructions in that file
5
5
  3. Pass the workflow, and also check the workflow yaml validation property to find and load the validation schema to pass as the checklist
6
6
  4. The workflow should try to identify the file to validate based on checklist context or else you will ask the user to specify
@@ -1,6 +1,6 @@
1
1
  <handler type="workflow">
2
2
  When menu item has: workflow="path/to/workflow.yaml"
3
- 1. CRITICAL: Always LOAD {project-root}/bmad/core/tasks/workflow.xml
3
+ 1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml
4
4
  2. Read the complete file - this is the CORE OS for executing BMAD workflows
5
5
  3. Pass the yaml path as 'workflow-config' parameter to those instructions
6
6
  4. Execute workflow.xml instructions precisely following all steps
@@ -10,14 +10,14 @@
10
10
  <bundled-files critical="MANDATORY">
11
11
  <access-method>
12
12
  All dependencies are bundled within this XML file as &lt;file&gt; elements with CDATA content.
13
- When you need to access a file path like "bmad/core/tasks/workflow.xml":
14
- 1. Find the &lt;file id="bmad/core/tasks/workflow.xml"&gt; element in this document
13
+ When you need to access a file path like "{bmad_folder}/core/tasks/workflow.xml":
14
+ 1. Find the &lt;file id="{bmad_folder}/core/tasks/workflow.xml"&gt; element in this document
15
15
  2. Extract the content from within the CDATA section
16
16
  3. Use that content as if you read it from the filesystem
17
17
  </access-method>
18
18
  <rules>
19
19
  <rule>NEVER attempt to read files from filesystem - all files are bundled in this XML</rule>
20
- <rule>File paths starting with "bmad/" or "{project-root}/bmad/" refer to &lt;file id="..."&gt; elements</rule>
20
+ <rule>File paths starting with "{bmad_folder}/" refer to &lt;file id="..."&gt; elements</rule>
21
21
  <rule>When instructions reference a file path, locate the corresponding &lt;file&gt; element by matching the id attribute</rule>
22
22
  <rule>YAML files are bundled with only their web_bundle section content (flattened to root level)</rule>
23
23
  </rules>
@@ -4,19 +4,37 @@ The BMad CLI handles installation and web bundling for the BMAD-METHOD framework
4
4
 
5
5
  ## Table of Contents
6
6
 
7
- - [Overview](#overview)
8
- - [Commands](#commands)
9
- - [Installation System](#installation-system)
10
- - [Installation Flow](#installation-flow)
11
- - [IDE Support](#ide-support)
12
- - [Custom Module Configuration](#custom-module-configuration)
13
- - [Platform Specifics](#platform-specifics)
14
- - [Manifest System](#manifest-system)
15
- - [Advanced Features](#advanced-features)
16
- - [Bundling System](#bundling-system)
17
- - [Agent Compilation](#agent-compilation)
18
- - [Architecture](#architecture)
19
- - [Key Differences: Installation vs Bundling](#key-differences-installation-vs-bundling)
7
+ - [BMad CLI Tool](#bmad-cli-tool)
8
+ - [Table of Contents](#table-of-contents)
9
+ - [Overview](#overview)
10
+ - [Commands](#commands)
11
+ - [Installation](#installation)
12
+ - [Bundling](#bundling)
13
+ - [Utilities](#utilities)
14
+ - [Installation System](#installation-system)
15
+ - [Installation Flow](#installation-flow)
16
+ - [IDE Support](#ide-support)
17
+ - [Custom Module Configuration](#custom-module-configuration)
18
+ - [Platform Specifics](#platform-specifics)
19
+ - [Manifest System](#manifest-system)
20
+ - [Advanced Features](#advanced-features)
21
+ - [Bundling System](#bundling-system)
22
+ - [Bundling Flow](#bundling-flow)
23
+ - [Agent Compilation](#agent-compilation)
24
+ - [Compilation Engine](#compilation-engine)
25
+ - [Fragment System](#fragment-system)
26
+ - [Input: Agent YAML](#input-agent-yaml)
27
+ - [Output: IDE (Markdown with XML)](#output-ide-markdown-with-xml)
28
+ - [Architecture](#architecture)
29
+ - [Directory Structure](#directory-structure)
30
+ - [Fragment Library](#fragment-library)
31
+ - [Key Differences: Installation vs Bundling](#key-differences-installation-vs-bundling)
32
+ - [Development Workflows](#development-workflows)
33
+ - [Testing Compilation](#testing-compilation)
34
+ - [Adding New Menu Handlers](#adding-new-menu-handlers)
35
+ - [Regenerating Manifests](#regenerating-manifests)
36
+ - [Related Documentation](#related-documentation)
37
+ - [Support](#support)
20
38
 
21
39
  ---
22
40
 
@@ -87,7 +105,7 @@ The installer is a multi-stage system that handles agent compilation, IDE integr
87
105
  - Resolve module dependencies (4-pass system)
88
106
 
89
107
  3. Install Core + Modules
90
- - Copy files to {target}/bmad/
108
+ - Copy files to {target}/{bmad_folder}/
91
109
  - Compile agents: YAML → Markdown/XML (forWebBundle: false)
92
110
  - Merge customize.yaml files if they exist
93
111
  - Inject activation blocks based on agent capabilities
@@ -113,7 +131,7 @@ The installer is a multi-stage system that handles agent compilation, IDE integr
113
131
 
114
132
  ```
115
133
  {target}/
116
- ├── bmad/
134
+ ├── {bmad_folder}/
117
135
  │ ├── core/ # Always installed
118
136
  │ ├── {module}/ # Selected modules
119
137
  │ │ ├── agents/ # Compiled .md files
@@ -220,7 +238,7 @@ Platform specifics are **IDE+module combination hooks** that execute custom logi
220
238
 
221
239
  ### Manifest System
222
240
 
223
- The installer generates **5 manifest files** in `{target}/bmad/_cfg/`:
241
+ The installer generates **5 manifest files** in `{target}/{bmad_folder}/_cfg/`:
224
242
 
225
243
  **1. Installation Manifest** (`manifest.yaml`)
226
244
 
@@ -409,7 +427,7 @@ agent:
409
427
  identity: 'You are an experienced PM...'
410
428
  menu:
411
429
  - trigger: '*create-brief'
412
- workflow: '{project-root}/bmad/bmm/workflows/.../workflow.yaml'
430
+ workflow: '{project-root}/{bmad_folder}/bmm/workflows/.../workflow.yaml'
413
431
  ```
414
432
 
415
433
  ### Output: IDE (Markdown with XML)
@@ -422,7 +440,7 @@ agent:
422
440
  ```xml
423
441
  <agent id="..." name="PM">
424
442
  <activation critical="MANDATORY">
425
- <step n="2">Load {project-root}/bmad/bmm/config.yaml at runtime</step>
443
+ <step n="2">Load {project-root}/{bmad_folder}/bmm/config.yaml at runtime</step>
426
444
  ...
427
445
  </activation>
428
446
  <persona>...</persona>
@@ -514,20 +532,20 @@ src/utility/models/fragments/
514
532
 
515
533
  ## Key Differences: Installation vs Bundling
516
534
 
517
- | Aspect | Installation (IDE) | Bundling (Web) |
518
- | ----------------------- | ----------------------------- | --------------------------------- |
519
- | **Trigger** | `npm run install:bmad` | `npm run bundle` |
520
- | **Entry Point** | `commands/install.js` | `bundlers/bundle-web.js` |
521
- | **Compiler Flag** | `forWebBundle: false` | `forWebBundle: true` |
522
- | **Output Format** | Markdown `.md` | Standalone XML `.xml` |
523
- | **Output Location** | `{target}/bmad/` + IDE dirs | `web-bundles/` |
524
- | **Customization** | Merges `customize.yaml` | Base agents only |
525
- | **Dependencies** | Referenced by path | Bundled inline (CDATA) |
526
- | **Activation Fragment** | `activation-steps.xml` | `web-bundle-activation-steps.xml` |
527
- | **Filesystem Access** | Required | Not needed |
528
- | **Build Metadata** | Included (hash) | Excluded |
529
- | **Path Format** | `{project-root}` placeholders | Stripped, wrapped as `<file>` |
530
- | **Use Case** | Local IDE development | Web deployment |
535
+ | Aspect | Installation (IDE) | Bundling (Web) |
536
+ | ----------------------- | ------------------------------------ | --------------------------------- |
537
+ | **Trigger** | `npm run install:bmad` | `npm run bundle` |
538
+ | **Entry Point** | `commands/install.js` | `bundlers/bundle-web.js` |
539
+ | **Compiler Flag** | `forWebBundle: false` | `forWebBundle: true` |
540
+ | **Output Format** | Markdown `.md` | Standalone XML `.xml` |
541
+ | **Output Location** | `{target}/{bmad_folder}/` + IDE dirs | `web-bundles/` |
542
+ | **Customization** | Merges `customize.yaml` | Base agents only |
543
+ | **Dependencies** | Referenced by path | Bundled inline (CDATA) |
544
+ | **Activation Fragment** | `activation-steps.xml` | `web-bundle-activation-steps.xml` |
545
+ | **Filesystem Access** | Required | Not needed |
546
+ | **Build Metadata** | Included (hash) | Excluded |
547
+ | **Path Format** | `{project-root}` placeholders | Stripped, wrapped as `<file>` |
548
+ | **Use Case** | Local IDE development | Web deployment |
531
549
 
532
550
  **Activation Differences**:
533
551
 
@@ -205,6 +205,18 @@ class WebBundler {
205
205
  this.stats.warnings.push({ agent: agentName, warnings: dependencyWarnings });
206
206
  }
207
207
 
208
+ // Check for module's default-party.csv and include it as agent manifest
209
+ const defaultPartyPath = path.join(this.modulesPath, moduleName, 'teams', 'default-party.csv');
210
+ if (await fs.pathExists(defaultPartyPath)) {
211
+ const partyContent = await fs.readFile(defaultPartyPath, 'utf8');
212
+ // Process any placeholders in the CSV content
213
+ const processedPartyContent = this.processProjectRootReferences(partyContent);
214
+ // Wrap as text to preserve raw CSV format in CDATA
215
+ const wrappedParty = this.wrapContentInXml(processedPartyContent, 'bmad/_cfg/agent-manifest.csv', 'text');
216
+ dependencies.set('bmad/_cfg/agent-manifest.csv', wrappedParty);
217
+ console.log(chalk.gray(` + Added party manifest from module default-party.csv`));
218
+ }
219
+
208
220
  // Remove commands for skipped workflows from agent XML
209
221
  if (skippedWorkflows.length > 0) {
210
222
  agentXml = this.removeSkippedWorkflowCommands(agentXml, skippedWorkflows);
@@ -260,6 +272,24 @@ class WebBundler {
260
272
  const allAgentXmls = [];
261
273
  const warnings = [];
262
274
 
275
+ // Check if team has a party CSV file (agent manifest)
276
+ const hasPartyFile = teamConfig.party && teamConfig.party.endsWith('.csv');
277
+ if (hasPartyFile) {
278
+ // Load the party CSV and add it as bmad/_cfg/agent-manifest.csv
279
+ const partyPath = path.join(path.dirname(teamPath), teamConfig.party.replace(/^\.\//, ''));
280
+ if (await fs.pathExists(partyPath)) {
281
+ const partyContent = await fs.readFile(partyPath, 'utf8');
282
+ // Process any placeholders in the CSV content
283
+ const processedPartyContent = this.processProjectRootReferences(partyContent);
284
+ // Wrap as text/csv to preserve raw CSV format in CDATA
285
+ const wrappedParty = this.wrapContentInXml(processedPartyContent, 'bmad/_cfg/agent-manifest.csv', 'text');
286
+ dependencies.set('bmad/_cfg/agent-manifest.csv', wrappedParty);
287
+ console.log(chalk.gray(` + Added agent manifest from: ${teamConfig.party}`));
288
+ } else {
289
+ console.log(chalk.yellow(` ⚠ Party file not found: ${partyPath}`));
290
+ }
291
+ }
292
+
263
293
  // 1. First, always add the bmad-web-orchestrator (XML file only, no transformation needed)
264
294
  const orchestratorXmlPath = path.join(this.sourceDir, 'core', 'agents', 'bmad-web-orchestrator.agent.xml');
265
295
 
@@ -476,8 +506,9 @@ class WebBundler {
476
506
  }
477
507
 
478
508
  // Parse paths to extract module and workflow location
479
- const sourceMatch = sourceWorkflowPath.match(/\{project-root\}\/bmad\/([^/]+)\/workflows\/(.+)/);
480
- const installMatch = installWorkflowPath.match(/\{project-root\}\/bmad\/([^/]+)\/workflows\/(.+)/);
509
+ // Support both {project-root}/bmad/... and {project-root}/{bmad_folder}/... patterns
510
+ const sourceMatch = sourceWorkflowPath.match(/\{project-root\}\/(?:\{bmad_folder\}|bmad)\/([^/]+)\/workflows\/(.+)/);
511
+ const installMatch = installWorkflowPath.match(/\{project-root\}\/(?:\{bmad_folder\}|bmad)\/([^/]+)\/workflows\/(.+)/);
481
512
 
482
513
  if (!sourceMatch || !installMatch) {
483
514
  continue;
@@ -528,8 +559,9 @@ class WebBundler {
528
559
  let yamlContent = await fs.readFile(workflowYamlPath, 'utf8');
529
560
 
530
561
  // Replace config_source with new module reference
531
- const configSourcePattern = /config_source:\s*["']?\{project-root\}\/bmad\/[^/]+\/config\.yaml["']?/g;
532
- const newConfigSource = `config_source: "{project-root}/bmad/${newModuleName}/config.yaml"`;
562
+ // Support both old format (bmad) and new format ({bmad_folder})
563
+ const configSourcePattern = /config_source:\s*["']?\{project-root\}\/(?:\{bmad_folder\}|bmad)\/[^/]+\/config\.yaml["']?/g;
564
+ const newConfigSource = `config_source: "{project-root}/{bmad_folder}/${newModuleName}/config.yaml"`;
533
565
 
534
566
  const updatedYaml = yamlContent.replaceAll(configSourcePattern, newConfigSource);
535
567
  await fs.writeFile(workflowYamlPath, updatedYaml, 'utf8');
@@ -651,7 +683,8 @@ class WebBundler {
651
683
  /system-prompts="([^"]+)"/g,
652
684
  /tools="([^"]+)"/g,
653
685
  /knowledge="([^"]+)"/g,
654
- /{project-root}\/([^"'\s<>]+)/g,
686
+ /{project-root}\/([^"'\s<>]+)/g, // Legacy {project-root} paths
687
+ /\bbmad\/([^"'\s<>]+)/g, // Direct bmad/ paths (after {bmad_folder} replacement)
655
688
  ];
656
689
 
657
690
  for (const pattern of patterns) {
@@ -660,9 +693,16 @@ class WebBundler {
660
693
  let filePath = match[1];
661
694
  // Remove {project-root} prefix if present
662
695
  filePath = filePath.replace(/^{project-root}\//, '');
696
+ // Remove {bmad_folder} prefix if present (should be rare, mostly replaced already)
697
+ filePath = filePath.replace(/^{bmad_folder}\//, 'bmad/');
698
+
699
+ // For bmad/ pattern, prepend 'bmad/' since it was captured without it
700
+ if (pattern.source.includes(String.raw`\bbmad\/`)) {
701
+ filePath = 'bmad/' + filePath;
702
+ }
663
703
 
664
704
  // Skip obvious placeholder/example paths
665
- if (filePath && !filePath.includes('path/to/') && !filePath.includes('example')) {
705
+ if (filePath && !filePath.includes('path/to/') && !filePath.includes('example') && !filePath.includes('...')) {
666
706
  refs.add(filePath);
667
707
  }
668
708
  }
@@ -680,6 +720,8 @@ class WebBundler {
680
720
  while ((match = pattern.exec(xml)) !== null) {
681
721
  let workflowPath = match[1];
682
722
  workflowPath = workflowPath.replace(/^{project-root}\//, '');
723
+ // Remove {bmad_folder} prefix if present and replace with bmad
724
+ workflowPath = workflowPath.replace(/^{bmad_folder}\//, 'bmad/');
683
725
 
684
726
  // Skip obvious placeholder/example paths
685
727
  if (workflowPath && workflowPath.endsWith('.yaml') && !workflowPath.includes('path/to/') && !workflowPath.includes('example')) {
@@ -725,6 +767,11 @@ class WebBundler {
725
767
  * Process a file dependency recursively
726
768
  */
727
769
  async processFileDependency(filePath, dependencies, processed, moduleName, warnings = []) {
770
+ // Skip workflow YAML files - they're handled by processWorkflowDependency
771
+ if (filePath.includes('/workflow') && filePath.endsWith('workflow.yaml')) {
772
+ return;
773
+ }
774
+
728
775
  // Skip if already processed
729
776
  if (processed.has(filePath)) {
730
777
  return;
@@ -766,7 +813,8 @@ class WebBundler {
766
813
  const deps = depMatch[1].match(/['"]([^'"]+)['"]/g);
767
814
  if (deps) {
768
815
  for (const dep of deps) {
769
- const depPath = dep.replaceAll(/['"]/g, '').replace(/^{project-root}\//, '');
816
+ let depPath = dep.replaceAll(/['"]/g, '').replace(/^{project-root}\//, '');
817
+ depPath = depPath.replace(/^{bmad_folder}\//, 'bmad/');
770
818
  if (depPath && !processed.has(depPath)) {
771
819
  await this.processFileDependency(depPath, dependencies, processed, moduleName, warnings);
772
820
  }
@@ -779,7 +827,8 @@ class WebBundler {
779
827
  const templates = templateMatch[1].match(/['"]([^'"]+)['"]/g);
780
828
  if (templates) {
781
829
  for (const template of templates) {
782
- const templatePath = template.replaceAll(/['"]/g, '').replace(/^{project-root}\//, '');
830
+ let templatePath = template.replaceAll(/['"]/g, '').replace(/^{project-root}\//, '');
831
+ templatePath = templatePath.replace(/^{bmad_folder}\//, 'bmad/');
783
832
  if (templatePath && !processed.has(templatePath)) {
784
833
  await this.processFileDependency(templatePath, dependencies, processed, moduleName, warnings);
785
834
  }
@@ -967,8 +1016,13 @@ class WebBundler {
967
1016
  bundleYamlContent = yamlContent;
968
1017
  }
969
1018
 
1019
+ // Process {project-root} and {bmad_folder} references in the YAML content
1020
+ bundleYamlContent = this.processProjectRootReferences(bundleYamlContent);
1021
+
970
1022
  // Include the YAML file with only web_bundle content, wrapped in XML
971
- const yamlId = workflowPath.replace(/^{project-root}\//, '');
1023
+ // Process the workflow path to create a clean ID
1024
+ let yamlId = workflowPath.replace(/^{project-root}\//, '');
1025
+ yamlId = yamlId.replace(/^{bmad_folder}\//, 'bmad/');
972
1026
  const wrappedYaml = this.wrapContentInXml(bundleYamlContent, yamlId, 'yaml');
973
1027
  dependencies.set(yamlId, wrappedYaml);
974
1028
 
@@ -985,7 +1039,11 @@ class WebBundler {
985
1039
  const bundleFiles = workflowConfig.web_bundle.web_bundle_files;
986
1040
 
987
1041
  for (const bundleFilePath of bundleFiles) {
988
- if (processed.has(bundleFilePath)) {
1042
+ // Process the file path to create a clean ID for checking if already processed
1043
+ let cleanFilePath = bundleFilePath.replace(/^{project-root}\//, '');
1044
+ cleanFilePath = cleanFilePath.replace(/^{bmad_folder}\//, 'bmad/');
1045
+
1046
+ if (processed.has(cleanFilePath)) {
989
1047
  continue;
990
1048
  }
991
1049
 
@@ -1002,7 +1060,7 @@ class WebBundler {
1002
1060
  await this.processWorkflowDependency(bundleFilePath, dependencies, processed, moduleName, warnings);
1003
1061
  } else {
1004
1062
  // Regular file - process normally
1005
- processed.add(bundleFilePath);
1063
+ processed.add(cleanFilePath);
1006
1064
 
1007
1065
  // Read the file content
1008
1066
  let fileContent = await fs.readFile(bundleActualPath, 'utf8');
@@ -1012,8 +1070,8 @@ class WebBundler {
1012
1070
  fileContent = this.processProjectRootReferences(fileContent);
1013
1071
 
1014
1072
  // Wrap in XML with proper escaping
1015
- const wrappedContent = this.wrapContentInXml(fileContent, bundleFilePath, fileExt);
1016
- dependencies.set(bundleFilePath, wrappedContent);
1073
+ const wrappedContent = this.wrapContentInXml(fileContent, cleanFilePath, fileExt);
1074
+ dependencies.set(cleanFilePath, wrappedContent);
1017
1075
  }
1018
1076
  }
1019
1077
  }
@@ -1039,7 +1097,9 @@ class WebBundler {
1039
1097
  return;
1040
1098
  }
1041
1099
 
1042
- const fileContent = await fs.readFile(actualPath, 'utf8');
1100
+ let fileContent = await fs.readFile(actualPath, 'utf8');
1101
+ // Process {project-root} and {bmad_folder} references
1102
+ fileContent = this.processProjectRootReferences(fileContent);
1043
1103
  const wrappedContent = this.wrapContentInXml(fileContent, coreWorkflowPath, 'xml');
1044
1104
  dependencies.set(coreWorkflowPath, wrappedContent);
1045
1105
  }
@@ -1048,7 +1108,7 @@ class WebBundler {
1048
1108
  * Include advanced elicitation files
1049
1109
  */
1050
1110
  async includeAdvancedElicitationFiles(dependencies, processed, moduleName, warnings = []) {
1051
- const elicitationFiles = ['bmad/core/tasks/adv-elicit.xml', 'bmad/core/tasks/adv-elicit-methods.csv'];
1111
+ const elicitationFiles = ['bmad/core/tasks/advanced-elicitation.xml', 'bmad/core/tasks/advanced-elicitation-methods.csv'];
1052
1112
 
1053
1113
  for (const filePath of elicitationFiles) {
1054
1114
  if (processed.has(filePath)) {
@@ -1063,7 +1123,9 @@ class WebBundler {
1063
1123
  continue;
1064
1124
  }
1065
1125
 
1066
- const fileContent = await fs.readFile(actualPath, 'utf8');
1126
+ let fileContent = await fs.readFile(actualPath, 'utf8');
1127
+ // Process {project-root} and {bmad_folder} references
1128
+ fileContent = this.processProjectRootReferences(fileContent);
1067
1129
  const fileExt = path.extname(actualPath).toLowerCase().replace('.', '');
1068
1130
  const wrappedContent = this.wrapContentInXml(fileContent, filePath, fileExt);
1069
1131
  dependencies.set(filePath, wrappedContent);
@@ -1096,6 +1158,8 @@ class WebBundler {
1096
1158
  async processWildcardDependency(pattern, dependencies, processed, moduleName, warnings = []) {
1097
1159
  // Remove {project-root} prefix
1098
1160
  pattern = pattern.replace(/^{project-root}\//, '');
1161
+ // Replace {bmad_folder} with bmad
1162
+ pattern = pattern.replace(/^{bmad_folder}\//, 'bmad/');
1099
1163
 
1100
1164
  // Get directory and file pattern
1101
1165
  const lastSlash = pattern.lastIndexOf('/');
@@ -1163,6 +1227,9 @@ class WebBundler {
1163
1227
  resolveFilePath(filePath, moduleName) {
1164
1228
  // Remove {project-root} prefix
1165
1229
  filePath = filePath.replace(/^{project-root}\//, '');
1230
+ // Replace {bmad_folder} with bmad
1231
+ filePath = filePath.replace(/^{bmad_folder}\//, 'bmad/');
1232
+ filePath = filePath.replace(/^{bmad_folder}$/, 'bmad');
1166
1233
 
1167
1234
  // Check temp directory first for _cfg files
1168
1235
  if (filePath.startsWith('bmad/_cfg/')) {
@@ -1229,13 +1296,15 @@ class WebBundler {
1229
1296
  }
1230
1297
 
1231
1298
  /**
1232
- * Process and remove {project-root} references
1299
+ * Process and remove {project-root} references and replace {bmad_folder} with bmad
1233
1300
  */
1234
1301
  processProjectRootReferences(content) {
1235
1302
  // Remove {project-root}/ prefix (with slash)
1236
1303
  content = content.replaceAll('{project-root}/', '');
1237
1304
  // Also remove {project-root} without slash
1238
1305
  content = content.replaceAll('{project-root}', '');
1306
+ // Replace {bmad_folder} with bmad
1307
+ content = content.replaceAll('{bmad_folder}', 'bmad');
1239
1308
  return content;
1240
1309
  }
1241
1310
 
@@ -56,10 +56,7 @@ module.exports = {
56
56
  // Check if installation succeeded
57
57
  if (result && result.success) {
58
58
  console.log(chalk.green('\n✨ Installation complete!'));
59
- console.log(
60
- chalk.cyan('BMAD Core and Selected Modules have been installed to:'),
61
- chalk.bold(result.path || path.resolve(config.directory, 'bmad')),
62
- );
59
+ console.log(chalk.cyan('BMAD Core and Selected Modules have been installed to:'), chalk.bold(result.path));
63
60
  console.log(chalk.yellow('\nThank you for helping test the early release version of the new BMad Core and BMad Method!'));
64
61
  console.log(chalk.cyan('Stable Beta coming soon - please read the full readme.md and linked documentation to get started!'));
65
62
  process.exit(0);