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
@@ -18,6 +18,31 @@ class BaseIdeSetup {
18
18
  this.configFile = null; // Override in subclasses when detection is file-based
19
19
  this.detectionPaths = []; // Additional paths that indicate the IDE is configured
20
20
  this.xmlHandler = new XmlHandler();
21
+ this.bmadFolderName = 'bmad'; // Default, can be overridden
22
+ }
23
+
24
+ /**
25
+ * Set the bmad folder name for placeholder replacement
26
+ * @param {string} bmadFolderName - The bmad folder name
27
+ */
28
+ setBmadFolderName(bmadFolderName) {
29
+ this.bmadFolderName = bmadFolderName;
30
+ }
31
+
32
+ /**
33
+ * Get the agent command activation header from the central template
34
+ * @returns {string} The activation header text (without XML tags)
35
+ */
36
+ async getAgentCommandHeader() {
37
+ const headerPath = path.join(getSourcePath(), 'src', 'utility', 'models', 'agent-command-header.md');
38
+ try {
39
+ const content = await fs.readFile(headerPath, 'utf8');
40
+ // Strip the <critical> tags to get plain text
41
+ return content.replaceAll(/<critical>|<\/critical>/g, '').trim();
42
+ } catch {
43
+ // Fallback if file doesn't exist
44
+ return "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.";
45
+ }
21
46
  }
22
47
 
23
48
  /**
@@ -489,23 +514,52 @@ class BaseIdeSetup {
489
514
  }
490
515
 
491
516
  /**
492
- * Write file with content
517
+ * Write file with content (replaces {bmad_folder} placeholder)
493
518
  * @param {string} filePath - File path
494
519
  * @param {string} content - File content
495
520
  */
496
521
  async writeFile(filePath, content) {
522
+ // Replace {bmad_folder} placeholder if present
523
+ if (typeof content === 'string' && content.includes('{bmad_folder}')) {
524
+ content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
525
+ }
497
526
  await this.ensureDir(path.dirname(filePath));
498
527
  await fs.writeFile(filePath, content, 'utf8');
499
528
  }
500
529
 
501
530
  /**
502
- * Copy file from source to destination
531
+ * Copy file from source to destination (replaces {bmad_folder} placeholder in text files)
503
532
  * @param {string} source - Source file path
504
533
  * @param {string} dest - Destination file path
505
534
  */
506
535
  async copyFile(source, dest) {
536
+ // List of text file extensions that should have placeholder replacement
537
+ const textExtensions = ['.md', '.yaml', '.yml', '.txt', '.json', '.js', '.ts', '.html', '.css', '.sh', '.bat', '.csv'];
538
+ const ext = path.extname(source).toLowerCase();
539
+
507
540
  await this.ensureDir(path.dirname(dest));
508
- await fs.copy(source, dest, { overwrite: true });
541
+
542
+ // Check if this is a text file that might contain placeholders
543
+ if (textExtensions.includes(ext)) {
544
+ try {
545
+ // Read the file content
546
+ let content = await fs.readFile(source, 'utf8');
547
+
548
+ // Replace {bmad_folder} placeholder with actual folder name
549
+ if (content.includes('{bmad_folder}')) {
550
+ content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
551
+ }
552
+
553
+ // Write to dest with replaced content
554
+ await fs.writeFile(dest, content, 'utf8');
555
+ } catch {
556
+ // If reading as text fails, fall back to regular copy
557
+ await fs.copy(source, dest, { overwrite: true });
558
+ }
559
+ } else {
560
+ // Binary file or other file type - just copy directly
561
+ await fs.copy(source, dest, { overwrite: true });
562
+ }
509
563
  }
510
564
 
511
565
  /**
@@ -1,70 +1,18 @@
1
1
  const path = require('node:path');
2
- const os = require('node:os');
3
2
  const { BaseIdeSetup } = require('./_base-ide');
4
3
  const chalk = require('chalk');
5
- const inquirer = require('inquirer');
4
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
6
5
 
7
6
  /**
8
7
  * Auggie CLI setup handler
9
- * Allows flexible installation of agents to multiple locations
8
+ * Installs to project directory (.augment/commands)
10
9
  */
11
10
  class AuggieSetup extends BaseIdeSetup {
12
11
  constructor() {
13
12
  super('auggie', 'Auggie CLI');
14
- this.defaultLocations = [
15
- { name: 'Project Directory (.augment/commands)', value: '.augment/commands', checked: true },
16
- { name: 'User Home (~/.augment/commands)', value: path.join(os.homedir(), '.augment', 'commands') },
17
- { name: 'Custom Location', value: 'custom' },
18
- ];
19
13
  this.detectionPaths = ['.augment'];
20
14
  }
21
15
 
22
- /**
23
- * Collect configuration choices before installation
24
- * @param {Object} options - Configuration options
25
- * @returns {Object} Collected configuration
26
- */
27
- async collectConfiguration(options = {}) {
28
- const response = await inquirer.prompt([
29
- {
30
- type: 'checkbox',
31
- name: 'locations',
32
- message: 'Select Auggie CLI installation locations:',
33
- choices: this.defaultLocations,
34
- validate: (answers) => {
35
- if (answers.length === 0) {
36
- return 'Please select at least one location';
37
- }
38
- return true;
39
- },
40
- },
41
- ]);
42
-
43
- const locations = [];
44
- for (const loc of response.locations) {
45
- if (loc === 'custom') {
46
- const custom = await inquirer.prompt([
47
- {
48
- type: 'input',
49
- name: 'path',
50
- message: 'Enter custom path for Auggie commands:',
51
- validate: (input) => {
52
- if (!input.trim()) {
53
- return 'Path cannot be empty';
54
- }
55
- return true;
56
- },
57
- },
58
- ]);
59
- locations.push(custom.path);
60
- } else {
61
- locations.push(loc);
62
- }
63
- }
64
-
65
- return { auggieLocations: locations };
66
- }
67
-
68
16
  /**
69
17
  * Setup Auggie CLI configuration
70
18
  * @param {string} projectDir - Project directory
@@ -74,175 +22,82 @@ class AuggieSetup extends BaseIdeSetup {
74
22
  async setup(projectDir, bmadDir, options = {}) {
75
23
  console.log(chalk.cyan(`Setting up ${this.name}...`));
76
24
 
77
- // Use pre-collected configuration if available
78
- const config = options.preCollectedConfig || {};
79
- const locations = await this.getInstallLocations(projectDir, { ...options, auggieLocations: config.auggieLocations });
80
-
81
- if (locations.length === 0) {
82
- console.log(chalk.yellow('No locations selected. Skipping Auggie CLI setup.'));
83
- return { success: false, reason: 'no-locations' };
84
- }
25
+ // Always use project directory
26
+ const location = path.join(projectDir, '.augment', 'commands');
85
27
 
86
28
  // Clean up old BMAD installation first
87
29
  await this.cleanup(projectDir);
88
30
 
89
- // Get agents, tasks, tools, and workflows (standalone only)
90
- const agents = await this.getAgents(bmadDir);
31
+ // Generate agent launchers
32
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
33
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
34
+
35
+ // Get tasks, tools, and workflows (standalone only)
91
36
  const tasks = await this.getTasks(bmadDir, true);
92
37
  const tools = await this.getTools(bmadDir, true);
93
38
  const workflows = await this.getWorkflows(bmadDir, true);
94
39
 
95
- let totalInstalled = 0;
96
-
97
- // Install to each selected location
98
- for (const location of locations) {
99
- console.log(chalk.dim(`\n Installing to: ${location}`));
100
-
101
- const bmadCommandsDir = path.join(location, 'bmad');
102
- const agentsDir = path.join(bmadCommandsDir, 'agents');
103
- const tasksDir = path.join(bmadCommandsDir, 'tasks');
104
- const toolsDir = path.join(bmadCommandsDir, 'tools');
105
- const workflowsDir = path.join(bmadCommandsDir, 'workflows');
106
-
107
- await this.ensureDir(agentsDir);
108
- await this.ensureDir(tasksDir);
109
- await this.ensureDir(toolsDir);
110
- await this.ensureDir(workflowsDir);
111
-
112
- // Install agents
113
- for (const agent of agents) {
114
- const content = await this.readFile(agent.path);
115
- const commandContent = this.createAgentCommand(agent, content);
116
-
117
- const targetPath = path.join(agentsDir, `${agent.module}-${agent.name}.md`);
118
- await this.writeFile(targetPath, commandContent);
119
- totalInstalled++;
120
- }
121
-
122
- // Install tasks
123
- for (const task of tasks) {
124
- const content = await this.readFile(task.path);
125
- const commandContent = this.createTaskCommand(task, content);
126
-
127
- const targetPath = path.join(tasksDir, `${task.module}-${task.name}.md`);
128
- await this.writeFile(targetPath, commandContent);
129
- totalInstalled++;
130
- }
131
-
132
- // Install tools
133
- for (const tool of tools) {
134
- const content = await this.readFile(tool.path);
135
- const commandContent = this.createToolCommand(tool, content);
136
-
137
- const targetPath = path.join(toolsDir, `${tool.module}-${tool.name}.md`);
138
- await this.writeFile(targetPath, commandContent);
139
- totalInstalled++;
140
- }
141
-
142
- // Install workflows
143
- for (const workflow of workflows) {
144
- const content = await this.readFile(workflow.path);
145
- const commandContent = this.createWorkflowCommand(workflow, content);
146
-
147
- const targetPath = path.join(workflowsDir, `${workflow.module}-${workflow.name}.md`);
148
- await this.writeFile(targetPath, commandContent);
149
- totalInstalled++;
150
- }
151
-
152
- console.log(
153
- chalk.green(` ✓ Installed ${agents.length} agents, ${tasks.length} tasks, ${tools.length} tools, ${workflows.length} workflows`),
154
- );
40
+ const bmadCommandsDir = path.join(location, 'bmad');
41
+ const agentsDir = path.join(bmadCommandsDir, 'agents');
42
+ const tasksDir = path.join(bmadCommandsDir, 'tasks');
43
+ const toolsDir = path.join(bmadCommandsDir, 'tools');
44
+ const workflowsDir = path.join(bmadCommandsDir, 'workflows');
45
+
46
+ await this.ensureDir(agentsDir);
47
+ await this.ensureDir(tasksDir);
48
+ await this.ensureDir(toolsDir);
49
+ await this.ensureDir(workflowsDir);
50
+
51
+ // Install agent launchers
52
+ for (const artifact of agentArtifacts) {
53
+ const targetPath = path.join(agentsDir, `${artifact.module}-${artifact.name}.md`);
54
+ await this.writeFile(targetPath, artifact.content);
155
55
  }
156
56
 
157
- console.log(chalk.green(`\n✓ ${this.name} configured:`));
158
- console.log(chalk.dim(` - ${totalInstalled} total commands installed`));
159
- console.log(chalk.dim(` - ${locations.length} location(s) configured`));
57
+ // Install tasks
58
+ for (const task of tasks) {
59
+ const content = await this.readFile(task.path);
60
+ const commandContent = this.createTaskCommand(task, content);
160
61
 
161
- return {
162
- success: true,
163
- commands: totalInstalled,
164
- locations: locations.length,
165
- };
166
- }
167
-
168
- /**
169
- * Get installation locations from user
170
- */
171
- async getInstallLocations(projectDir, options) {
172
- if (options.auggieLocations) {
173
- // Process the pre-collected locations to resolve relative paths
174
- const processedLocations = [];
175
- for (const loc of options.auggieLocations) {
176
- if (loc === '.augment/commands') {
177
- // Relative to project directory
178
- processedLocations.push(path.join(projectDir, loc));
179
- } else {
180
- processedLocations.push(loc);
181
- }
182
- }
183
- return processedLocations;
62
+ const targetPath = path.join(tasksDir, `${task.module}-${task.name}.md`);
63
+ await this.writeFile(targetPath, commandContent);
184
64
  }
185
65
 
186
- const response = await inquirer.prompt([
187
- {
188
- type: 'checkbox',
189
- name: 'locations',
190
- message: 'Select Auggie CLI installation locations:',
191
- choices: this.defaultLocations,
192
- validate: (answers) => {
193
- if (answers.length === 0) {
194
- return 'Please select at least one location';
195
- }
196
- return true;
197
- },
198
- },
199
- ]);
200
-
201
- const locations = [];
202
- for (const loc of response.locations) {
203
- if (loc === 'custom') {
204
- const custom = await inquirer.prompt([
205
- {
206
- type: 'input',
207
- name: 'path',
208
- message: 'Enter custom path for Auggie commands:',
209
- validate: (input) => {
210
- if (!input.trim()) {
211
- return 'Path cannot be empty';
212
- }
213
- return true;
214
- },
215
- },
216
- ]);
217
- locations.push(custom.path);
218
- } else if (loc.startsWith('.augment')) {
219
- // Relative to project directory
220
- locations.push(path.join(projectDir, loc));
221
- } else {
222
- locations.push(loc);
223
- }
66
+ // Install tools
67
+ for (const tool of tools) {
68
+ const content = await this.readFile(tool.path);
69
+ const commandContent = this.createToolCommand(tool, content);
70
+
71
+ const targetPath = path.join(toolsDir, `${tool.module}-${tool.name}.md`);
72
+ await this.writeFile(targetPath, commandContent);
224
73
  }
225
74
 
226
- return locations;
227
- }
75
+ // Install workflows
76
+ for (const workflow of workflows) {
77
+ const content = await this.readFile(workflow.path);
78
+ const commandContent = this.createWorkflowCommand(workflow, content);
228
79
 
229
- /**
230
- * Create agent command content
231
- */
232
- createAgentCommand(agent, content) {
233
- const titleMatch = content.match(/title="([^"]+)"/);
234
- const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
235
-
236
- return `# ${title} Agent
80
+ const targetPath = path.join(workflowsDir, `${workflow.module}-${workflow.name}.md`);
81
+ await this.writeFile(targetPath, commandContent);
82
+ }
237
83
 
238
- ## Activation
239
- Type \`@${agent.name}\` to activate this agent.
84
+ const totalInstalled = agentArtifacts.length + tasks.length + tools.length + workflows.length;
240
85
 
241
- ${content}
86
+ console.log(chalk.green(`✓ ${this.name} configured:`));
87
+ console.log(chalk.dim(` - ${agentArtifacts.length} agents installed`));
88
+ console.log(chalk.dim(` - ${tasks.length} tasks installed`));
89
+ console.log(chalk.dim(` - ${tools.length} tools installed`));
90
+ console.log(chalk.dim(` - ${workflows.length} workflows installed`));
91
+ console.log(chalk.dim(` - Location: ${path.relative(projectDir, location)}`));
92
+ console.log(chalk.yellow(`\n 💡 Tip: Add 'model: gpt-4o' to command frontmatter to specify AI model`));
242
93
 
243
- ## Module
244
- BMAD ${agent.module.toUpperCase()} module
245
- `;
94
+ return {
95
+ success: true,
96
+ agents: agentArtifacts.length,
97
+ tasks: tasks.length,
98
+ tools: tools.length,
99
+ workflows: workflows.length,
100
+ };
246
101
  }
247
102
 
248
103
  /**
@@ -252,10 +107,11 @@ BMAD ${agent.module.toUpperCase()} module
252
107
  const nameMatch = content.match(/name="([^"]+)"/);
253
108
  const taskName = nameMatch ? nameMatch[1] : this.formatTitle(task.name);
254
109
 
255
- return `# ${taskName} Task
110
+ return `---
111
+ description: "Execute the ${taskName} task"
112
+ ---
256
113
 
257
- ## Activation
258
- Type \`@task-${task.name}\` to execute this task.
114
+ # ${taskName} Task
259
115
 
260
116
  ${content}
261
117
 
@@ -271,10 +127,11 @@ BMAD ${task.module.toUpperCase()} module
271
127
  const nameMatch = content.match(/name="([^"]+)"/);
272
128
  const toolName = nameMatch ? nameMatch[1] : this.formatTitle(tool.name);
273
129
 
274
- return `# ${toolName} Tool
130
+ return `---
131
+ description: "Use the ${toolName} tool"
132
+ ---
275
133
 
276
- ## Activation
277
- Type \`@tool-${tool.name}\` to execute this tool.
134
+ # ${toolName} Tool
278
135
 
279
136
  ${content}
280
137
 
@@ -287,13 +144,13 @@ BMAD ${tool.module.toUpperCase()} module
287
144
  * Create workflow command content
288
145
  */
289
146
  createWorkflowCommand(workflow, content) {
290
- return `# ${workflow.name} Workflow
147
+ const description = workflow.description || `Execute the ${workflow.name} workflow`;
291
148
 
292
- ## Description
293
- ${workflow.description || 'No description provided'}
149
+ return `---
150
+ description: "${description}"
151
+ ---
294
152
 
295
- ## Activation
296
- Type \`@workflow-${workflow.name}\` to execute this workflow.
153
+ # ${workflow.name} Workflow
297
154
 
298
155
  ${content}
299
156
 
@@ -308,16 +165,13 @@ BMAD ${workflow.module.toUpperCase()} module
308
165
  async cleanup(projectDir) {
309
166
  const fs = require('fs-extra');
310
167
 
311
- // Check common locations - bmad folder structure
312
- const locations = [path.join(os.homedir(), '.augment', 'commands'), path.join(projectDir, '.augment', 'commands')];
313
-
314
- for (const location of locations) {
315
- const bmadDir = path.join(location, 'bmad');
168
+ // Only clean up project directory
169
+ const location = path.join(projectDir, '.augment', 'commands');
170
+ const bmadDir = path.join(location, 'bmad');
316
171
 
317
- if (await fs.pathExists(bmadDir)) {
318
- await fs.remove(bmadDir);
319
- console.log(chalk.dim(` Removed old BMAD commands from ${location}`));
320
- }
172
+ if (await fs.pathExists(bmadDir)) {
173
+ await fs.remove(bmadDir);
174
+ console.log(chalk.dim(` Removed old BMAD commands`));
321
175
  }
322
176
  }
323
177
  }
@@ -2,8 +2,9 @@ const path = require('node:path');
2
2
  const { BaseIdeSetup } = require('./_base-ide');
3
3
  const chalk = require('chalk');
4
4
  const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root');
5
- const { WorkflowCommandGenerator } = require('./workflow-command-generator');
6
- const { TaskToolCommandGenerator } = require('./task-tool-command-generator');
5
+ const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
6
+ const { TaskToolCommandGenerator } = require('./shared/task-tool-command-generator');
7
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
7
8
  const {
8
9
  loadModuleInjectionConfig,
9
10
  shouldApplyInjection,
@@ -117,33 +118,24 @@ class ClaudeCodeSetup extends BaseIdeSetup {
117
118
 
118
119
  await this.ensureDir(bmadCommandsDir);
119
120
 
120
- // Get agents from INSTALLED bmad/ directory
121
- // Base installer has already built .md files from .agent.yaml sources
122
- const agents = await getAgentsFromBmad(bmadDir, options.selectedModules || []);
121
+ // Generate agent launchers using AgentCommandGenerator
122
+ // This creates small launcher files that reference the actual agents in .bmad/
123
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
124
+ const { artifacts: agentArtifacts, counts: agentCounts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
123
125
 
124
- // Create directories for each module (including standalone)
126
+ // Create directories for each module
125
127
  const modules = new Set();
126
- for (const item of agents) modules.add(item.module);
128
+ for (const artifact of agentArtifacts) {
129
+ modules.add(artifact.module);
130
+ }
127
131
 
128
132
  for (const module of modules) {
129
133
  await this.ensureDir(path.join(bmadCommandsDir, module));
130
134
  await this.ensureDir(path.join(bmadCommandsDir, module, 'agents'));
131
135
  }
132
136
 
133
- // Copy agents from bmad/ to .claude/commands/
134
- let agentCount = 0;
135
- for (const agent of agents) {
136
- const sourcePath = agent.path;
137
- const targetPath = path.join(bmadCommandsDir, agent.module, 'agents', `${agent.name}.md`);
138
-
139
- const content = await this.readAndProcess(sourcePath, {
140
- module: agent.module,
141
- name: agent.name,
142
- });
143
-
144
- await this.writeFile(targetPath, content);
145
- agentCount++;
146
- }
137
+ // Write agent launcher files
138
+ const agentCount = await agentGen.writeAgentLaunchers(bmadCommandsDir, agentArtifacts);
147
139
 
148
140
  // Process Claude Code specific injections for installed modules
149
141
  // Use pre-collected configuration if available, or skip if already configured
@@ -161,7 +153,7 @@ class ClaudeCodeSetup extends BaseIdeSetup {
161
153
  // await this.createClaudeConfig(projectDir, modules);
162
154
 
163
155
  // Generate workflow commands from manifest (if it exists)
164
- const workflowGen = new WorkflowCommandGenerator();
156
+ const workflowGen = new WorkflowCommandGenerator(this.bmadFolderName);
165
157
  const { artifacts: workflowArtifacts } = await workflowGen.collectWorkflowArtifacts(bmadDir);
166
158
 
167
159
  // Write only workflow-command artifacts, skip workflow-launcher READMEs
@@ -2,7 +2,8 @@ const path = require('node:path');
2
2
  const fs = require('fs-extra');
3
3
  const chalk = require('chalk');
4
4
  const { BaseIdeSetup } = require('./_base-ide');
5
- const { WorkflowCommandGenerator } = require('./workflow-command-generator');
5
+ const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
6
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
6
7
  const { getAgentsFromBmad, getTasksFromBmad } = require('./shared/bmad-artifacts');
7
8
 
8
9
  /**
@@ -11,7 +12,7 @@ const { getAgentsFromBmad, getTasksFromBmad } = require('./shared/bmad-artifacts
11
12
  */
12
13
  class ClineSetup extends BaseIdeSetup {
13
14
  constructor() {
14
- super('cline', 'Cline', true); // preferred IDE
15
+ super('cline', 'Cline', false);
15
16
  this.configDir = '.clinerules';
16
17
  this.workflowsDir = 'workflows';
17
18
  }
@@ -88,23 +89,19 @@ class ClineSetup extends BaseIdeSetup {
88
89
  const selectedModules = options.selectedModules || [];
89
90
  const artifacts = [];
90
91
 
91
- // Get agents
92
- const agents = await getAgentsFromBmad(bmadDir, selectedModules);
93
- for (const agent of agents) {
94
- const content = await this.readAndProcessWithProject(
95
- agent.path,
96
- {
97
- module: agent.module,
98
- name: agent.name,
99
- },
100
- projectDir,
101
- );
92
+ // Generate agent launchers
93
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
94
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, selectedModules);
95
+
96
+ // Process agent launchers with project-specific paths
97
+ for (const agentArtifact of agentArtifacts) {
98
+ const content = agentArtifact.content;
102
99
 
103
100
  artifacts.push({
104
101
  type: 'agent',
105
- module: agent.module,
106
- sourcePath: agent.path,
107
- relativePath: path.join(agent.module, 'agents', `${agent.name}.md`),
102
+ module: agentArtifact.module,
103
+ sourcePath: agentArtifact.sourcePath,
104
+ relativePath: agentArtifact.relativePath,
108
105
  content,
109
106
  });
110
107
  }
@@ -131,14 +128,14 @@ class ClineSetup extends BaseIdeSetup {
131
128
  }
132
129
 
133
130
  // Get workflows
134
- const workflowGenerator = new WorkflowCommandGenerator();
131
+ const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
135
132
  const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
136
133
  artifacts.push(...workflowArtifacts);
137
134
 
138
135
  return {
139
136
  artifacts,
140
137
  counts: {
141
- agents: agents.length,
138
+ agents: agentArtifacts.length,
142
139
  tasks: tasks.length,
143
140
  workflows: workflowCounts.commands,
144
141
  workflowLaunchers: workflowCounts.launchers,