bmad-method 6.0.0-alpha.12 → 6.0.0-alpha.13

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 (491) hide show
  1. package/.github/workflows/bundle-latest.yaml +79 -27
  2. package/CHANGELOG.md +159 -1
  3. package/README.md +3 -1
  4. package/custom/src/agents/commit-poet/commit-poet.agent.yaml +129 -0
  5. package/custom/src/agents/commit-poet/installation-guide.md +36 -0
  6. package/custom/src/agents/toolsmith/installation-guide.md +36 -0
  7. package/custom/src/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
  8. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
  9. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
  10. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
  11. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
  12. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
  13. package/custom/src/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
  14. package/custom/src/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
  15. package/custom/src/agents/toolsmith/toolsmith.agent.yaml +108 -0
  16. package/docs/custom-agent-installation.md +31 -17
  17. package/docs/ide-info/rovo-dev.md +388 -0
  18. package/docs/index.md +6 -81
  19. package/docs/installers-bundlers/installers-modules-platforms-reference.md +1 -1
  20. package/package.json +1 -1
  21. package/src/core/agents/bmad-master.agent.yaml +1 -1
  22. package/src/core/agents/bmad-web-orchestrator.agent.xml +1 -1
  23. package/src/core/tasks/advanced-elicitation-methods.csv +51 -21
  24. package/src/core/tasks/advanced-elicitation.xml +18 -8
  25. package/src/core/tasks/workflow.xml +36 -71
  26. package/src/core/workflows/brainstorming/brain-methods.csv +62 -36
  27. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +196 -0
  28. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +121 -0
  29. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +224 -0
  30. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +236 -0
  31. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +208 -0
  32. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +263 -0
  33. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +339 -0
  34. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +302 -0
  35. package/src/core/workflows/brainstorming/template.md +13 -104
  36. package/src/core/workflows/brainstorming/workflow.md +51 -0
  37. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  38. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +203 -0
  39. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +159 -0
  40. package/src/core/workflows/party-mode/workflow.md +207 -0
  41. package/src/modules/bmb/README.md +153 -86
  42. package/src/modules/bmb/_module-installer/install-config.yaml +3 -3
  43. package/src/modules/bmb/agents/bmad-builder.agent.yaml +45 -31
  44. package/src/modules/bmb/docs/{agent-menu-patterns.md → agents/agent-menu-patterns.md} +1 -1
  45. package/src/modules/bmb/docs/agents/kb.csv +0 -0
  46. package/src/modules/bmb/docs/{module-agent-architecture.md → agents/module-agent-architecture.md} +1 -1
  47. package/src/modules/bmb/docs/{simple-agent-architecture.md → agents/simple-agent-architecture.md} +1 -1
  48. package/src/modules/bmb/docs/workflows/architecture.md +220 -0
  49. package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +19 -0
  50. package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +206 -0
  51. package/src/modules/bmb/docs/workflows/index.md +45 -0
  52. package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  53. package/src/modules/bmb/docs/workflows/kb.csv +0 -0
  54. package/src/modules/bmb/docs/workflows/step-template.md +283 -0
  55. package/src/modules/bmb/docs/workflows/terms.md +97 -0
  56. package/src/modules/bmb/docs/workflows/workflow-template.md +152 -0
  57. package/src/modules/bmb/reference/agents/module-examples/README.md +1 -1
  58. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +2 -2
  59. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +1 -1
  60. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  61. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  62. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  63. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  64. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  65. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  66. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  67. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  68. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  69. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  70. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  71. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  72. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  73. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  74. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  75. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  76. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  77. package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +17 -0
  78. package/src/modules/bmb/workflows/create-agent/data/reference/README.md +3 -0
  79. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  80. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  81. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  82. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  83. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  84. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  85. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +50 -0
  86. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  87. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  88. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +223 -0
  89. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  90. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  91. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  92. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  93. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  94. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  95. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  96. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  97. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  98. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  99. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  100. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  101. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  102. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  103. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  104. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  105. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  106. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  107. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +305 -0
  108. package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +145 -0
  109. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +210 -0
  110. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +260 -0
  111. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +237 -0
  112. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +231 -0
  113. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +224 -0
  114. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +234 -0
  115. package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +179 -0
  116. package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +197 -0
  117. package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +180 -0
  118. package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +222 -0
  119. package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +21 -0
  120. package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +25 -0
  121. package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +23 -0
  122. package/src/modules/bmb/workflows/create-agent/workflow.md +91 -0
  123. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +168 -0
  124. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +233 -0
  125. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-overview.md +127 -0
  126. package/src/modules/bmb/workflows/create-workflow/steps/step-04-core-tools.md +145 -0
  127. package/src/modules/bmb/workflows/create-workflow/steps/step-05-memory-requirements.md +136 -0
  128. package/src/modules/bmb/workflows/create-workflow/steps/step-06-external-tools.md +154 -0
  129. package/src/modules/bmb/workflows/create-workflow/steps/step-07-installation-guidance.md +159 -0
  130. package/src/modules/bmb/workflows/create-workflow/steps/step-08-tools-summary.md +167 -0
  131. package/src/modules/bmb/workflows/create-workflow/steps/step-09-design.md +239 -0
  132. package/src/modules/bmb/workflows/create-workflow/steps/step-10-plan-review.md +215 -0
  133. package/src/modules/bmb/workflows/create-workflow/steps/step-11-build.md +262 -0
  134. package/src/modules/bmb/workflows/create-workflow/steps/step-12-review.md +270 -0
  135. package/src/modules/bmb/workflows/create-workflow/templates/build-summary.md +36 -0
  136. package/src/modules/bmb/workflows/create-workflow/templates/completion-section.md +39 -0
  137. package/src/modules/bmb/workflows/create-workflow/templates/content-template.md +21 -0
  138. package/src/modules/bmb/workflows/create-workflow/templates/design-section.md +53 -0
  139. package/src/modules/bmb/workflows/create-workflow/templates/project-info.md +18 -0
  140. package/src/modules/bmb/workflows/create-workflow/templates/requirements-section.md +47 -0
  141. package/src/modules/bmb/workflows/create-workflow/templates/review-section.md +56 -0
  142. package/src/modules/bmb/workflows/create-workflow/templates/step-file.md +139 -0
  143. package/src/modules/bmb/workflows/create-workflow/templates/workflow-plan.md +54 -0
  144. package/src/modules/bmb/workflows/create-workflow/templates/workflow.md +58 -0
  145. package/src/modules/bmb/workflows/create-workflow/workflow.md +58 -0
  146. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +134 -0
  147. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +202 -0
  148. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +157 -0
  149. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +150 -0
  150. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +150 -0
  151. package/src/modules/bmb/workflows/edit-agent/workflow.md +58 -0
  152. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +221 -0
  153. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +253 -0
  154. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +217 -0
  155. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +193 -0
  156. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +245 -0
  157. package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  158. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  159. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  160. package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  161. package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  162. package/src/modules/bmb/workflows/edit-workflow/workflow.md +58 -0
  163. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +152 -0
  164. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +243 -0
  165. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +274 -0
  166. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +295 -0
  167. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +264 -0
  168. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +360 -0
  169. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +258 -0
  170. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +301 -0
  171. package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  172. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +58 -0
  173. package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -1
  174. package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -1
  175. package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -1
  176. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -1
  177. package/src/modules/bmm/_module-installer/install-config.yaml +9 -15
  178. package/src/modules/bmm/agents/analyst.agent.yaml +14 -14
  179. package/src/modules/bmm/agents/architect.agent.yaml +12 -10
  180. package/src/modules/bmm/agents/dev.agent.yaml +20 -16
  181. package/src/modules/bmm/agents/pm.agent.yaml +13 -31
  182. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +36 -0
  183. package/src/modules/bmm/agents/sm.agent.yaml +13 -31
  184. package/src/modules/bmm/agents/tea.agent.yaml +10 -7
  185. package/src/modules/bmm/agents/tech-writer.agent.yaml +7 -20
  186. package/src/modules/bmm/agents/ux-designer.agent.yaml +12 -10
  187. package/src/modules/bmm/data/README.md +29 -0
  188. package/src/modules/bmm/data/project-context-template.md +40 -0
  189. package/src/modules/bmm/docs/README.md +21 -9
  190. package/src/modules/bmm/docs/agents-guide.md +69 -23
  191. package/src/modules/bmm/docs/bmad-quick-flow.md +528 -0
  192. package/src/modules/bmm/docs/brownfield-guide.md +9 -10
  193. package/src/modules/bmm/docs/enterprise-agentic-development.md +1 -1
  194. package/src/modules/bmm/docs/glossary.md +5 -5
  195. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +909 -1654
  196. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -2
  197. package/src/modules/bmm/docs/quick-flow-solo-dev.md +337 -0
  198. package/src/modules/bmm/docs/scale-adaptive-system.md +5 -5
  199. package/src/modules/bmm/docs/test-architecture.md +84 -18
  200. package/src/modules/bmm/docs/workflows-analysis.md +36 -140
  201. package/src/modules/bmm/docs/workflows-implementation.md +32 -157
  202. package/src/modules/bmm/docs/workflows-planning.md +51 -212
  203. package/src/modules/bmm/docs/workflows-solutioning.md +24 -69
  204. package/src/modules/bmm/teams/default-party.csv +15 -14
  205. package/src/modules/bmm/teams/team-fullstack.yaml +0 -1
  206. package/src/modules/bmm/testarch/knowledge/api-request.md +303 -0
  207. package/src/modules/bmm/testarch/knowledge/auth-session.md +356 -0
  208. package/src/modules/bmm/testarch/knowledge/burn-in.md +273 -0
  209. package/src/modules/bmm/testarch/knowledge/file-utils.md +260 -0
  210. package/src/modules/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  211. package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +280 -0
  212. package/src/modules/bmm/testarch/knowledge/log.md +294 -0
  213. package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +272 -0
  214. package/src/modules/bmm/testarch/knowledge/network-recorder.md +265 -0
  215. package/src/modules/bmm/testarch/knowledge/overview.md +284 -0
  216. package/src/modules/bmm/testarch/knowledge/recurse.md +296 -0
  217. package/src/modules/bmm/testarch/tea-index.csv +11 -0
  218. package/src/modules/bmm/workflows/1-analysis/product-brief/product-brief.template.md +8 -0
  219. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01-init.md +192 -0
  220. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01b-continue.md +167 -0
  221. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +203 -0
  222. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +206 -0
  223. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +209 -0
  224. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +223 -0
  225. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-06-complete.md +199 -0
  226. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +58 -0
  227. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +136 -0
  228. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +228 -0
  229. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +237 -0
  230. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +205 -0
  231. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +233 -0
  232. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  233. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  234. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +235 -0
  235. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +198 -0
  236. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +247 -0
  237. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +257 -0
  238. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +175 -0
  239. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  240. package/src/modules/bmm/workflows/1-analysis/research/research.template.md +16 -0
  241. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +136 -0
  242. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +237 -0
  243. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +246 -0
  244. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +200 -0
  245. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +237 -0
  246. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  247. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +198 -0
  248. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +159 -0
  249. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +126 -0
  250. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +209 -0
  251. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +215 -0
  252. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +218 -0
  253. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +233 -0
  254. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +251 -0
  255. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +253 -0
  256. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +223 -0
  257. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +223 -0
  258. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +240 -0
  259. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +247 -0
  260. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +236 -0
  261. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +263 -0
  262. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +226 -0
  263. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +6 -138
  264. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +53 -0
  265. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +5 -200
  266. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +161 -0
  267. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +123 -0
  268. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +275 -0
  269. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +271 -0
  270. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +272 -0
  271. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +249 -0
  272. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +240 -0
  273. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +236 -0
  274. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +280 -0
  275. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +251 -0
  276. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +275 -0
  277. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +210 -0
  278. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +61 -0
  279. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-decision-template.md +13 -0
  280. package/src/modules/bmm/workflows/3-solutioning/architecture/data/domain-complexity.csv +11 -0
  281. package/src/modules/bmm/workflows/3-solutioning/architecture/data/project-types.csv +7 -0
  282. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01-init.md +194 -0
  283. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01b-continue.md +163 -0
  284. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-02-context.md +223 -0
  285. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +330 -0
  286. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +317 -0
  287. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-05-patterns.md +358 -0
  288. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-06-structure.md +378 -0
  289. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-07-validation.md +358 -0
  290. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-08-complete.md +351 -0
  291. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +48 -0
  292. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +247 -476
  293. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +8 -18
  294. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +176 -0
  295. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +4 -11
  296. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +332 -214
  297. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +324 -0
  298. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +21 -34
  299. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +65 -23
  300. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +406 -0
  301. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +6 -37
  302. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +4 -3
  303. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -0
  304. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +115 -0
  305. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +26 -0
  306. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md +25 -0
  307. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +105 -0
  308. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +29 -0
  309. package/src/modules/bmm/workflows/generate-project-context/project-context-template.md +20 -0
  310. package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +193 -0
  311. package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +317 -0
  312. package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +277 -0
  313. package/src/modules/bmm/workflows/generate-project-context/workflow.md +48 -0
  314. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +23 -3
  315. package/src/modules/bmm/workflows/testarch/automate/instructions.md +23 -2
  316. package/src/modules/bmm/workflows/testarch/ci/instructions.md +18 -1
  317. package/src/modules/bmm/workflows/testarch/framework/instructions.md +27 -1
  318. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +8 -2
  319. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +28 -8
  320. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +66 -54
  321. package/src/modules/bmm/workflows/workflow-status/instructions.md +11 -4
  322. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +3 -2
  323. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +3 -2
  324. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +3 -2
  325. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +3 -2
  326. package/src/modules/cis/agents/README.md +1 -1
  327. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +3 -2
  328. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +2 -1
  329. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +2 -1
  330. package/src/modules/cis/agents/innovation-strategist.agent.yaml +2 -1
  331. package/src/modules/cis/agents/presentation-master.agent.yaml +3 -2
  332. package/src/modules/cis/agents/storyteller.agent.yaml +2 -1
  333. package/src/modules/cis/teams/default-party.csv +6 -5
  334. package/src/utility/models/agent-activation-ide.xml +4 -4
  335. package/src/utility/models/agent-activation-web.xml +1 -11
  336. package/src/utility/models/fragments/activation-rules.xml +5 -6
  337. package/src/utility/models/fragments/handler-exec.xml +6 -5
  338. package/src/utility/models/fragments/handler-multi.xml +14 -0
  339. package/test/README.md +1 -1
  340. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -3
  341. package/tools/cli/README.md +1 -0
  342. package/tools/cli/bundlers/web-bundler.js +3 -14
  343. package/tools/cli/commands/agent-install.js +8 -8
  344. package/tools/cli/commands/cleanup.js +141 -0
  345. package/tools/cli/commands/install.js +48 -3
  346. package/tools/cli/installers/lib/core/config-collector.js +24 -0
  347. package/tools/cli/installers/lib/core/installer.js +612 -43
  348. package/tools/cli/installers/lib/ide/antigravity.js +51 -7
  349. package/tools/cli/installers/lib/ide/auggie.js +53 -0
  350. package/tools/cli/installers/lib/ide/claude-code.js +1 -6
  351. package/tools/cli/installers/lib/ide/cline.js +49 -0
  352. package/tools/cli/installers/lib/ide/codex.js +2 -2
  353. package/tools/cli/installers/lib/ide/crush.js +47 -0
  354. package/tools/cli/installers/lib/ide/gemini.js +47 -0
  355. package/tools/cli/installers/lib/ide/github-copilot.js +59 -48
  356. package/tools/cli/installers/lib/ide/iflow.js +47 -0
  357. package/tools/cli/installers/lib/ide/kilo.js +74 -0
  358. package/tools/cli/installers/lib/ide/qwen.js +54 -0
  359. package/tools/cli/installers/lib/ide/roo.js +71 -0
  360. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  361. package/tools/cli/installers/lib/ide/trae.js +47 -0
  362. package/tools/cli/lib/agent/compiler.js +156 -22
  363. package/tools/cli/lib/agent/installer.js +13 -3
  364. package/tools/cli/lib/agent-analyzer.js +46 -18
  365. package/tools/cli/lib/ui.js +204 -9
  366. package/tools/cli/lib/yaml-xml-builder.js +123 -24
  367. package/tools/platform-codes.yaml +12 -0
  368. package/tools/schema/agent.js +169 -20
  369. package/src/core/tasks/adv-elicit-methods.csv +0 -39
  370. package/src/core/workflows/brainstorming/README.md +0 -261
  371. package/src/core/workflows/brainstorming/instructions.md +0 -315
  372. package/src/core/workflows/brainstorming/workflow.yaml +0 -38
  373. package/src/core/workflows/party-mode/instructions.md +0 -183
  374. package/src/core/workflows/party-mode/workflow.yaml +0 -28
  375. package/src/modules/bmb/workflows/audit-workflow/checklist.md +0 -142
  376. package/src/modules/bmb/workflows/audit-workflow/instructions.md +0 -341
  377. package/src/modules/bmb/workflows/audit-workflow/template.md +0 -118
  378. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +0 -25
  379. package/src/modules/bmb/workflows/convert-legacy/README.md +0 -262
  380. package/src/modules/bmb/workflows/convert-legacy/checklist.md +0 -205
  381. package/src/modules/bmb/workflows/convert-legacy/instructions.md +0 -377
  382. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +0 -30
  383. package/src/modules/bmb/workflows/create-agent/instructions.md +0 -519
  384. package/src/modules/bmb/workflows/create-agent/workflow.yaml +0 -55
  385. package/src/modules/bmb/workflows/create-workflow/README.md +0 -277
  386. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  387. package/src/modules/bmb/workflows/create-workflow/checklist.md +0 -94
  388. package/src/modules/bmb/workflows/create-workflow/instructions.md +0 -725
  389. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1327
  390. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  391. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -15
  392. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  393. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -61
  394. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +0 -41
  395. package/src/modules/bmb/workflows/edit-agent/README.md +0 -239
  396. package/src/modules/bmb/workflows/edit-agent/instructions.md +0 -654
  397. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +0 -49
  398. package/src/modules/bmb/workflows/edit-workflow/README.md +0 -119
  399. package/src/modules/bmb/workflows/edit-workflow/checklist.md +0 -70
  400. package/src/modules/bmb/workflows/edit-workflow/instructions.md +0 -342
  401. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  402. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +0 -1
  403. package/src/modules/bmm/_module-installer/assets/technical-decisions.md +0 -30
  404. package/src/modules/bmm/docs/quick-spec-flow.md +0 -652
  405. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -112
  406. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
  407. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -39
  408. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +0 -425
  409. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +0 -180
  410. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -56
  411. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
  412. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
  413. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +0 -181
  414. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -61
  415. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
  416. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
  417. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +0 -299
  418. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
  419. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -438
  420. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +0 -675
  421. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +0 -134
  422. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +0 -534
  423. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
  424. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +0 -347
  425. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +0 -245
  426. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +0 -62
  427. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
  428. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1308
  429. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -93
  430. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
  431. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -703
  432. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -78
  433. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
  434. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
  435. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -436
  436. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -980
  437. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
  438. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
  439. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -60
  440. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
  441. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
  442. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
  443. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
  444. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +0 -768
  445. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
  446. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -100
  447. package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
  448. package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +0 -22
  449. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
  450. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
  451. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
  452. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
  453. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
  454. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
  455. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -58
  456. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
  457. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
  458. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
  459. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -63
  460. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
  461. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -28
  462. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
  463. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -25
  464. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
  465. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
  466. /package/src/modules/bmb/docs/{agent-compilation.md → agents/agent-compilation.md} +0 -0
  467. /package/src/modules/bmb/docs/{expert-agent-architecture.md → agents/expert-agent-architecture.md} +0 -0
  468. /package/src/modules/bmb/docs/{index.md → agents/index.md} +0 -0
  469. /package/src/modules/bmb/docs/{understanding-agent-types.md → agents/understanding-agent-types.md} +0 -0
  470. /package/src/modules/bmb/reference/{readme.md → README.md} +0 -0
  471. /package/src/modules/bmb/workflows/create-agent/{agent-validation-checklist.md → data/agent-validation-checklist.md} +0 -0
  472. /package/src/modules/bmb/workflows/create-agent/{brainstorm-context.md → data/brainstorm-context.md} +0 -0
  473. /package/src/modules/bmb/workflows/create-agent/{communication-presets.csv → data/communication-presets.csv} +0 -0
  474. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/README.md +0 -0
  475. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/brainstorm-context.md +0 -0
  476. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/checklist.md +0 -0
  477. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/installer-templates/install-config.yaml +0 -0
  478. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/installer-templates/installer.js +0 -0
  479. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/instructions.md +0 -0
  480. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/module-structure.md +0 -0
  481. /package/src/modules/bmb/{workflows → workflows-legacy}/create-module/workflow.yaml +0 -0
  482. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/README.md +0 -0
  483. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/checklist.md +0 -0
  484. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/instructions.md +0 -0
  485. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/workflow.yaml +0 -0
  486. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/README.md +0 -0
  487. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/checklist.md +0 -0
  488. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/instructions.md +0 -0
  489. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/template.md +0 -0
  490. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/workflow.yaml +0 -0
  491. /package/src/modules/bmm/{workflows/techdoc → data}/documentation-standards.md +0 -0
@@ -1,4 +1,5 @@
1
1
  const path = require('node:path');
2
+ const fs = require('fs-extra');
2
3
  const { BaseIdeSetup } = require('./_base-ide');
3
4
  const chalk = require('chalk');
4
5
  const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root');
@@ -20,7 +21,7 @@ const { getAgentsFromBmad, getAgentsFromDir } = require('./shared/bmad-artifacts
20
21
  */
21
22
  class AntigravitySetup extends BaseIdeSetup {
22
23
  constructor() {
23
- super('antigravity', 'Google Antigravity', false);
24
+ super('antigravity', 'Google Antigravity', true);
24
25
  this.configDir = '.agent';
25
26
  this.workflowsDir = 'workflows';
26
27
  }
@@ -44,7 +45,6 @@ class AntigravitySetup extends BaseIdeSetup {
44
45
  const injectionConfigPath = path.join(sourceModulesPath, moduleName, 'sub-modules', 'antigravity', 'injections.yaml');
45
46
 
46
47
  if (await this.exists(injectionConfigPath)) {
47
- const fs = require('fs-extra');
48
48
  const yaml = require('js-yaml');
49
49
 
50
50
  try {
@@ -88,7 +88,6 @@ class AntigravitySetup extends BaseIdeSetup {
88
88
  * @param {string} projectDir - Project directory
89
89
  */
90
90
  async cleanup(projectDir) {
91
- const fs = require('fs-extra');
92
91
  const bmadWorkflowsDir = path.join(projectDir, this.configDir, this.workflowsDir, 'bmad');
93
92
 
94
93
  if (await fs.pathExists(bmadWorkflowsDir)) {
@@ -191,7 +190,6 @@ class AntigravitySetup extends BaseIdeSetup {
191
190
  * Read and process file content
192
191
  */
193
192
  async readAndProcess(filePath, metadata) {
194
- const fs = require('fs-extra');
195
193
  const content = await fs.readFile(filePath, 'utf8');
196
194
  return this.processContent(content, metadata);
197
195
  }
@@ -208,7 +206,6 @@ class AntigravitySetup extends BaseIdeSetup {
208
206
  * Get agents from source modules (not installed location)
209
207
  */
210
208
  async getAgentsFromSource(sourceDir, selectedModules) {
211
- const fs = require('fs-extra');
212
209
  const agents = [];
213
210
 
214
211
  // Add core agents
@@ -387,7 +384,6 @@ class AntigravitySetup extends BaseIdeSetup {
387
384
  * Inject content at specified point in file
388
385
  */
389
386
  async injectContent(projectDir, injection, subagentChoices = null) {
390
- const fs = require('fs-extra');
391
387
  const targetPath = path.join(projectDir, injection.file);
392
388
 
393
389
  if (await this.exists(targetPath)) {
@@ -413,7 +409,6 @@ class AntigravitySetup extends BaseIdeSetup {
413
409
  * Copy selected subagents to appropriate Antigravity agents directory
414
410
  */
415
411
  async copySelectedSubagents(projectDir, handlerBaseDir, subagentConfig, choices, location) {
416
- const fs = require('fs-extra');
417
412
  const os = require('node:os');
418
413
 
419
414
  // Determine target directory based on user choice
@@ -458,6 +453,55 @@ class AntigravitySetup extends BaseIdeSetup {
458
453
  console.log(chalk.dim(` Total subagents installed: ${copiedCount}`));
459
454
  }
460
455
  }
456
+
457
+ /**
458
+ * Install a custom agent launcher for Antigravity
459
+ * @param {string} projectDir - Project directory
460
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
461
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
462
+ * @param {Object} metadata - Agent metadata
463
+ * @returns {Object} Installation result
464
+ */
465
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
466
+ // Create .agent/workflows/bmad directory structure (same as regular agents)
467
+ const agentDir = path.join(projectDir, this.configDir);
468
+ const workflowsDir = path.join(agentDir, this.workflowsDir);
469
+ const bmadWorkflowsDir = path.join(workflowsDir, 'bmad');
470
+
471
+ await fs.ensureDir(bmadWorkflowsDir);
472
+
473
+ // Create custom agent launcher with same pattern as regular agents
474
+ const launcherContent = `name: '${agentName}'
475
+ description: '${agentName} agent'
476
+ usage: |
477
+ Custom BMAD agent: ${agentName}
478
+
479
+ Launch with: /${agentName}
480
+
481
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
482
+ <agent-activation CRITICAL="TRUE">
483
+ 1. LOAD the FULL agent file from @${agentPath}
484
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
485
+ 3. EXECUTE as ${agentName} with full persona adoption
486
+ </agent-activation>
487
+
488
+ ---
489
+
490
+ ⚠️ **IMPORTANT**: Run @${agentPath} to load the complete agent before using this launcher!`;
491
+
492
+ const fileName = `bmad-custom-agents-${agentName}.md`;
493
+ const launcherPath = path.join(bmadWorkflowsDir, fileName);
494
+
495
+ // Write the launcher file
496
+ await fs.writeFile(launcherPath, launcherContent, 'utf8');
497
+
498
+ return {
499
+ ide: 'antigravity',
500
+ path: path.relative(projectDir, launcherPath),
501
+ command: `/${agentName}`,
502
+ type: 'custom-agent-launcher',
503
+ };
504
+ }
461
505
  }
462
506
 
463
507
  module.exports = { AntigravitySetup };
@@ -1,4 +1,5 @@
1
1
  const path = require('node:path');
2
+ const fs = require('fs-extra');
2
3
  const { BaseIdeSetup } = require('./_base-ide');
3
4
  const chalk = require('chalk');
4
5
  const { AgentCommandGenerator } = require('./shared/agent-command-generator');
@@ -174,6 +175,58 @@ BMAD ${workflow.module.toUpperCase()} module
174
175
  console.log(chalk.dim(` Removed old BMAD commands`));
175
176
  }
176
177
  }
178
+
179
+ /**
180
+ * Install a custom agent launcher for Auggie
181
+ * @param {string} projectDir - Project directory
182
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
183
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
184
+ * @param {Object} metadata - Agent metadata
185
+ * @returns {Object} Installation result
186
+ */
187
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
188
+ // Auggie uses .augment/commands directory
189
+ const location = path.join(projectDir, '.augment', 'commands');
190
+ const bmadCommandsDir = path.join(location, 'bmad');
191
+ const agentsDir = path.join(bmadCommandsDir, 'agents');
192
+
193
+ // Create .augment/commands/bmad/agents directory if it doesn't exist
194
+ await fs.ensureDir(agentsDir);
195
+
196
+ // Create custom agent launcher
197
+ const launcherContent = `---
198
+ description: "Use the ${agentName} custom agent"
199
+ ---
200
+
201
+ # ${agentName} Custom Agent
202
+
203
+ **⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
204
+
205
+ This is a launcher for the custom BMAD agent "${agentName}".
206
+
207
+ ## Usage
208
+ 1. First run: \`${agentPath}\` to load the complete agent
209
+ 2. Then use this command to activate ${agentName}
210
+
211
+ The agent will follow the persona and instructions from the main agent file.
212
+
213
+ ## Module
214
+ BMAD Custom agent
215
+ `;
216
+
217
+ const fileName = `custom-${agentName.toLowerCase()}.md`;
218
+ const launcherPath = path.join(agentsDir, fileName);
219
+
220
+ // Write the launcher file
221
+ await fs.writeFile(launcherPath, launcherContent, 'utf8');
222
+
223
+ return {
224
+ ide: 'auggie',
225
+ path: path.relative(projectDir, launcherPath),
226
+ command: agentName,
227
+ type: 'custom-agent-launcher',
228
+ };
229
+ }
177
230
  }
178
231
 
179
232
  module.exports = { AuggieSetup };
@@ -1,4 +1,5 @@
1
1
  const path = require('node:path');
2
+ const fs = require('fs-extra');
2
3
  const { BaseIdeSetup } = require('./_base-ide');
3
4
  const chalk = require('chalk');
4
5
  const { getProjectRoot, getSourcePath, getModulePath } = require('../../../lib/project-root');
@@ -43,7 +44,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
43
44
  const injectionConfigPath = path.join(sourceModulesPath, moduleName, 'sub-modules', 'claude-code', 'injections.yaml');
44
45
 
45
46
  if (await this.exists(injectionConfigPath)) {
46
- const fs = require('fs-extra');
47
47
  const yaml = require('js-yaml');
48
48
 
49
49
  try {
@@ -87,7 +87,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
87
87
  * @param {string} projectDir - Project directory
88
88
  */
89
89
  async cleanup(projectDir) {
90
- const fs = require('fs-extra');
91
90
  const bmadCommandsDir = path.join(projectDir, this.configDir, this.commandsDir, 'bmad');
92
91
 
93
92
  if (await fs.pathExists(bmadCommandsDir)) {
@@ -199,7 +198,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
199
198
  * Read and process file content
200
199
  */
201
200
  async readAndProcess(filePath, metadata) {
202
- const fs = require('fs-extra');
203
201
  const content = await fs.readFile(filePath, 'utf8');
204
202
  return this.processContent(content, metadata);
205
203
  }
@@ -216,7 +214,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
216
214
  * Get agents from source modules (not installed location)
217
215
  */
218
216
  async getAgentsFromSource(sourceDir, selectedModules) {
219
- const fs = require('fs-extra');
220
217
  const agents = [];
221
218
 
222
219
  // Add core agents
@@ -395,7 +392,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
395
392
  * Inject content at specified point in file
396
393
  */
397
394
  async injectContent(projectDir, injection, subagentChoices = null) {
398
- const fs = require('fs-extra');
399
395
  const targetPath = path.join(projectDir, injection.file);
400
396
 
401
397
  if (await this.exists(targetPath)) {
@@ -421,7 +417,6 @@ class ClaudeCodeSetup extends BaseIdeSetup {
421
417
  * Copy selected subagents to appropriate Claude agents directory
422
418
  */
423
419
  async copySelectedSubagents(projectDir, handlerBaseDir, subagentConfig, choices, location) {
424
- const fs = require('fs-extra');
425
420
  const os = require('node:os');
426
421
 
427
422
  // Determine target directory based on user choice
@@ -209,6 +209,55 @@ class ClineSetup extends BaseIdeSetup {
209
209
  console.log(chalk.dim(`Removed ${this.name} BMAD configuration`));
210
210
  }
211
211
 
212
+ /**
213
+ * Install a custom agent launcher for Cline
214
+ * @param {string} projectDir - Project directory
215
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
216
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
217
+ * @param {Object} metadata - Agent metadata
218
+ * @returns {Object} Installation result
219
+ */
220
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
221
+ const clineDir = path.join(projectDir, this.configDir);
222
+ const workflowsDir = path.join(clineDir, this.workflowsDir);
223
+
224
+ // Create .clinerules/workflows directory if it doesn't exist
225
+ await fs.ensureDir(workflowsDir);
226
+
227
+ // Create custom agent launcher workflow
228
+ const launcherContent = `name: ${agentName}
229
+ description: Custom BMAD agent: ${agentName}
230
+
231
+ # ${agentName} Custom Agent
232
+
233
+ **⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
234
+
235
+ This is a launcher for the custom BMAD agent "${agentName}".
236
+
237
+ ## Usage
238
+ 1. First run: \`${agentPath}\` to load the complete agent
239
+ 2. Then use this workflow as ${agentName}
240
+
241
+ The agent will follow the persona and instructions from the main agent file.
242
+
243
+ ---
244
+
245
+ *Generated by BMAD Method*`;
246
+
247
+ const fileName = `bmad-custom-${agentName.toLowerCase()}.md`;
248
+ const launcherPath = path.join(workflowsDir, fileName);
249
+
250
+ // Write the launcher file
251
+ await fs.writeFile(launcherPath, launcherContent, 'utf8');
252
+
253
+ return {
254
+ ide: 'cline',
255
+ path: path.relative(projectDir, launcherPath),
256
+ command: agentName,
257
+ type: 'custom-agent-launcher',
258
+ };
259
+ }
260
+
212
261
  /**
213
262
  * Utility: Ensure directory exists
214
263
  */
@@ -354,7 +354,7 @@ class CodexSetup extends BaseIdeSetup {
354
354
  * @returns {Object|null} Info about created command
355
355
  */
356
356
  async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
357
- const destDir = this.getCodexPromptDir();
357
+ const destDir = this.getCodexPromptDir(projectDir, 'project');
358
358
  await fs.ensureDir(destDir);
359
359
 
360
360
  const launcherContent = `---
@@ -379,7 +379,7 @@ You must fully embody this agent's persona and follow all activation instruction
379
379
  await fs.writeFile(launcherPath, launcherContent, 'utf8');
380
380
 
381
381
  return {
382
- path: launcherPath,
382
+ path: path.relative(projectDir, launcherPath),
383
383
  command: `/${fileName.replace('.md', '')}`,
384
384
  };
385
385
  }
@@ -1,4 +1,5 @@
1
1
  const path = require('node:path');
2
+ const fs = require('fs-extra');
2
3
  const { BaseIdeSetup } = require('./_base-ide');
3
4
  const chalk = require('chalk');
4
5
  const { AgentCommandGenerator } = require('./shared/agent-command-generator');
@@ -235,6 +236,52 @@ Part of the BMAD ${workflow.module.toUpperCase()} module.
235
236
  console.log(chalk.dim(`Removed BMAD commands from Crush`));
236
237
  }
237
238
  }
239
+
240
+ /**
241
+ * Install a custom agent launcher for Crush
242
+ * @param {string} projectDir - Project directory
243
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
244
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
245
+ * @param {Object} metadata - Agent metadata
246
+ * @returns {Object} Installation result
247
+ */
248
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
249
+ const crushDir = path.join(projectDir, this.configDir);
250
+ const bmadCommandsDir = path.join(crushDir, this.commandsDir, 'bmad');
251
+
252
+ // Create .crush/commands/bmad directory if it doesn't exist
253
+ await fs.ensureDir(bmadCommandsDir);
254
+
255
+ // Create custom agent launcher
256
+ const launcherContent = `# ${agentName} Custom Agent
257
+
258
+ **⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
259
+
260
+ This is a launcher for the custom BMAD agent "${agentName}".
261
+
262
+ ## Usage
263
+ 1. First run: \`${agentPath}\` to load the complete agent
264
+ 2. Then use this command to activate ${agentName}
265
+
266
+ The agent will follow the persona and instructions from the main agent file.
267
+
268
+ ---
269
+
270
+ *Generated by BMAD Method*`;
271
+
272
+ const fileName = `custom-${agentName.toLowerCase()}.md`;
273
+ const launcherPath = path.join(bmadCommandsDir, fileName);
274
+
275
+ // Write the launcher file
276
+ await fs.writeFile(launcherPath, launcherContent, 'utf8');
277
+
278
+ return {
279
+ ide: 'crush',
280
+ path: path.relative(projectDir, launcherPath),
281
+ command: agentName,
282
+ type: 'custom-agent-launcher',
283
+ };
284
+ }
238
285
  }
239
286
 
240
287
  module.exports = { CrushSetup };
@@ -201,6 +201,53 @@ ${contentWithoutFrontmatter}
201
201
  }
202
202
  }
203
203
  }
204
+
205
+ /**
206
+ * Install a custom agent launcher for Gemini
207
+ * @param {string} projectDir - Project directory
208
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
209
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
210
+ * @param {Object} metadata - Agent metadata
211
+ * @returns {Object} Installation result
212
+ */
213
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
214
+ const geminiDir = path.join(projectDir, this.configDir);
215
+ const commandsDir = path.join(geminiDir, this.commandsDir);
216
+
217
+ // Create .gemini/commands directory if it doesn't exist
218
+ await fs.ensureDir(commandsDir);
219
+
220
+ // Create custom agent launcher in TOML format
221
+ const launcherContent = `description = "Custom BMAD Agent: ${agentName}"
222
+ prompt = """
223
+ **⚠️ IMPORTANT**: Run @${agentPath} first to load the complete agent!
224
+
225
+ This is a launcher for the custom BMAD agent "${agentName}".
226
+
227
+ ## Usage
228
+ 1. First run: \`${agentPath}\` to load the complete agent
229
+ 2. Then use this command to activate ${agentName}
230
+
231
+ The agent will follow the persona and instructions from the main agent file.
232
+
233
+ ---
234
+
235
+ *Generated by BMAD Method*
236
+ """`;
237
+
238
+ const fileName = `bmad-custom-${agentName.toLowerCase()}.toml`;
239
+ const launcherPath = path.join(commandsDir, fileName);
240
+
241
+ // Write the launcher file
242
+ await fs.writeFile(launcherPath, launcherContent, 'utf8');
243
+
244
+ return {
245
+ ide: 'gemini',
246
+ path: path.relative(projectDir, launcherPath),
247
+ command: agentName,
248
+ type: 'custom-agent-launcher',
249
+ };
250
+ }
204
251
  }
205
252
 
206
253
  module.exports = { GeminiSetup };
@@ -6,13 +6,13 @@ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
6
6
 
7
7
  /**
8
8
  * GitHub Copilot setup handler
9
- * Creates chat modes in .github/chatmodes/ and configures VS Code settings
9
+ * Creates agents in .github/agents/ and configures VS Code settings
10
10
  */
11
11
  class GitHubCopilotSetup extends BaseIdeSetup {
12
12
  constructor() {
13
13
  super('github-copilot', 'GitHub Copilot', true); // preferred IDE
14
14
  this.configDir = '.github';
15
- this.chatmodesDir = 'chatmodes';
15
+ this.agentsDir = 'agents';
16
16
  this.vscodeDir = '.vscode';
17
17
  }
18
18
 
@@ -50,7 +50,8 @@ class GitHubCopilotSetup extends BaseIdeSetup {
50
50
  message: 'Maximum requests per session (1-50)?',
51
51
  default: '15',
52
52
  validate: (input) => {
53
- const num = parseInt(input);
53
+ const num = parseInt(input, 10);
54
+ if (isNaN(num)) return 'Enter a valid number 1-50';
54
55
  return (num >= 1 && num <= 50) || 'Enter 1-50';
55
56
  },
56
57
  },
@@ -97,10 +98,10 @@ class GitHubCopilotSetup extends BaseIdeSetup {
97
98
  const config = options.preCollectedConfig || {};
98
99
  await this.configureVsCodeSettings(projectDir, { ...options, ...config });
99
100
 
100
- // Create .github/chatmodes directory
101
+ // Create .github/agents directory
101
102
  const githubDir = path.join(projectDir, this.configDir);
102
- const chatmodesDir = path.join(githubDir, this.chatmodesDir);
103
- await this.ensureDir(chatmodesDir);
103
+ const agentsDir = path.join(githubDir, this.agentsDir);
104
+ await this.ensureDir(agentsDir);
104
105
 
105
106
  // Clean up any existing BMAD files before reinstalling
106
107
  await this.cleanup(projectDir);
@@ -109,29 +110,29 @@ class GitHubCopilotSetup extends BaseIdeSetup {
109
110
  const agentGen = new AgentCommandGenerator(this.bmadFolderName);
110
111
  const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
111
112
 
112
- // Create chat mode files with bmad- prefix
113
- let modeCount = 0;
113
+ // Create agent files with bmd- prefix
114
+ let agentCount = 0;
114
115
  for (const artifact of agentArtifacts) {
115
116
  const content = artifact.content;
116
- const chatmodeContent = await this.createChatmodeContent({ module: artifact.module, name: artifact.name }, content);
117
+ const agentContent = await this.createAgentContent({ module: artifact.module, name: artifact.name }, content);
117
118
 
118
- // Use bmad- prefix: bmad-agent-{module}-{name}.chatmode.md
119
- const targetPath = path.join(chatmodesDir, `bmad-agent-${artifact.module}-${artifact.name}.chatmode.md`);
120
- await this.writeFile(targetPath, chatmodeContent);
121
- modeCount++;
119
+ // Use bmd- prefix: bmd-custom-{module}-{name}.agent.md
120
+ const targetPath = path.join(agentsDir, `bmd-custom-${artifact.module}-${artifact.name}.agent.md`);
121
+ await this.writeFile(targetPath, agentContent);
122
+ agentCount++;
122
123
 
123
- console.log(chalk.green(` ✓ Created chat mode: bmad-agent-${artifact.module}-${artifact.name}`));
124
+ console.log(chalk.green(` ✓ Created agent: bmd-custom-${artifact.module}-${artifact.name}`));
124
125
  }
125
126
 
126
127
  console.log(chalk.green(`✓ ${this.name} configured:`));
127
- console.log(chalk.dim(` - ${modeCount} chat modes created`));
128
- console.log(chalk.dim(` - Chat modes directory: ${path.relative(projectDir, chatmodesDir)}`));
128
+ console.log(chalk.dim(` - ${agentCount} agents created`));
129
+ console.log(chalk.dim(` - Agents directory: ${path.relative(projectDir, agentsDir)}`));
129
130
  console.log(chalk.dim(` - VS Code settings configured`));
130
- console.log(chalk.dim('\n Chat modes available in VS Code Chat view'));
131
+ console.log(chalk.dim('\n Agents available in VS Code Chat view'));
131
132
 
132
133
  return {
133
134
  success: true,
134
- chatmodes: modeCount,
135
+ agents: agentCount,
135
136
  settings: true,
136
137
  };
137
138
  }
@@ -187,9 +188,10 @@ class GitHubCopilotSetup extends BaseIdeSetup {
187
188
  // Manual configuration - use pre-collected settings
188
189
  const manual = options.manualSettings || {};
189
190
 
191
+ const maxRequests = parseInt(manual.maxRequests || '15', 10);
190
192
  bmadSettings = {
191
193
  'chat.agent.enabled': true,
192
- 'chat.agent.maxRequests': parseInt(manual.maxRequests || 15),
194
+ 'chat.agent.maxRequests': isNaN(maxRequests) ? 15 : maxRequests,
193
195
  'github.copilot.chat.agent.runTasks': manual.runTasks === undefined ? true : manual.runTasks,
194
196
  'chat.mcp.discovery.enabled': manual.mcpDiscovery === undefined ? true : manual.mcpDiscovery,
195
197
  'github.copilot.chat.agent.autoFix': manual.autoFix === undefined ? true : manual.autoFix,
@@ -206,9 +208,9 @@ class GitHubCopilotSetup extends BaseIdeSetup {
206
208
  }
207
209
 
208
210
  /**
209
- * Create chat mode content
211
+ * Create agent content
210
212
  */
211
- async createChatmodeContent(agent, content) {
213
+ async createAgentContent(agent, content) {
212
214
  // Extract metadata from launcher frontmatter if present
213
215
  const descMatch = content.match(/description:\s*"([^"]+)"/);
214
216
  const title = descMatch ? descMatch[1] : this.formatTitle(agent.name);
@@ -226,30 +228,21 @@ class GitHubCopilotSetup extends BaseIdeSetup {
226
228
  // Reference: https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
227
229
  const tools = [
228
230
  'changes', // List of source control changes
229
- 'codebase', // Perform code search in workspace
230
- 'createDirectory', // Create new directory in workspace
231
- 'createFile', // Create new file in workspace
232
- 'editFiles', // Apply edits to files in workspace
231
+ 'edit', // Edit files in your workspace including: createFile, createDirectory, editNotebook, newJupyterNotebook and editFiles
233
232
  'fetch', // Fetch content from web page
234
- 'fileSearch', // Search files using glob patterns
235
233
  'githubRepo', // Perform code search in GitHub repo
236
- 'listDirectory', // List files in a directory
237
234
  'problems', // Add workspace issues from Problems panel
238
- 'readFile', // Read content of a file in workspace
239
- 'runInTerminal', // Run shell command in integrated terminal
240
- 'runTask', // Run existing task in workspace
235
+ 'runCommands', // Runs commands in the terminal including: getTerminalOutput, terminalSelection, terminalLastCommand and runInTerminal
236
+ 'runTasks', // Runs tasks and gets their output for your workspace
241
237
  'runTests', // Run unit tests in workspace
242
- 'runVscodeCommand', // Run VS Code command
243
- 'search', // Enable file searching in workspace
244
- 'searchResults', // Get search results from Search view
245
- 'terminalLastCommand', // Get last terminal command and output
246
- 'terminalSelection', // Get current terminal selection
238
+ 'search', // Search and read files in your workspace, including:fileSearch, textSearch, listDirectory, readFile, codebase and searchResults
239
+ 'runSubagent', // Runs a task within an isolated subagent context. Enables efficient organization of tasks and context window management.
247
240
  'testFailure', // Get unit test failure information
248
- 'textSearch', // Find text in files
241
+ 'todos', // Tool for managing and tracking todo items for task planning
249
242
  'usages', // Find references and navigate definitions
250
243
  ];
251
244
 
252
- let chatmodeContent = `---
245
+ let agentContent = `---
253
246
  description: "${description.replaceAll('"', String.raw`\"`)}"
254
247
  tools: ${JSON.stringify(tools)}
255
248
  ---
@@ -260,7 +253,7 @@ ${cleanContent}
260
253
 
261
254
  `;
262
255
 
263
- return chatmodeContent;
256
+ return agentContent;
264
257
  }
265
258
 
266
259
  /**
@@ -278,10 +271,10 @@ ${cleanContent}
278
271
  */
279
272
  async cleanup(projectDir) {
280
273
  const fs = require('fs-extra');
281
- const chatmodesDir = path.join(projectDir, this.configDir, this.chatmodesDir);
282
274
 
275
+ // Clean up old chatmodes directory
276
+ const chatmodesDir = path.join(projectDir, this.configDir, 'chatmodes');
283
277
  if (await fs.pathExists(chatmodesDir)) {
284
- // Only remove files that start with bmad- prefix
285
278
  const files = await fs.readdir(chatmodesDir);
286
279
  let removed = 0;
287
280
 
@@ -293,7 +286,25 @@ ${cleanContent}
293
286
  }
294
287
 
295
288
  if (removed > 0) {
296
- console.log(chalk.dim(` Cleaned up ${removed} existing BMAD chat modes`));
289
+ console.log(chalk.dim(` Cleaned up ${removed} old BMAD chat modes`));
290
+ }
291
+ }
292
+
293
+ // Clean up new agents directory
294
+ const agentsDir = path.join(projectDir, this.configDir, this.agentsDir);
295
+ if (await fs.pathExists(agentsDir)) {
296
+ const files = await fs.readdir(agentsDir);
297
+ let removed = 0;
298
+
299
+ for (const file of files) {
300
+ if (file.startsWith('bmd-') && file.endsWith('.agent.md')) {
301
+ await fs.remove(path.join(agentsDir, file));
302
+ removed++;
303
+ }
304
+ }
305
+
306
+ if (removed > 0) {
307
+ console.log(chalk.dim(` Cleaned up ${removed} existing BMAD agents`));
297
308
  }
298
309
  }
299
310
  }
@@ -307,13 +318,13 @@ ${cleanContent}
307
318
  * @returns {Object|null} Info about created command
308
319
  */
309
320
  async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
310
- const chatmodesDir = path.join(projectDir, this.configDir, this.chatmodesDir);
321
+ const agentsDir = path.join(projectDir, this.configDir, this.agentsDir);
311
322
 
312
323
  if (!(await this.exists(path.join(projectDir, this.configDir)))) {
313
324
  return null; // IDE not configured for this project
314
325
  }
315
326
 
316
- await this.ensureDir(chatmodesDir);
327
+ await this.ensureDir(agentsDir);
317
328
 
318
329
  const launcherContent = `You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
319
330
 
@@ -353,7 +364,7 @@ ${cleanContent}
353
364
  'usages',
354
365
  ];
355
366
 
356
- const chatmodeContent = `---
367
+ const agentContent = `---
357
368
  description: "Activates the ${metadata.title || agentName} agent persona."
358
369
  tools: ${JSON.stringify(copilotTools)}
359
370
  ---
@@ -363,12 +374,12 @@ tools: ${JSON.stringify(copilotTools)}
363
374
  ${launcherContent}
364
375
  `;
365
376
 
366
- const chatmodePath = path.join(chatmodesDir, `bmad-agent-custom-${agentName}.chatmode.md`);
367
- await this.writeFile(chatmodePath, chatmodeContent);
377
+ const agentFilePath = path.join(agentsDir, `bmd-custom-${agentName}.agent.md`);
378
+ await this.writeFile(agentFilePath, agentContent);
368
379
 
369
380
  return {
370
- path: chatmodePath,
371
- command: `bmad-agent-custom-${agentName}`,
381
+ path: agentFilePath,
382
+ command: `bmd-custom-${agentName}`,
372
383
  };
373
384
  }
374
385
  }