bmad-method 6.0.0-alpha.1 → 6.0.0-alpha.10

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 (678) 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 +64 -17
  4. package/.github/workflows/{lint.yaml → quality.yaml} +19 -2
  5. package/.husky/pre-commit +4 -0
  6. package/.prettierignore +4 -0
  7. package/.vscode/settings.json +3 -1
  8. package/CHANGELOG.md +1203 -0
  9. package/CONTRIBUTING.md +1 -13
  10. package/README.md +330 -149
  11. package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  12. package/docs/agent-customization-guide.md +208 -0
  13. package/docs/document-sharding-guide.md +449 -0
  14. package/docs/ide-info/crush.md +1 -1
  15. package/docs/ide-info/cursor.md +7 -7
  16. package/docs/ide-info/iflow.md +3 -3
  17. package/docs/ide-info/opencode.md +1 -1
  18. package/docs/index.md +227 -0
  19. package/docs/installers-bundlers/ide-injections.md +2 -2
  20. package/docs/installers-bundlers/installers-modules-platforms-reference.md +80 -19
  21. package/docs/v4-to-v6-upgrade.md +21 -19
  22. package/docs/web-bundles-gemini-gpt-guide.md +473 -0
  23. package/eslint.config.mjs +2 -0
  24. package/package.json +5 -3
  25. package/src/core/_module-installer/install-config.yaml +17 -10
  26. package/src/core/_module-installer/installer.js +0 -8
  27. package/src/core/agents/bmad-master.agent.yaml +5 -5
  28. package/src/core/agents/bmad-web-orchestrator.agent.xml +8 -17
  29. package/src/core/tasks/advanced-elicitation-methods.csv +21 -0
  30. package/{bmad/core/tasks/adv-elicit.xml → src/core/tasks/advanced-elicitation.xml} +6 -4
  31. package/src/core/tasks/index-docs.xml +1 -1
  32. package/src/core/tasks/validate-workflow.xml +1 -1
  33. package/src/core/tasks/workflow.xml +126 -22
  34. package/src/core/tools/shard-doc.xml +54 -45
  35. package/src/core/workflows/brainstorming/README.md +6 -16
  36. package/src/core/workflows/brainstorming/instructions.md +6 -5
  37. package/src/core/workflows/brainstorming/template.md +4 -0
  38. package/src/core/workflows/brainstorming/workflow.yaml +8 -13
  39. package/src/core/workflows/party-mode/instructions.md +2 -7
  40. package/src/core/workflows/party-mode/workflow.yaml +11 -6
  41. package/src/modules/bmb/README.md +135 -73
  42. package/src/modules/bmb/_module-installer/install-config.yaml +9 -4
  43. package/src/modules/bmb/agents/bmad-builder.agent.yaml +11 -12
  44. package/src/modules/bmb/workflows/audit-workflow/checklist.md +5 -6
  45. package/src/modules/bmb/workflows/audit-workflow/instructions.md +6 -6
  46. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +2 -2
  47. package/src/modules/bmb/workflows/convert-legacy/README.md +5 -5
  48. package/src/modules/bmb/workflows/convert-legacy/checklist.md +2 -2
  49. package/src/modules/bmb/workflows/convert-legacy/instructions.md +17 -17
  50. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +6 -10
  51. package/src/modules/bmb/workflows/create-agent/README.md +126 -243
  52. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +15 -19
  53. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +28 -28
  54. package/src/modules/bmb/workflows/create-agent/agent-types.md +15 -15
  55. package/src/modules/bmb/workflows/create-agent/checklist.md +3 -3
  56. package/src/modules/bmb/workflows/create-agent/instructions.md +67 -39
  57. package/src/modules/bmb/workflows/create-agent/workflow.yaml +14 -15
  58. package/src/modules/bmb/workflows/create-module/README.md +163 -154
  59. package/src/modules/bmb/workflows/create-module/checklist.md +1 -10
  60. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
  61. package/src/modules/bmb/workflows/create-module/instructions.md +13 -17
  62. package/src/modules/bmb/workflows/create-module/module-structure.md +39 -5
  63. package/src/modules/bmb/workflows/create-module/workflow.yaml +21 -13
  64. package/src/modules/bmb/workflows/create-workflow/README.md +4 -4
  65. package/src/modules/bmb/workflows/create-workflow/checklist.md +1 -1
  66. package/src/modules/bmb/workflows/create-workflow/instructions.md +46 -37
  67. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +219 -42
  68. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +4 -2
  69. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +12 -16
  70. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +7 -8
  71. package/src/modules/bmb/workflows/edit-agent/checklist.md +1 -1
  72. package/src/modules/bmb/workflows/edit-agent/instructions.md +2 -2
  73. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +10 -12
  74. package/src/modules/bmb/workflows/edit-module/README.md +2 -2
  75. package/src/modules/bmb/workflows/edit-module/checklist.md +2 -2
  76. package/src/modules/bmb/workflows/edit-module/instructions.md +7 -5
  77. package/src/modules/bmb/workflows/edit-module/workflow.yaml +11 -13
  78. package/src/modules/bmb/workflows/edit-workflow/instructions.md +4 -4
  79. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +6 -8
  80. package/src/modules/bmb/workflows/module-brief/README.md +2 -2
  81. package/src/modules/bmb/workflows/module-brief/checklist.md +2 -2
  82. package/src/modules/bmb/workflows/module-brief/instructions.md +3 -2
  83. package/src/modules/bmb/workflows/module-brief/workflow.yaml +12 -7
  84. package/src/modules/bmb/workflows/redoc/README.md +5 -5
  85. package/src/modules/bmb/workflows/redoc/instructions.md +1 -1
  86. package/src/modules/bmb/workflows/redoc/workflow.yaml +1 -1
  87. package/src/modules/bmgd/README.md +208 -0
  88. package/src/modules/bmgd/_module-installer/install-config.yaml +54 -0
  89. package/src/modules/bmgd/agents/game-architect.agent.yaml +33 -0
  90. package/src/modules/bmgd/agents/game-designer.agent.yaml +40 -0
  91. package/src/modules/bmgd/agents/game-dev.agent.yaml +40 -0
  92. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +75 -0
  93. package/src/modules/bmgd/teams/default-party.csv +10 -0
  94. package/src/modules/{bmm → bmgd}/teams/team-gamedev.yaml +5 -1
  95. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +130 -0
  96. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/workflow.yaml +10 -10
  97. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/instructions.md +44 -28
  98. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/workflow.yaml +9 -17
  99. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/instructions-gdd.md +58 -31
  100. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +81 -0
  101. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/instructions-narrative.md +75 -28
  102. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/workflow.yaml +6 -12
  103. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +321 -0
  104. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-template.md +103 -0
  105. package/src/modules/bmgd/workflows/3-technical/game-architecture/checklist.md +240 -0
  106. package/src/modules/bmgd/workflows/3-technical/game-architecture/decision-catalog.yaml +222 -0
  107. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +701 -0
  108. package/src/modules/bmgd/workflows/3-technical/game-architecture/pattern-categories.csv +13 -0
  109. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +69 -0
  110. package/src/modules/bmgd/workflows/4-production/code-review/backlog_template.md +12 -0
  111. package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +22 -0
  112. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +398 -0
  113. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +61 -0
  114. package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +279 -0
  115. package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +206 -0
  116. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +58 -0
  117. package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +240 -0
  118. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +256 -0
  119. package/src/modules/bmgd/workflows/4-production/create-story/template.md +51 -0
  120. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +74 -0
  121. package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +38 -0
  122. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +267 -0
  123. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +58 -0
  124. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +17 -0
  125. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +164 -0
  126. package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +76 -0
  127. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +58 -0
  128. package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +1443 -0
  129. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +57 -0
  130. package/src/modules/bmgd/workflows/4-production/sprint-planning/checklist.md +33 -0
  131. package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +234 -0
  132. package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +55 -0
  133. package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +51 -0
  134. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +16 -0
  135. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +34 -0
  136. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +209 -0
  137. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +63 -0
  138. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +111 -0
  139. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +28 -0
  140. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +117 -0
  141. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +25 -0
  142. package/src/modules/bmm/README.md +79 -92
  143. package/src/modules/bmm/_module-installer/install-config.yaml +9 -23
  144. package/src/modules/bmm/_module-installer/installer.js +2 -2
  145. package/src/modules/bmm/agents/analyst.agent.yaml +25 -19
  146. package/src/modules/bmm/agents/architect.agent.yaml +20 -19
  147. package/src/modules/bmm/agents/dev.agent.yaml +12 -15
  148. package/src/modules/bmm/agents/frame-expert.agent.yaml +42 -0
  149. package/src/modules/bmm/agents/pm.agent.yaml +36 -22
  150. package/src/modules/bmm/agents/sm.agent.yaml +30 -24
  151. package/src/modules/bmm/agents/tea.agent.yaml +25 -17
  152. package/src/modules/bmm/agents/tech-writer.agent.yaml +68 -0
  153. package/src/modules/bmm/agents/ux-designer.agent.yaml +18 -12
  154. package/src/modules/bmm/docs/README.md +236 -0
  155. package/src/modules/bmm/docs/agents-guide.md +1058 -0
  156. package/src/modules/bmm/docs/brownfield-guide.md +762 -0
  157. package/src/modules/bmm/docs/enterprise-agentic-development.md +686 -0
  158. package/src/modules/bmm/docs/faq.md +588 -0
  159. package/src/modules/bmm/docs/glossary.md +320 -0
  160. package/src/modules/bmm/docs/party-mode.md +224 -0
  161. package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
  162. package/src/modules/bmm/docs/quick-start.md +376 -0
  163. package/src/modules/bmm/docs/scale-adaptive-system.md +612 -0
  164. package/src/modules/bmm/docs/test-architecture.md +396 -0
  165. package/src/modules/bmm/{workflows/3-solutioning/architecture/readme.md → docs/workflow-architecture-reference.md} +132 -84
  166. package/src/modules/bmm/{workflows/document-project/README.md → docs/workflow-document-project-reference.md} +49 -4
  167. package/src/modules/bmm/docs/workflows-analysis.md +370 -0
  168. package/src/modules/bmm/docs/workflows-implementation.md +286 -0
  169. package/src/modules/bmm/docs/workflows-planning.md +612 -0
  170. package/src/modules/bmm/docs/workflows-solutioning.md +554 -0
  171. package/src/modules/bmm/teams/default-party.csv +20 -0
  172. package/src/modules/bmm/teams/team-fullstack.yaml +2 -0
  173. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +45 -24
  174. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +8 -8
  175. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +425 -0
  176. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  177. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +56 -0
  178. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +435 -232
  179. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +93 -77
  180. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +32 -14
  181. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  182. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  183. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +156 -59
  184. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +70 -65
  185. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +205 -143
  186. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +55 -46
  187. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +116 -83
  188. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +37 -1
  189. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +36 -1
  190. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +25 -12
  191. package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/epics-template.md +80 -0
  192. package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/instructions.md +616 -0
  193. package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/workflow.yaml +63 -0
  194. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +51 -26
  195. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +67 -16
  196. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +292 -63
  197. package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  198. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +544 -290
  199. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +165 -23
  200. package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  201. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +50 -18
  202. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +146 -36
  203. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +67 -4
  204. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +436 -0
  205. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +874 -163
  206. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +132 -6
  207. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +54 -20
  208. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +36 -28
  209. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -26
  210. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +1 -1
  211. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +5 -9
  212. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +215 -150
  213. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +72 -26
  214. package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/checklist.md +7 -13
  215. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
  216. package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/template.md +1 -1
  217. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +64 -0
  218. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +25 -18
  219. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +31 -26
  220. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
  221. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +7 -2
  222. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +38 -25
  223. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +22 -18
  224. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +38 -14
  225. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +8 -3
  226. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +35 -5
  227. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +1 -1
  228. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +10 -6
  229. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +40 -16
  230. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +1207 -243
  231. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +38 -26
  232. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +28 -15
  233. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -1
  234. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +16 -6
  235. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +1 -1
  236. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +1 -1
  237. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +23 -15
  238. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +39 -8
  239. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
  240. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +5 -4
  241. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +6 -6
  242. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +5 -7
  243. package/src/modules/bmm/workflows/document-project/checklist.md +1 -1
  244. package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
  245. package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -7
  246. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +4 -4
  247. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
  248. package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +13 -13
  249. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
  250. package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-helpers.md +127 -0
  251. package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-library.json +90 -0
  252. package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-templates.yaml +127 -0
  253. package/src/modules/bmm/workflows/frame-expert/_shared/validate-json-instructions.md +79 -0
  254. package/src/modules/bmm/workflows/frame-expert/create-dataflow/checklist.md +39 -0
  255. package/src/modules/bmm/workflows/frame-expert/create-dataflow/instructions.md +131 -0
  256. package/src/modules/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +24 -0
  257. package/src/modules/bmm/workflows/frame-expert/create-diagram/checklist.md +43 -0
  258. package/src/modules/bmm/workflows/frame-expert/create-diagram/instructions.md +142 -0
  259. package/src/modules/bmm/workflows/frame-expert/create-diagram/workflow.yaml +25 -0
  260. package/src/modules/bmm/workflows/frame-expert/create-flowchart/checklist.md +49 -0
  261. package/src/modules/bmm/workflows/frame-expert/create-flowchart/instructions.md +242 -0
  262. package/src/modules/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +28 -0
  263. package/src/modules/bmm/workflows/frame-expert/create-wireframe/checklist.md +38 -0
  264. package/src/modules/bmm/workflows/frame-expert/create-wireframe/instructions.md +133 -0
  265. package/src/modules/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +24 -0
  266. package/src/modules/bmm/workflows/techdoc/documentation-standards.md +262 -0
  267. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +2 -2
  268. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
  269. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -9
  270. package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
  271. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -11
  272. package/src/modules/bmm/workflows/testarch/ci/checklist.md +4 -4
  273. package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
  274. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -10
  275. package/src/modules/bmm/workflows/testarch/framework/checklist.md +4 -4
  276. package/src/modules/bmm/workflows/testarch/framework/instructions.md +2 -2
  277. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -8
  278. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
  279. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -11
  280. package/src/modules/bmm/workflows/testarch/test-design/checklist.md +4 -4
  281. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +175 -14
  282. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +4 -4
  283. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +7 -11
  284. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
  285. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -9
  286. package/src/modules/bmm/workflows/testarch/trace/instructions.md +9 -9
  287. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -13
  288. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +249 -212
  289. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +6 -5
  290. package/src/modules/bmm/workflows/workflow-status/instructions.md +177 -113
  291. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +138 -0
  292. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +126 -0
  293. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +42 -65
  294. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +122 -0
  295. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +113 -0
  296. package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-1.yaml → quick-flow-brownfield.yaml} +18 -18
  297. package/src/modules/bmm/workflows/workflow-status/paths/{greenfield-level-1.yaml → quick-flow-greenfield.yaml} +16 -18
  298. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
  299. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  300. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +5 -5
  301. package/src/modules/cis/README.md +153 -0
  302. package/src/modules/cis/_module-installer/install-config.yaml +6 -4
  303. package/src/modules/cis/agents/README.md +1 -1
  304. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +13 -8
  305. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +13 -8
  306. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +13 -8
  307. package/src/modules/cis/agents/innovation-strategist.agent.yaml +13 -8
  308. package/src/modules/cis/agents/storyteller.agent.yaml +13 -8
  309. package/src/modules/cis/teams/creative-squad.yaml +1 -0
  310. package/src/modules/cis/teams/default-party.csv +11 -0
  311. package/src/modules/cis/workflows/README.md +102 -30
  312. package/src/modules/cis/workflows/design-thinking/instructions.md +4 -2
  313. package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -12
  314. package/src/modules/cis/workflows/innovation-strategy/instructions.md +7 -5
  315. package/src/modules/cis/workflows/innovation-strategy/template.md +3 -3
  316. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -12
  317. package/src/modules/cis/workflows/problem-solving/instructions.md +4 -2
  318. package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -12
  319. package/src/modules/cis/workflows/storytelling/instructions.md +14 -4
  320. package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -12
  321. package/src/utility/models/action-command-header.md +0 -0
  322. package/src/utility/models/agent-activation-ide.xml +3 -3
  323. package/src/utility/models/agent-activation-web.xml +4 -4
  324. package/src/utility/models/agent-command-header.md +1 -0
  325. package/src/utility/models/fragments/activation-steps.xml +3 -2
  326. package/src/utility/models/fragments/handler-validate-workflow.xml +1 -1
  327. package/src/utility/models/fragments/handler-workflow.xml +1 -1
  328. package/src/utility/models/fragments/web-bundle-activation-steps.xml +3 -3
  329. package/test/test-installation-components.js +214 -0
  330. package/tools/bmad-npx-wrapper.js +10 -98
  331. package/tools/cli/README.md +50 -32
  332. package/tools/cli/bundlers/web-bundler.js +322 -26
  333. package/tools/cli/commands/install.js +2 -5
  334. package/tools/cli/installers/lib/core/config-collector.js +279 -39
  335. package/tools/cli/installers/lib/core/detector.js +62 -7
  336. package/tools/cli/installers/lib/core/ide-config-manager.js +3 -1
  337. package/tools/cli/installers/lib/core/installer.js +219 -46
  338. package/tools/cli/installers/lib/core/manifest-generator.js +33 -117
  339. package/tools/cli/installers/lib/core/manifest.js +6 -2
  340. package/tools/cli/installers/lib/ide/_base-ide.js +57 -3
  341. package/tools/cli/installers/lib/ide/auggie.js +81 -238
  342. package/tools/cli/installers/lib/ide/claude-code.js +47 -25
  343. package/tools/cli/installers/lib/ide/cline.js +15 -18
  344. package/tools/cli/installers/lib/ide/codex.js +17 -48
  345. package/tools/cli/installers/lib/ide/crush.js +14 -50
  346. package/tools/cli/installers/lib/ide/cursor.js +68 -8
  347. package/tools/cli/installers/lib/ide/gemini.js +87 -37
  348. package/tools/cli/installers/lib/ide/github-copilot.js +47 -35
  349. package/tools/cli/installers/lib/ide/iflow.js +13 -30
  350. package/tools/cli/installers/lib/ide/kilo.js +20 -16
  351. package/tools/cli/installers/lib/ide/manager.js +15 -0
  352. package/tools/cli/installers/lib/ide/opencode.js +16 -17
  353. package/tools/cli/installers/lib/ide/qwen.js +39 -11
  354. package/tools/cli/installers/lib/ide/roo.js +27 -62
  355. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +90 -0
  356. package/tools/cli/installers/lib/ide/{task-tool-command-generator.js → shared/task-tool-command-generator.js} +1 -1
  357. package/tools/cli/installers/lib/ide/{workflow-command-generator.js → shared/workflow-command-generator.js} +11 -9
  358. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  359. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  360. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  361. package/tools/cli/installers/lib/ide/{workflow-command-template.md → templates/workflow-command-template.md} +3 -5
  362. package/tools/cli/installers/lib/ide/trae.js +20 -32
  363. package/tools/cli/installers/lib/ide/windsurf.js +18 -8
  364. package/tools/cli/installers/lib/modules/manager.js +213 -7
  365. package/tools/cli/lib/cli-utils.js +52 -50
  366. package/tools/cli/lib/config.js +3 -1
  367. package/tools/cli/lib/ui.js +34 -17
  368. package/tools/cli/lib/xml-handler.js +1 -0
  369. package/tools/cli/lib/yaml-format.js +2 -1
  370. package/tools/cli/lib/yaml-xml-builder.js +76 -8
  371. package/tools/schema/agent.js +12 -3
  372. package/v6-open-items.md +3 -9
  373. package/.claude/commands/bmad/bmb/agents/bmad-builder.md +0 -70
  374. package/.claude/commands/bmad/bmb/workflows/README.md +0 -67
  375. package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +0 -15
  376. package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +0 -15
  377. package/.claude/commands/bmad/bmb/workflows/create-agent.md +0 -15
  378. package/.claude/commands/bmad/bmb/workflows/create-module.md +0 -15
  379. package/.claude/commands/bmad/bmb/workflows/create-workflow.md +0 -15
  380. package/.claude/commands/bmad/bmb/workflows/edit-agent.md +0 -15
  381. package/.claude/commands/bmad/bmb/workflows/edit-module.md +0 -15
  382. package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +0 -15
  383. package/.claude/commands/bmad/bmb/workflows/module-brief.md +0 -15
  384. package/.claude/commands/bmad/bmb/workflows/redoc.md +0 -15
  385. package/.claude/commands/bmad/bmd/agents/cli-chief.md +0 -108
  386. package/.claude/commands/bmad/bmd/agents/doc-keeper.md +0 -115
  387. package/.claude/commands/bmad/bmd/agents/release-chief.md +0 -109
  388. package/.claude/commands/bmad/core/agents/bmad-master.md +0 -71
  389. package/.claude/commands/bmad/core/tasks/index-docs.md +0 -9
  390. package/.claude/commands/bmad/core/tools/shard-doc.md +0 -9
  391. package/.claude/commands/bmad/core/workflows/README.md +0 -27
  392. package/.claude/commands/bmad/core/workflows/brainstorming.md +0 -15
  393. package/.claude/commands/bmad/core/workflows/party-mode.md +0 -15
  394. package/.claude/hooks/bmad-tts-injector.sh +0 -415
  395. package/.claude/hooks/bmad-voice-manager.sh +0 -511
  396. package/.claude/hooks/check-output-style.sh +0 -112
  397. package/.claude/hooks/download-extra-voices.sh +0 -244
  398. package/.claude/hooks/github-star-reminder.sh +0 -154
  399. package/.claude/hooks/language-manager.sh +0 -392
  400. package/.claude/hooks/learn-manager.sh +0 -475
  401. package/.claude/hooks/personality-manager.sh +0 -438
  402. package/.claude/hooks/piper-download-voices.sh +0 -165
  403. package/.claude/hooks/piper-installer.sh +0 -178
  404. package/.claude/hooks/piper-multispeaker-registry.sh +0 -165
  405. package/.claude/hooks/piper-voice-manager.sh +0 -293
  406. package/.claude/hooks/play-tts-elevenlabs.sh +0 -404
  407. package/.claude/hooks/play-tts-piper.sh +0 -338
  408. package/.claude/hooks/play-tts.sh +0 -100
  409. package/.claude/hooks/provider-commands.sh +0 -540
  410. package/.claude/hooks/provider-manager.sh +0 -298
  411. package/.claude/hooks/replay-target-audio.sh +0 -95
  412. package/.claude/hooks/sentiment-manager.sh +0 -201
  413. package/.claude/hooks/speed-manager.sh +0 -291
  414. package/.claude/hooks/voice-manager.sh +0 -594
  415. package/.claude/hooks/voices-config.sh +0 -70
  416. package/.claude/settings.local.json +0 -41
  417. package/bmad/_cfg/agent-manifest.csv +0 -7
  418. package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +0 -42
  419. package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +0 -32
  420. package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +0 -42
  421. package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +0 -42
  422. package/bmad/_cfg/agents/core-bmad-master.customize.yaml +0 -42
  423. package/bmad/_cfg/files-manifest.csv +0 -83
  424. package/bmad/_cfg/manifest.yaml +0 -12
  425. package/bmad/_cfg/task-manifest.csv +0 -5
  426. package/bmad/_cfg/tool-manifest.csv +0 -2
  427. package/bmad/_cfg/workflow-manifest.csv +0 -15
  428. package/bmad/bmb/README.md +0 -132
  429. package/bmad/bmb/agents/bmad-builder.md +0 -70
  430. package/bmad/bmb/config.yaml +0 -14
  431. package/bmad/bmb/workflows/audit-workflow/checklist.md +0 -143
  432. package/bmad/bmb/workflows/audit-workflow/instructions.md +0 -341
  433. package/bmad/bmb/workflows/audit-workflow/template.md +0 -118
  434. package/bmad/bmb/workflows/audit-workflow/workflow.yaml +0 -23
  435. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +0 -21
  436. package/bmad/bmb/workflows/convert-legacy/README.md +0 -262
  437. package/bmad/bmb/workflows/convert-legacy/checklist.md +0 -205
  438. package/bmad/bmb/workflows/convert-legacy/instructions.md +0 -377
  439. package/bmad/bmb/workflows/convert-legacy/workflow.yaml +0 -32
  440. package/bmad/bmb/workflows/create-agent/README.md +0 -320
  441. package/bmad/bmb/workflows/create-agent/agent-architecture.md +0 -419
  442. package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +0 -412
  443. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  444. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +0 -759
  445. package/bmad/bmb/workflows/create-agent/agent-types.md +0 -292
  446. package/bmad/bmb/workflows/create-agent/brainstorm-context.md +0 -174
  447. package/bmad/bmb/workflows/create-agent/checklist.md +0 -62
  448. package/bmad/bmb/workflows/create-agent/communication-styles.md +0 -202
  449. package/bmad/bmb/workflows/create-agent/instructions.md +0 -430
  450. package/bmad/bmb/workflows/create-agent/workflow.yaml +0 -37
  451. package/bmad/bmb/workflows/create-module/README.md +0 -220
  452. package/bmad/bmb/workflows/create-module/README.md.bak +0 -218
  453. package/bmad/bmb/workflows/create-module/brainstorm-context.md +0 -137
  454. package/bmad/bmb/workflows/create-module/checklist.md +0 -244
  455. package/bmad/bmb/workflows/create-module/checklist.md.bak +0 -245
  456. package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
  457. package/bmad/bmb/workflows/create-module/installer-templates/installer.js +0 -231
  458. package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +0 -231
  459. package/bmad/bmb/workflows/create-module/instructions.md +0 -581
  460. package/bmad/bmb/workflows/create-module/instructions.md.bak +0 -521
  461. package/bmad/bmb/workflows/create-module/module-structure.md +0 -366
  462. package/bmad/bmb/workflows/create-module/module-structure.md.bak +0 -310
  463. package/bmad/bmb/workflows/create-module/workflow.yaml +0 -42
  464. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +0 -40
  465. package/bmad/bmb/workflows/create-workflow/README.md +0 -277
  466. package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  467. package/bmad/bmb/workflows/create-workflow/checklist.md +0 -94
  468. package/bmad/bmb/workflows/create-workflow/instructions.md +0 -716
  469. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1150
  470. package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  471. package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -13
  472. package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  473. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -39
  474. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +0 -39
  475. package/bmad/bmb/workflows/create-workflow/workflow.yaml +0 -40
  476. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +0 -38
  477. package/bmad/bmb/workflows/edit-agent/README.md +0 -112
  478. package/bmad/bmb/workflows/edit-agent/checklist.md +0 -112
  479. package/bmad/bmb/workflows/edit-agent/instructions.md +0 -290
  480. package/bmad/bmb/workflows/edit-agent/workflow.yaml +0 -33
  481. package/bmad/bmb/workflows/edit-module/README.md +0 -187
  482. package/bmad/bmb/workflows/edit-module/checklist.md +0 -165
  483. package/bmad/bmb/workflows/edit-module/instructions.md +0 -339
  484. package/bmad/bmb/workflows/edit-module/workflow.yaml +0 -34
  485. package/bmad/bmb/workflows/edit-workflow/README.md +0 -119
  486. package/bmad/bmb/workflows/edit-workflow/checklist.md +0 -70
  487. package/bmad/bmb/workflows/edit-workflow/instructions.md +0 -342
  488. package/bmad/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  489. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +0 -25
  490. package/bmad/bmb/workflows/module-brief/README.md +0 -264
  491. package/bmad/bmb/workflows/module-brief/checklist.md +0 -116
  492. package/bmad/bmb/workflows/module-brief/instructions.md +0 -267
  493. package/bmad/bmb/workflows/module-brief/template.md +0 -275
  494. package/bmad/bmb/workflows/module-brief/workflow.yaml +0 -29
  495. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +0 -27
  496. package/bmad/bmb/workflows/redoc/README.md +0 -87
  497. package/bmad/bmb/workflows/redoc/checklist.md +0 -99
  498. package/bmad/bmb/workflows/redoc/instructions.md +0 -265
  499. package/bmad/bmb/workflows/redoc/workflow.yaml +0 -32
  500. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +0 -31
  501. package/bmad/bmd/README.md +0 -193
  502. package/bmad/bmd/README.md.bak +0 -193
  503. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  504. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +0 -102
  505. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  506. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +0 -68
  507. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  508. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +0 -123
  509. package/bmad/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  510. package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +0 -53
  511. package/bmad/bmd/agents/cli-chief.md +0 -108
  512. package/bmad/bmd/agents/cli-chief.md.bak +0 -108
  513. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  514. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +0 -177
  515. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  516. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +0 -81
  517. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  518. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +0 -88
  519. package/bmad/bmd/agents/doc-keeper.md +0 -115
  520. package/bmad/bmd/agents/doc-keeper.md.bak +0 -115
  521. package/bmad/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  522. package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +0 -164
  523. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  524. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +0 -82
  525. package/bmad/bmd/agents/release-chief-sidecar/memories.md +0 -73
  526. package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +0 -73
  527. package/bmad/bmd/agents/release-chief.md +0 -109
  528. package/bmad/bmd/agents/release-chief.md.bak +0 -109
  529. package/bmad/bmd/config.yaml +0 -10
  530. package/bmad/core/agents/bmad-master.md +0 -71
  531. package/bmad/core/agents/bmad-web-orchestrator.agent.xml +0 -122
  532. package/bmad/core/config.yaml +0 -9
  533. package/bmad/core/tasks/adv-elicit-methods.csv +0 -39
  534. package/bmad/core/tasks/index-docs.xml +0 -65
  535. package/bmad/core/tasks/validate-workflow.xml +0 -89
  536. package/bmad/core/tasks/workflow.xml +0 -174
  537. package/bmad/core/tools/shard-doc.xml +0 -100
  538. package/bmad/core/workflows/brainstorming/README.md +0 -271
  539. package/bmad/core/workflows/brainstorming/brain-methods.csv +0 -36
  540. package/bmad/core/workflows/brainstorming/instructions.md +0 -314
  541. package/bmad/core/workflows/brainstorming/template.md +0 -102
  542. package/bmad/core/workflows/brainstorming/workflow.yaml +0 -43
  543. package/bmad/core/workflows/party-mode/instructions.md +0 -188
  544. package/bmad/core/workflows/party-mode/workflow.yaml +0 -23
  545. package/bmad/docs/claude-code-instructions.md +0 -25
  546. package/bmad/docs/codex-instructions.md +0 -21
  547. package/bmd/README.md +0 -193
  548. package/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  549. package/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  550. package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  551. package/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  552. package/bmd/agents/cli-chief.agent.yaml +0 -126
  553. package/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  554. package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  555. package/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  556. package/bmd/agents/doc-keeper.agent.yaml +0 -137
  557. package/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  558. package/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  559. package/bmd/agents/release-chief-sidecar/memories.md +0 -73
  560. package/bmd/agents/release-chief.agent.yaml +0 -127
  561. package/bmd/bmad-custom-module-installer-plan.md +0 -1176
  562. package/bmd/config.yaml +0 -12
  563. package/docs/bmad-brownfield-guide.md +0 -1260
  564. package/docs/conversion-report-shard-doc-2025-10-26.md +0 -188
  565. package/src/core/tasks/adv-elicit.xml +0 -104
  566. package/src/modules/bmm/agents/game-architect.agent.yaml +0 -35
  567. package/src/modules/bmm/agents/game-designer.agent.yaml +0 -47
  568. package/src/modules/bmm/agents/game-dev.agent.yaml +0 -39
  569. package/src/modules/bmm/sub-modules/claude-code/config.yaml +0 -5
  570. package/src/modules/bmm/sub-modules/claude-code/injections.yaml +0 -242
  571. package/src/modules/bmm/sub-modules/claude-code/readme.md +0 -87
  572. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +0 -102
  573. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +0 -82
  574. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +0 -101
  575. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +0 -84
  576. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +0 -83
  577. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +0 -81
  578. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +0 -61
  579. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +0 -168
  580. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +0 -115
  581. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +0 -123
  582. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +0 -72
  583. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +0 -51
  584. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +0 -106
  585. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +0 -102
  586. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +0 -68
  587. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +0 -108
  588. package/src/modules/bmm/tasks/daily-standup.xml +0 -85
  589. package/src/modules/bmm/tasks/retrospective.xml +0 -104
  590. package/src/modules/bmm/testarch/README.md +0 -311
  591. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +0 -38
  592. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +0 -109
  593. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +0 -29
  594. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +0 -221
  595. package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +0 -180
  596. package/src/modules/bmm/workflows/1-analysis/research/README.md +0 -454
  597. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +0 -259
  598. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +0 -190
  599. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +0 -337
  600. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +0 -107
  601. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +0 -329
  602. package/src/modules/bmm/workflows/2-plan-workflows/README.md +0 -258
  603. package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +0 -222
  604. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +0 -67
  605. package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +0 -63
  606. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +0 -167
  607. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +0 -278
  608. package/src/modules/bmm/workflows/3-solutioning/README.md +0 -1
  609. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +0 -177
  610. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +0 -273
  611. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -189
  612. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +0 -40
  613. package/src/modules/bmm/workflows/4-implementation/README.md +0 -221
  614. package/src/modules/bmm/workflows/4-implementation/code-review/README.md +0 -69
  615. package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +0 -73
  616. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +0 -129
  617. package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +0 -367
  618. package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +0 -206
  619. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +0 -195
  620. package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +0 -77
  621. package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +0 -156
  622. package/src/modules/bmm/workflows/4-implementation/story-context/README.md +0 -234
  623. package/src/modules/bmm/workflows/README.md +0 -577
  624. package/src/modules/bmm/workflows/document-project/templates/README.md +0 -38
  625. package/src/modules/bmm/workflows/testarch/README.md +0 -26
  626. package/src/modules/bmm/workflows/testarch/atdd/README.md +0 -672
  627. package/src/modules/bmm/workflows/testarch/automate/README.md +0 -869
  628. package/src/modules/bmm/workflows/testarch/ci/README.md +0 -493
  629. package/src/modules/bmm/workflows/testarch/framework/README.md +0 -340
  630. package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +0 -469
  631. package/src/modules/bmm/workflows/testarch/test-design/README.md +0 -493
  632. package/src/modules/bmm/workflows/testarch/test-review/README.md +0 -775
  633. package/src/modules/bmm/workflows/testarch/trace/README.md +0 -802
  634. package/src/modules/bmm/workflows/workflow-status/README.md +0 -241
  635. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +0 -54
  636. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +0 -76
  637. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +0 -95
  638. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +0 -88
  639. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +0 -45
  640. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +0 -78
  641. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +0 -73
  642. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +0 -75
  643. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +0 -30
  644. package/src/modules/cis/readme.md +0 -86
  645. package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +0 -23
  646. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-brain-methods.csv +0 -0
  647. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-context.md +0 -0
  648. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/checklist.md +0 -0
  649. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/template.md +0 -0
  650. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/checklist.md +0 -0
  651. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/action-platformer.md +0 -0
  652. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/adventure.md +0 -0
  653. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/card-game.md +0 -0
  654. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/fighting.md +0 -0
  655. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/horror.md +0 -0
  656. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/idle-incremental.md +0 -0
  657. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/metroidvania.md +0 -0
  658. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/moba.md +0 -0
  659. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/party-game.md +0 -0
  660. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/puzzle.md +0 -0
  661. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/racing.md +0 -0
  662. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rhythm.md +0 -0
  663. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/roguelike.md +0 -0
  664. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rpg.md +0 -0
  665. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sandbox.md +0 -0
  666. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/shooter.md +0 -0
  667. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/simulation.md +0 -0
  668. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sports.md +0 -0
  669. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/strategy.md +0 -0
  670. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/survival.md +0 -0
  671. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/text-based.md +0 -0
  672. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/tower-defense.md +0 -0
  673. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/turn-based-tactics.md +0 -0
  674. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/visual-novel.md +0 -0
  675. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types.csv +0 -0
  676. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/gdd-template.md +0 -0
  677. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/checklist.md +0 -0
  678. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/narrative-template.md +0 -0
@@ -2,41 +2,19 @@ const path = require('node:path');
2
2
  const fs = require('fs-extra');
3
3
  const os = require('node:os');
4
4
  const chalk = require('chalk');
5
- const inquirer = require('inquirer');
6
5
  const { BaseIdeSetup } = require('./_base-ide');
7
- const { WorkflowCommandGenerator } = require('./workflow-command-generator');
8
- const { getAgentsFromBmad, getTasksFromBmad } = require('./shared/bmad-artifacts');
6
+ const { WorkflowCommandGenerator } = require('./shared/workflow-command-generator');
7
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
8
+ const { getTasksFromBmad } = require('./shared/bmad-artifacts');
9
9
 
10
10
  /**
11
- * Codex setup handler (supports both CLI and Web)
11
+ * Codex setup handler (CLI mode)
12
12
  */
13
13
  class CodexSetup extends BaseIdeSetup {
14
14
  constructor() {
15
15
  super('codex', 'Codex', true); // preferred IDE
16
16
  }
17
17
 
18
- /**
19
- * Collect configuration choices before installation
20
- * @param {Object} options - Configuration options
21
- * @returns {Object} Collected configuration
22
- */
23
- async collectConfiguration(options = {}) {
24
- const response = await inquirer.prompt([
25
- {
26
- type: 'list',
27
- name: 'mode',
28
- message: 'Select Codex deployment mode:',
29
- choices: [
30
- { name: 'CLI (Command-line interface)', value: 'cli' },
31
- { name: 'Web (Browser-based interface)', value: 'web' },
32
- ],
33
- default: 'cli',
34
- },
35
- ]);
36
-
37
- return { codexMode: response.mode };
38
- }
39
-
40
18
  /**
41
19
  * Setup Codex configuration
42
20
  * @param {string} projectDir - Project directory
@@ -46,8 +24,8 @@ class CodexSetup extends BaseIdeSetup {
46
24
  async setup(projectDir, bmadDir, options = {}) {
47
25
  console.log(chalk.cyan(`Setting up ${this.name}...`));
48
26
 
49
- const config = options.preCollectedConfig || {};
50
- const mode = config.codexMode || options.codexMode || 'cli';
27
+ // Always use CLI mode
28
+ const mode = 'cli';
51
29
 
52
30
  const { artifacts, counts } = await this.collectClaudeArtifacts(projectDir, bmadDir, options);
53
31
 
@@ -57,16 +35,13 @@ class CodexSetup extends BaseIdeSetup {
57
35
  const written = await this.flattenAndWriteArtifacts(artifacts, destDir);
58
36
 
59
37
  console.log(chalk.green(`✓ ${this.name} configured:`));
60
- console.log(chalk.dim(` - Mode: ${mode === 'web' ? 'Web' : 'CLI'}`));
38
+ console.log(chalk.dim(` - Mode: CLI`));
61
39
  console.log(chalk.dim(` - ${counts.agents} agents exported`));
62
40
  console.log(chalk.dim(` - ${counts.tasks} tasks exported`));
63
41
  console.log(chalk.dim(` - ${counts.workflows} workflow commands exported`));
64
42
  if (counts.workflowLaunchers > 0) {
65
43
  console.log(chalk.dim(` - ${counts.workflowLaunchers} workflow launchers exported`));
66
44
  }
67
- if (counts.subagents > 0) {
68
- console.log(chalk.dim(` - ${counts.subagents} subagents exported`));
69
- }
70
45
  console.log(chalk.dim(` - ${written} Codex prompt files written`));
71
46
  console.log(chalk.dim(` - Destination: ${destDir}`));
72
47
 
@@ -118,23 +93,17 @@ class CodexSetup extends BaseIdeSetup {
118
93
  const selectedModules = options.selectedModules || [];
119
94
  const artifacts = [];
120
95
 
121
- const agents = await getAgentsFromBmad(bmadDir, selectedModules);
122
- for (const agent of agents) {
123
- const content = await this.readAndProcessWithProject(
124
- agent.path,
125
- {
126
- module: agent.module,
127
- name: agent.name,
128
- },
129
- projectDir,
130
- );
96
+ // Generate agent launchers
97
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
98
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, selectedModules);
131
99
 
100
+ for (const artifact of agentArtifacts) {
132
101
  artifacts.push({
133
102
  type: 'agent',
134
- module: agent.module,
135
- sourcePath: agent.path,
136
- relativePath: path.join(agent.module, 'agents', `${agent.name}.md`),
137
- content,
103
+ module: artifact.module,
104
+ sourcePath: artifact.sourcePath,
105
+ relativePath: artifact.relativePath,
106
+ content: artifact.content,
138
107
  });
139
108
  }
140
109
 
@@ -158,14 +127,14 @@ class CodexSetup extends BaseIdeSetup {
158
127
  });
159
128
  }
160
129
 
161
- const workflowGenerator = new WorkflowCommandGenerator();
130
+ const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
162
131
  const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
163
132
  artifacts.push(...workflowArtifacts);
164
133
 
165
134
  return {
166
135
  artifacts,
167
136
  counts: {
168
- agents: agents.length,
137
+ agents: agentArtifacts.length,
169
138
  tasks: tasks.length,
170
139
  workflows: workflowCounts.commands,
171
140
  workflowLaunchers: workflowCounts.launchers,
@@ -1,6 +1,7 @@
1
1
  const path = require('node:path');
2
2
  const { BaseIdeSetup } = require('./_base-ide');
3
3
  const chalk = require('chalk');
4
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
4
5
 
5
6
  /**
6
7
  * Crush IDE setup handler
@@ -28,14 +29,17 @@ class CrushSetup extends BaseIdeSetup {
28
29
 
29
30
  await this.ensureDir(commandsDir);
30
31
 
31
- // Get agents, tasks, tools, and workflows (standalone only)
32
- const agents = await this.getAgents(bmadDir);
32
+ // Generate agent launchers
33
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
34
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
35
+
36
+ // Get tasks, tools, and workflows (standalone only)
33
37
  const tasks = await this.getTasks(bmadDir, true);
34
38
  const tools = await this.getTools(bmadDir, true);
35
39
  const workflows = await this.getWorkflows(bmadDir, true);
36
40
 
37
41
  // Organize by module
38
- const agentCount = await this.organizeByModule(commandsDir, agents, tasks, tools, workflows, projectDir);
42
+ const agentCount = await this.organizeByModule(commandsDir, agentArtifacts, tasks, tools, workflows, projectDir);
39
43
 
40
44
  console.log(chalk.green(`✓ ${this.name} configured:`));
41
45
  console.log(chalk.dim(` - ${agentCount.agents} agent commands created`));
@@ -54,10 +58,10 @@ class CrushSetup extends BaseIdeSetup {
54
58
  /**
55
59
  * Organize commands by module
56
60
  */
57
- async organizeByModule(commandsDir, agents, tasks, tools, workflows, projectDir) {
61
+ async organizeByModule(commandsDir, agentArtifacts, tasks, tools, workflows, projectDir) {
58
62
  // Get unique modules
59
63
  const modules = new Set();
60
- for (const agent of agents) modules.add(agent.module);
64
+ for (const artifact of agentArtifacts) modules.add(artifact.module);
61
65
  for (const task of tasks) modules.add(task.module);
62
66
  for (const tool of tools) modules.add(tool.module);
63
67
  for (const workflow of workflows) modules.add(workflow.module);
@@ -80,13 +84,11 @@ class CrushSetup extends BaseIdeSetup {
80
84
  await this.ensureDir(moduleToolsDir);
81
85
  await this.ensureDir(moduleWorkflowsDir);
82
86
 
83
- // Copy module-specific agents
84
- const moduleAgents = agents.filter((a) => a.module === module);
85
- for (const agent of moduleAgents) {
86
- const content = await this.readFile(agent.path);
87
- const commandContent = this.createAgentCommand(agent, content, projectDir);
88
- const targetPath = path.join(moduleAgentsDir, `${agent.name}.md`);
89
- await this.writeFile(targetPath, commandContent);
87
+ // Write module-specific agent launchers
88
+ const moduleAgents = agentArtifacts.filter((a) => a.module === module);
89
+ for (const artifact of moduleAgents) {
90
+ const targetPath = path.join(moduleAgentsDir, `${artifact.name}.md`);
91
+ await this.writeFile(targetPath, artifact.content);
90
92
  agentCount++;
91
93
  }
92
94
 
@@ -129,44 +131,6 @@ class CrushSetup extends BaseIdeSetup {
129
131
  };
130
132
  }
131
133
 
132
- /**
133
- * Create agent command content
134
- */
135
- createAgentCommand(agent, content, projectDir) {
136
- // Extract metadata
137
- const titleMatch = content.match(/title="([^"]+)"/);
138
- const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
139
-
140
- const iconMatch = content.match(/icon="([^"]+)"/);
141
- const icon = iconMatch ? iconMatch[1] : '🤖';
142
-
143
- // Get relative path
144
- const relativePath = path.relative(projectDir, agent.path).replaceAll('\\', '/');
145
-
146
- let commandContent = `# /${agent.name} Command
147
-
148
- When this command is used, adopt the following agent persona:
149
-
150
- ## ${icon} ${title} Agent
151
-
152
- ${content}
153
-
154
- ## Command Usage
155
-
156
- This command activates the ${title} agent from the BMAD ${agent.module.toUpperCase()} module.
157
-
158
- ## File Reference
159
-
160
- Complete agent definition: [${relativePath}](${relativePath})
161
-
162
- ## Module
163
-
164
- Part of the BMAD ${agent.module.toUpperCase()} module.
165
- `;
166
-
167
- return commandContent;
168
- }
169
-
170
134
  /**
171
135
  * Create task command content
172
136
  */
@@ -1,6 +1,7 @@
1
1
  const path = require('node:path');
2
2
  const { BaseIdeSetup } = require('./_base-ide');
3
3
  const chalk = require('chalk');
4
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
4
5
 
5
6
  /**
6
7
  * Cursor IDE setup handler
@@ -12,6 +13,20 @@ class CursorSetup extends BaseIdeSetup {
12
13
  this.rulesDir = 'rules';
13
14
  }
14
15
 
16
+ /**
17
+ * Cleanup old BMAD installation before reinstalling
18
+ * @param {string} projectDir - Project directory
19
+ */
20
+ async cleanup(projectDir) {
21
+ const fs = require('fs-extra');
22
+ const bmadRulesDir = path.join(projectDir, this.configDir, this.rulesDir, 'bmad');
23
+
24
+ if (await fs.pathExists(bmadRulesDir)) {
25
+ await fs.remove(bmadRulesDir);
26
+ console.log(chalk.dim(` Removed old BMAD rules from ${this.name}`));
27
+ }
28
+ }
29
+
15
30
  /**
16
31
  * Setup Cursor IDE configuration
17
32
  * @param {string} projectDir - Project directory
@@ -21,6 +36,9 @@ class CursorSetup extends BaseIdeSetup {
21
36
  async setup(projectDir, bmadDir, options = {}) {
22
37
  console.log(chalk.cyan(`Setting up ${this.name}...`));
23
38
 
39
+ // Clean up old BMAD installation first
40
+ await this.cleanup(projectDir);
41
+
24
42
  // Create .cursor/rules directory structure
25
43
  const cursorDir = path.join(projectDir, this.configDir);
26
44
  const rulesDir = path.join(cursorDir, this.rulesDir);
@@ -28,8 +46,14 @@ class CursorSetup extends BaseIdeSetup {
28
46
 
29
47
  await this.ensureDir(bmadRulesDir);
30
48
 
31
- // Get agents, tasks, tools, and workflows (standalone only)
32
- const agents = await this.getAgents(bmadDir);
49
+ // Generate agent launchers first
50
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
51
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
52
+
53
+ // Convert artifacts to agent format for index creation
54
+ const agents = agentArtifacts.map((a) => ({ module: a.module, name: a.name }));
55
+
56
+ // Get tasks, tools, and workflows (standalone only)
33
57
  const tasks = await this.getTasks(bmadDir, true);
34
58
  const tools = await this.getTools(bmadDir, true);
35
59
  const workflows = await this.getWorkflows(bmadDir, true);
@@ -46,15 +70,16 @@ class CursorSetup extends BaseIdeSetup {
46
70
  await this.ensureDir(path.join(bmadRulesDir, module, 'workflows'));
47
71
  }
48
72
 
49
- // Process and copy agents
73
+ // Process and write agent launchers with MDC format
50
74
  let agentCount = 0;
51
- for (const agent of agents) {
52
- const content = await this.readAndProcess(agent.path, {
53
- module: agent.module,
54
- name: agent.name,
75
+ for (const artifact of agentArtifacts) {
76
+ // Add MDC metadata header to launcher (but don't call processContent which adds activation headers)
77
+ const content = this.wrapLauncherWithMDC(artifact.content, {
78
+ module: artifact.module,
79
+ name: artifact.name,
55
80
  });
56
81
 
57
- const targetPath = path.join(bmadRulesDir, agent.module, 'agents', `${agent.name}.mdc`);
82
+ const targetPath = path.join(bmadRulesDir, artifact.module, 'agents', `${artifact.name}.mdc`);
58
83
 
59
84
  await this.writeFile(targetPath, content);
60
85
  agentCount++;
@@ -239,6 +264,13 @@ specific agent expertise, task workflows, tools, or guided workflows.
239
264
  // First apply base processing (includes activation injection for agents)
240
265
  let processed = super.processContent(content, metadata);
241
266
 
267
+ // Strip any existing frontmatter from the processed content
268
+ // This prevents duplicate frontmatter blocks
269
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
270
+ if (frontmatterRegex.test(processed)) {
271
+ processed = processed.replace(frontmatterRegex, '');
272
+ }
273
+
242
274
  // Determine the type and description based on content
243
275
  const isAgent = content.includes('<agent');
244
276
  const isTask = content.includes('<task');
@@ -287,6 +319,34 @@ alwaysApply: false
287
319
  // Add the MDC header to the processed content
288
320
  return mdcHeader + processed;
289
321
  }
322
+
323
+ /**
324
+ * Wrap launcher content with MDC metadata (without base processing)
325
+ * Launchers are already complete and should not have activation headers injected
326
+ */
327
+ wrapLauncherWithMDC(launcherContent, metadata = {}) {
328
+ // Strip the launcher's frontmatter - we'll replace it with MDC frontmatter
329
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
330
+ const contentWithoutFrontmatter = launcherContent.replace(frontmatterRegex, '');
331
+
332
+ // Extract metadata from launcher frontmatter for MDC description
333
+ const nameMatch = launcherContent.match(/name:\s*"([^"]+)"/);
334
+ const name = nameMatch ? nameMatch[1] : metadata.name;
335
+
336
+ const description = `BMAD ${metadata.module.toUpperCase()} Agent: ${name}`;
337
+
338
+ // Create MDC metadata header
339
+ const mdcHeader = `---
340
+ description: ${description}
341
+ globs:
342
+ alwaysApply: false
343
+ ---
344
+
345
+ `;
346
+
347
+ // Return MDC header + launcher content (without its original frontmatter)
348
+ return mdcHeader + contentWithoutFrontmatter;
349
+ }
290
350
  }
291
351
 
292
352
  module.exports = { CursorSetup };
@@ -1,6 +1,9 @@
1
1
  const path = require('node:path');
2
+ const fs = require('fs-extra');
3
+ const yaml = require('js-yaml');
2
4
  const { BaseIdeSetup } = require('./_base-ide');
3
5
  const chalk = require('chalk');
6
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
4
7
 
5
8
  /**
6
9
  * Gemini CLI setup handler
@@ -8,9 +11,39 @@ const chalk = require('chalk');
8
11
  */
9
12
  class GeminiSetup extends BaseIdeSetup {
10
13
  constructor() {
11
- super('gemini', 'Gemini CLI', true); // preferred IDE
14
+ super('gemini', 'Gemini CLI', false);
12
15
  this.configDir = '.gemini';
13
16
  this.commandsDir = 'commands';
17
+ this.agentTemplatePath = path.join(__dirname, 'templates', 'gemini-agent-command.toml');
18
+ this.taskTemplatePath = path.join(__dirname, 'templates', 'gemini-task-command.toml');
19
+ }
20
+
21
+ /**
22
+ * Load config values from bmad installation
23
+ * @param {string} bmadDir - BMAD installation directory
24
+ * @returns {Object} Config values
25
+ */
26
+ async loadConfigValues(bmadDir) {
27
+ const configValues = {
28
+ user_name: 'User', // Default fallback
29
+ };
30
+
31
+ // Try to load core config.yaml
32
+ const coreConfigPath = path.join(bmadDir, 'core', 'config.yaml');
33
+ if (await fs.pathExists(coreConfigPath)) {
34
+ try {
35
+ const configContent = await fs.readFile(coreConfigPath, 'utf8');
36
+ const config = yaml.load(configContent);
37
+
38
+ if (config.user_name) {
39
+ configValues.user_name = config.user_name;
40
+ }
41
+ } catch (error) {
42
+ console.warn(chalk.yellow(` Warning: Could not load config values: ${error.message}`));
43
+ }
44
+ }
45
+
46
+ return configValues;
14
47
  }
15
48
 
16
49
  /**
@@ -31,29 +64,31 @@ class GeminiSetup extends BaseIdeSetup {
31
64
  // Clean up any existing BMAD files before reinstalling
32
65
  await this.cleanup(projectDir);
33
66
 
34
- // Get agents and tasks
35
- const agents = await this.getAgents(bmadDir);
67
+ // Generate agent launchers
68
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
69
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
70
+
71
+ // Get tasks
36
72
  const tasks = await this.getTasks(bmadDir);
37
73
 
38
74
  // Install agents as TOML files with bmad- prefix (flat structure)
39
75
  let agentCount = 0;
40
- for (const agent of agents) {
41
- const content = await this.readFile(agent.path);
42
- const tomlContent = this.createAgentToml(agent, content, bmadDir);
76
+ for (const artifact of agentArtifacts) {
77
+ const tomlContent = await this.createAgentLauncherToml(artifact);
43
78
 
44
79
  // Flat structure: bmad-agent-{module}-{name}.toml
45
- const tomlPath = path.join(commandsDir, `bmad-agent-${agent.module}-${agent.name}.toml`);
80
+ const tomlPath = path.join(commandsDir, `bmad-agent-${artifact.module}-${artifact.name}.toml`);
46
81
  await this.writeFile(tomlPath, tomlContent);
47
82
  agentCount++;
48
83
 
49
- console.log(chalk.green(` ✓ Added agent: /bmad:agents:${agent.module}:${agent.name}`));
84
+ console.log(chalk.green(` ✓ Added agent: /bmad:agents:${artifact.module}:${artifact.name}`));
50
85
  }
51
86
 
52
87
  // Install tasks as TOML files with bmad- prefix (flat structure)
53
88
  let taskCount = 0;
54
89
  for (const task of tasks) {
55
90
  const content = await this.readFile(task.path);
56
- const tomlContent = this.createTaskToml(task, content, bmadDir);
91
+ const tomlContent = await this.createTaskToml(task, content);
57
92
 
58
93
  // Flat structure: bmad-task-{module}-{name}.toml
59
94
  const tomlPath = path.join(commandsDir, `bmad-task-${task.module}-${task.name}.toml`);
@@ -78,51 +113,66 @@ class GeminiSetup extends BaseIdeSetup {
78
113
  }
79
114
 
80
115
  /**
81
- * Create agent TOML content
116
+ * Create agent launcher TOML content from artifact
82
117
  */
83
- createAgentToml(agent, content, bmadDir) {
84
- // Extract metadata
85
- const titleMatch = content.match(/title="([^"]+)"/);
86
- const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
118
+ async createAgentLauncherToml(artifact) {
119
+ // Strip frontmatter from launcher content
120
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
121
+ const contentWithoutFrontmatter = artifact.content.replace(frontmatterRegex, '').trim();
87
122
 
88
- // Get relative path from project root to agent file
89
- const relativePath = path.relative(process.cwd(), agent.path).replaceAll('\\', '/');
123
+ // Extract title from launcher frontmatter
124
+ const titleMatch = artifact.content.match(/description:\s*"([^"]+)"/);
125
+ const title = titleMatch ? titleMatch[1] : this.formatTitle(artifact.name);
90
126
 
91
- // Create TOML content
92
- const tomlContent = `description = "Activates the ${title} agent from the BMad Method."
93
- prompt = """
94
- CRITICAL: You are now the BMad '${title}' agent. Adopt its persona and capabilities as defined in the following configuration.
127
+ // Create TOML wrapper around launcher content (without frontmatter)
128
+ const description = `BMAD ${artifact.module.toUpperCase()} Agent: ${title}`;
95
129
 
96
- Read and internalize the full agent definition, following all instructions and maintaining this persona until explicitly told to switch or exit.
97
-
98
- @${relativePath}
130
+ return `description = "${description}"
131
+ prompt = """
132
+ ${contentWithoutFrontmatter}
99
133
  """
100
134
  `;
135
+ }
136
+
137
+ /**
138
+ * Create agent TOML content using template
139
+ */
140
+ async createAgentToml(agent, content) {
141
+ // Extract metadata
142
+ const titleMatch = content.match(/title="([^"]+)"/);
143
+ const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
144
+
145
+ // Load template
146
+ const template = await fs.readFile(this.agentTemplatePath, 'utf8');
147
+
148
+ // Replace template variables
149
+ // Note: {user_name} and other {config_values} are left as-is for runtime substitution by Gemini
150
+ const tomlContent = template
151
+ .replaceAll('{{title}}', title)
152
+ .replaceAll('{{bmad_folder}}', this.bmadFolderName)
153
+ .replaceAll('{{module}}', agent.module)
154
+ .replaceAll('{{name}}', agent.name);
101
155
 
102
156
  return tomlContent;
103
157
  }
104
158
 
105
159
  /**
106
- * Create task TOML content
160
+ * Create task TOML content using template
107
161
  */
108
- createTaskToml(task, content, bmadDir) {
162
+ async createTaskToml(task, content) {
109
163
  // Extract task name from XML if available
110
164
  const nameMatch = content.match(/<name>([^<]+)<\/name>/);
111
165
  const taskName = nameMatch ? nameMatch[1] : this.formatTitle(task.name);
112
166
 
113
- // Get relative path from project root to task file
114
- const relativePath = path.relative(process.cwd(), task.path).replaceAll('\\', '/');
115
-
116
- // Create TOML content
117
- const tomlContent = `description = "Executes the ${taskName} task from the BMad Method."
118
- prompt = """
119
- Execute the following BMad Method task workflow:
120
-
121
- @${relativePath}
167
+ // Load template
168
+ const template = await fs.readFile(this.taskTemplatePath, 'utf8');
122
169
 
123
- Follow all instructions and complete the task as defined.
124
- """
125
- `;
170
+ // Replace template variables
171
+ const tomlContent = template
172
+ .replaceAll('{{taskName}}', taskName)
173
+ .replaceAll('{{bmad_folder}}', this.bmadFolderName)
174
+ .replaceAll('{{module}}', task.module)
175
+ .replaceAll('{{filename}}', task.filename);
126
176
 
127
177
  return tomlContent;
128
178
  }
@@ -2,6 +2,7 @@ const path = require('node:path');
2
2
  const { BaseIdeSetup } = require('./_base-ide');
3
3
  const chalk = require('chalk');
4
4
  const inquirer = require('inquirer');
5
+ const { AgentCommandGenerator } = require('./shared/agent-command-generator');
5
6
 
6
7
  /**
7
8
  * GitHub Copilot setup handler
@@ -104,21 +105,22 @@ class GitHubCopilotSetup extends BaseIdeSetup {
104
105
  // Clean up any existing BMAD files before reinstalling
105
106
  await this.cleanup(projectDir);
106
107
 
107
- // Get agents
108
- const agents = await this.getAgents(bmadDir);
108
+ // Generate agent launchers
109
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
110
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, options.selectedModules || []);
109
111
 
110
112
  // Create chat mode files with bmad- prefix
111
113
  let modeCount = 0;
112
- for (const agent of agents) {
113
- const content = await this.readFile(agent.path);
114
- const chatmodeContent = this.createChatmodeContent(agent, content);
114
+ for (const artifact of agentArtifacts) {
115
+ const content = artifact.content;
116
+ const chatmodeContent = await this.createChatmodeContent({ module: artifact.module, name: artifact.name }, content);
115
117
 
116
118
  // Use bmad- prefix: bmad-agent-{module}-{name}.chatmode.md
117
- const targetPath = path.join(chatmodesDir, `bmad-agent-${agent.module}-${agent.name}.chatmode.md`);
119
+ const targetPath = path.join(chatmodesDir, `bmad-agent-${artifact.module}-${artifact.name}.chatmode.md`);
118
120
  await this.writeFile(targetPath, chatmodeContent);
119
121
  modeCount++;
120
122
 
121
- console.log(chalk.green(` ✓ Created chat mode: bmad-agent-${agent.module}-${agent.name}`));
123
+ console.log(chalk.green(` ✓ Created chat mode: bmad-agent-${artifact.module}-${artifact.name}`));
122
124
  }
123
125
 
124
126
  console.log(chalk.green(`✓ ${this.name} configured:`));
@@ -206,32 +208,45 @@ class GitHubCopilotSetup extends BaseIdeSetup {
206
208
  /**
207
209
  * Create chat mode content
208
210
  */
209
- createChatmodeContent(agent, content) {
210
- // Extract metadata
211
- const titleMatch = content.match(/title="([^"]+)"/);
212
- const title = titleMatch ? titleMatch[1] : this.formatTitle(agent.name);
213
-
214
- const whenToUseMatch = content.match(/whenToUse="([^"]+)"/);
215
- const description = whenToUseMatch ? whenToUseMatch[1] : `Activates the ${title} agent persona.`;
211
+ async createChatmodeContent(agent, content) {
212
+ // Extract metadata from launcher frontmatter if present
213
+ const descMatch = content.match(/description:\s*"([^"]+)"/);
214
+ const title = descMatch ? descMatch[1] : this.formatTitle(agent.name);
215
+
216
+ const description = `Activates the ${title} agent persona.`;
217
+
218
+ // Strip any existing frontmatter from the content
219
+ const frontmatterRegex = /^---\s*\n[\s\S]*?\n---\s*\n/;
220
+ let cleanContent = content;
221
+ if (frontmatterRegex.test(content)) {
222
+ cleanContent = content.replace(frontmatterRegex, '').trim();
223
+ }
216
224
 
217
- // Available GitHub Copilot tools
225
+ // Available GitHub Copilot tools (November 2025 - Official VS Code Documentation)
226
+ // Reference: https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
218
227
  const tools = [
219
- 'changes',
220
- 'codebase',
221
- 'fetch',
222
- 'findTestFiles',
223
- 'githubRepo',
224
- 'problems',
225
- 'usages',
226
- 'editFiles',
227
- 'runCommands',
228
- 'runTasks',
229
- 'runTests',
230
- 'search',
231
- 'searchResults',
232
- 'terminalLastCommand',
233
- 'terminalSelection',
234
- 'testFailure',
228
+ '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
233
+ 'fetch', // Fetch content from web page
234
+ 'fileSearch', // Search files using glob patterns
235
+ 'githubRepo', // Perform code search in GitHub repo
236
+ 'listDirectory', // List files in a directory
237
+ '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
241
+ '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
247
+ 'testFailure', // Get unit test failure information
248
+ 'textSearch', // Find text in files
249
+ 'usages', // Find references and navigate definitions
235
250
  ];
236
251
 
237
252
  let chatmodeContent = `---
@@ -241,11 +256,8 @@ tools: ${JSON.stringify(tools)}
241
256
 
242
257
  # ${title} Agent
243
258
 
244
- ${content}
245
-
246
- ## Module
259
+ ${cleanContent}
247
260
 
248
- Part of the BMAD ${agent.module.toUpperCase()} module.
249
261
  `;
250
262
 
251
263
  return chatmodeContent;