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

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 (714) 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 +321 -12
  9. package/CONTRIBUTING.md +1 -13
  10. package/README.md +138 -187
  11. package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  12. package/docs/agent-customization-guide.md +208 -0
  13. package/docs/custom-agent-installation.md +169 -0
  14. package/docs/document-sharding-guide.md +449 -0
  15. package/docs/ide-info/crush.md +1 -1
  16. package/docs/ide-info/cursor.md +7 -7
  17. package/docs/ide-info/iflow.md +3 -3
  18. package/docs/ide-info/opencode.md +1 -1
  19. package/docs/index.md +227 -0
  20. package/docs/installers-bundlers/ide-injections.md +2 -2
  21. package/docs/installers-bundlers/installers-modules-platforms-reference.md +80 -19
  22. package/docs/v4-to-v6-upgrade.md +21 -19
  23. package/docs/v6-open-items.md +17 -0
  24. package/docs/web-bundles-gemini-gpt-guide.md +473 -0
  25. package/eslint.config.mjs +2 -0
  26. package/package.json +6 -3
  27. package/src/core/_module-installer/install-config.yaml +17 -10
  28. package/src/core/_module-installer/installer.js +0 -8
  29. package/src/core/agents/bmad-master.agent.yaml +5 -5
  30. package/src/core/agents/bmad-web-orchestrator.agent.xml +8 -17
  31. package/src/core/resources/excalidraw/README.md +160 -0
  32. package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  33. package/src/core/resources/excalidraw/library-loader.md +50 -0
  34. package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
  35. package/src/core/tasks/advanced-elicitation-methods.csv +21 -0
  36. package/{bmad/core/tasks/adv-elicit.xml → src/core/tasks/advanced-elicitation.xml} +6 -4
  37. package/src/core/tasks/index-docs.xml +1 -1
  38. package/src/core/tasks/validate-workflow.xml +1 -1
  39. package/src/core/tasks/workflow.xml +126 -22
  40. package/src/core/tools/shard-doc.xml +54 -45
  41. package/src/core/workflows/brainstorming/README.md +6 -16
  42. package/src/core/workflows/brainstorming/instructions.md +6 -5
  43. package/src/core/workflows/brainstorming/template.md +4 -0
  44. package/src/core/workflows/brainstorming/workflow.yaml +8 -13
  45. package/src/core/workflows/party-mode/instructions.md +2 -7
  46. package/src/core/workflows/party-mode/workflow.yaml +11 -6
  47. package/src/modules/bmb/README.md +135 -73
  48. package/src/modules/bmb/_module-installer/install-config.yaml +9 -4
  49. package/src/modules/bmb/agents/bmad-builder.agent.yaml +11 -12
  50. package/src/modules/bmb/docs/agent-compilation.md +340 -0
  51. package/src/modules/bmb/docs/agent-menu-patterns.md +524 -0
  52. package/src/modules/bmb/docs/expert-agent-architecture.md +364 -0
  53. package/src/modules/bmb/docs/index.md +55 -0
  54. package/src/modules/bmb/docs/module-agent-architecture.md +367 -0
  55. package/src/modules/bmb/docs/simple-agent-architecture.md +288 -0
  56. package/src/modules/bmb/docs/understanding-agent-types.md +184 -0
  57. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  58. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  59. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  60. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  61. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  62. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  63. package/src/modules/bmb/reference/agents/module-examples/README.md +50 -0
  64. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  65. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  66. package/src/modules/bmb/reference/agents/simple-examples/README.md +223 -0
  67. package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  68. package/src/modules/bmb/reference/readme.md +3 -0
  69. package/src/modules/bmb/workflows/audit-workflow/checklist.md +5 -6
  70. package/src/modules/bmb/workflows/audit-workflow/instructions.md +6 -6
  71. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +2 -2
  72. package/src/modules/bmb/workflows/convert-legacy/README.md +5 -5
  73. package/src/modules/bmb/workflows/convert-legacy/checklist.md +2 -2
  74. package/src/modules/bmb/workflows/convert-legacy/instructions.md +17 -17
  75. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +6 -10
  76. package/src/modules/bmb/workflows/create-agent/agent-validation-checklist.md +174 -0
  77. package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +99 -120
  78. package/src/modules/bmb/workflows/create-agent/communication-presets.csv +61 -0
  79. package/src/modules/bmb/workflows/create-agent/instructions.md +171 -82
  80. package/src/modules/bmb/workflows/create-agent/workflow.yaml +26 -20
  81. package/src/modules/bmb/workflows/create-module/README.md +163 -154
  82. package/src/modules/bmb/workflows/create-module/checklist.md +1 -10
  83. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
  84. package/src/modules/bmb/workflows/create-module/instructions.md +13 -17
  85. package/src/modules/bmb/workflows/create-module/module-structure.md +39 -5
  86. package/src/modules/bmb/workflows/create-module/workflow.yaml +21 -13
  87. package/src/modules/bmb/workflows/create-workflow/README.md +4 -4
  88. package/src/modules/bmb/workflows/create-workflow/checklist.md +1 -1
  89. package/src/modules/bmb/workflows/create-workflow/instructions.md +46 -37
  90. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +219 -42
  91. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +4 -2
  92. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +12 -16
  93. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +7 -8
  94. package/src/modules/bmb/workflows/edit-agent/README.md +174 -47
  95. package/src/modules/bmb/workflows/edit-agent/instructions.md +399 -35
  96. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +27 -13
  97. package/src/modules/bmb/workflows/edit-module/README.md +2 -2
  98. package/src/modules/bmb/workflows/edit-module/checklist.md +2 -2
  99. package/src/modules/bmb/workflows/edit-module/instructions.md +7 -5
  100. package/src/modules/bmb/workflows/edit-module/workflow.yaml +11 -13
  101. package/src/modules/bmb/workflows/edit-workflow/instructions.md +4 -4
  102. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +6 -8
  103. package/src/modules/bmb/workflows/module-brief/README.md +2 -2
  104. package/src/modules/bmb/workflows/module-brief/checklist.md +2 -2
  105. package/src/modules/bmb/workflows/module-brief/instructions.md +3 -2
  106. package/src/modules/bmb/workflows/module-brief/workflow.yaml +12 -7
  107. package/src/modules/bmgd/README.md +208 -0
  108. package/src/modules/bmgd/_module-installer/install-config.yaml +54 -0
  109. package/src/modules/bmgd/agents/game-architect.agent.yaml +33 -0
  110. package/src/modules/bmgd/agents/game-designer.agent.yaml +40 -0
  111. package/src/modules/bmgd/agents/game-dev.agent.yaml +40 -0
  112. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +75 -0
  113. package/src/modules/bmgd/teams/default-party.csv +10 -0
  114. package/src/modules/{bmm → bmgd}/teams/team-gamedev.yaml +5 -1
  115. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +130 -0
  116. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/workflow.yaml +10 -10
  117. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/instructions.md +44 -28
  118. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/workflow.yaml +9 -17
  119. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/instructions-gdd.md +58 -31
  120. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +81 -0
  121. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/instructions-narrative.md +75 -28
  122. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/workflow.yaml +6 -12
  123. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +321 -0
  124. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-template.md +103 -0
  125. package/src/modules/bmgd/workflows/3-technical/game-architecture/checklist.md +240 -0
  126. package/src/modules/bmgd/workflows/3-technical/game-architecture/decision-catalog.yaml +222 -0
  127. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +701 -0
  128. package/src/modules/bmgd/workflows/3-technical/game-architecture/pattern-categories.csv +13 -0
  129. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +69 -0
  130. package/src/modules/bmgd/workflows/4-production/code-review/backlog_template.md +12 -0
  131. package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +22 -0
  132. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +398 -0
  133. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +61 -0
  134. package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +279 -0
  135. package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +206 -0
  136. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +58 -0
  137. package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +240 -0
  138. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +256 -0
  139. package/src/modules/bmgd/workflows/4-production/create-story/template.md +51 -0
  140. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +74 -0
  141. package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +38 -0
  142. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +267 -0
  143. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +58 -0
  144. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +17 -0
  145. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +164 -0
  146. package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +76 -0
  147. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +58 -0
  148. package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +1443 -0
  149. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +57 -0
  150. package/src/modules/bmgd/workflows/4-production/sprint-planning/checklist.md +33 -0
  151. package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +234 -0
  152. package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +55 -0
  153. package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +51 -0
  154. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +16 -0
  155. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +34 -0
  156. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +209 -0
  157. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +63 -0
  158. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +111 -0
  159. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +28 -0
  160. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +117 -0
  161. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +25 -0
  162. package/src/modules/bmm/README.md +79 -92
  163. package/src/modules/bmm/_module-installer/install-config.yaml +9 -23
  164. package/src/modules/bmm/_module-installer/installer.js +2 -2
  165. package/src/modules/bmm/agents/analyst.agent.yaml +25 -19
  166. package/src/modules/bmm/agents/architect.agent.yaml +28 -19
  167. package/src/modules/bmm/agents/dev.agent.yaml +12 -15
  168. package/src/modules/bmm/agents/pm.agent.yaml +40 -22
  169. package/src/modules/bmm/agents/sm.agent.yaml +30 -24
  170. package/src/modules/bmm/agents/tea.agent.yaml +25 -17
  171. package/src/modules/bmm/agents/tech-writer.agent.yaml +80 -0
  172. package/src/modules/bmm/agents/ux-designer.agent.yaml +22 -12
  173. package/src/modules/bmm/docs/README.md +240 -0
  174. package/src/modules/bmm/docs/agents-guide.md +1058 -0
  175. package/src/modules/bmm/docs/brownfield-guide.md +762 -0
  176. package/src/modules/bmm/docs/enterprise-agentic-development.md +686 -0
  177. package/src/modules/bmm/docs/faq.md +588 -0
  178. package/src/modules/bmm/docs/glossary.md +320 -0
  179. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +5919 -0
  180. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -0
  181. package/src/modules/bmm/docs/party-mode.md +224 -0
  182. package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
  183. package/src/modules/bmm/docs/quick-start.md +382 -0
  184. package/src/modules/bmm/docs/scale-adaptive-system.md +618 -0
  185. package/src/modules/bmm/docs/test-architecture.md +396 -0
  186. package/src/modules/bmm/{workflows/3-solutioning/architecture/readme.md → docs/workflow-architecture-reference.md} +132 -84
  187. package/src/modules/bmm/{workflows/document-project/README.md → docs/workflow-document-project-reference.md} +49 -4
  188. package/src/modules/bmm/docs/workflows-analysis.md +370 -0
  189. package/src/modules/bmm/docs/workflows-implementation.md +296 -0
  190. package/src/modules/bmm/docs/workflows-planning.md +612 -0
  191. package/src/modules/bmm/docs/workflows-solutioning.md +554 -0
  192. package/src/modules/bmm/teams/default-party.csv +20 -0
  193. package/src/modules/bmm/teams/team-fullstack.yaml +2 -0
  194. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +45 -24
  195. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +8 -8
  196. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +425 -0
  197. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  198. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +56 -0
  199. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +435 -232
  200. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +93 -77
  201. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +32 -14
  202. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  203. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  204. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +156 -59
  205. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +70 -65
  206. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +205 -143
  207. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +55 -46
  208. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +116 -83
  209. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +37 -1
  210. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +36 -1
  211. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +25 -12
  212. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +51 -26
  213. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +67 -16
  214. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +292 -63
  215. package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  216. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +544 -290
  217. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +165 -23
  218. package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  219. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +50 -18
  220. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +146 -36
  221. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +67 -4
  222. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +436 -0
  223. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +874 -163
  224. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +132 -6
  225. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +54 -20
  226. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +36 -28
  227. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -26
  228. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +1 -1
  229. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +5 -9
  230. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +215 -150
  231. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +72 -26
  232. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/epics-template.md +80 -0
  233. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +616 -0
  234. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +63 -0
  235. package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/checklist.md +7 -13
  236. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
  237. package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/template.md +1 -1
  238. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +64 -0
  239. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +25 -18
  240. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +31 -26
  241. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
  242. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +7 -2
  243. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +38 -25
  244. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +22 -18
  245. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +38 -14
  246. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +8 -3
  247. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +35 -5
  248. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +1 -1
  249. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +10 -6
  250. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +40 -16
  251. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +1207 -243
  252. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +38 -26
  253. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +28 -15
  254. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -1
  255. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +16 -6
  256. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +1 -1
  257. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +1 -1
  258. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +23 -15
  259. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +39 -8
  260. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
  261. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +5 -4
  262. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +6 -6
  263. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +5 -7
  264. package/src/modules/bmm/workflows/diagrams/_shared/excalidraw-library.json +90 -0
  265. package/src/modules/bmm/workflows/diagrams/_shared/excalidraw-templates.yaml +127 -0
  266. package/src/modules/bmm/workflows/diagrams/create-dataflow/checklist.md +39 -0
  267. package/src/modules/bmm/workflows/diagrams/create-dataflow/instructions.md +130 -0
  268. package/src/modules/bmm/workflows/diagrams/create-dataflow/workflow.yaml +27 -0
  269. package/src/modules/bmm/workflows/diagrams/create-diagram/checklist.md +43 -0
  270. package/src/modules/bmm/workflows/diagrams/create-diagram/instructions.md +141 -0
  271. package/src/modules/bmm/workflows/diagrams/create-diagram/workflow.yaml +27 -0
  272. package/src/modules/bmm/workflows/diagrams/create-flowchart/checklist.md +49 -0
  273. package/src/modules/bmm/workflows/diagrams/create-flowchart/instructions.md +241 -0
  274. package/src/modules/bmm/workflows/diagrams/create-flowchart/workflow.yaml +27 -0
  275. package/src/modules/bmm/workflows/diagrams/create-wireframe/checklist.md +38 -0
  276. package/src/modules/bmm/workflows/diagrams/create-wireframe/instructions.md +133 -0
  277. package/src/modules/bmm/workflows/diagrams/create-wireframe/workflow.yaml +27 -0
  278. package/src/modules/bmm/workflows/document-project/checklist.md +1 -1
  279. package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
  280. package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -7
  281. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +4 -4
  282. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
  283. package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +13 -13
  284. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
  285. package/src/modules/bmm/workflows/techdoc/documentation-standards.md +262 -0
  286. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +2 -2
  287. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
  288. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -9
  289. package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
  290. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -11
  291. package/src/modules/bmm/workflows/testarch/ci/checklist.md +4 -4
  292. package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
  293. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -10
  294. package/src/modules/bmm/workflows/testarch/framework/checklist.md +4 -4
  295. package/src/modules/bmm/workflows/testarch/framework/instructions.md +2 -2
  296. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -8
  297. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
  298. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -11
  299. package/src/modules/bmm/workflows/testarch/test-design/checklist.md +4 -4
  300. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +175 -14
  301. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +4 -4
  302. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +7 -11
  303. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
  304. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -9
  305. package/src/modules/bmm/workflows/testarch/trace/instructions.md +9 -9
  306. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -13
  307. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +249 -212
  308. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +6 -5
  309. package/src/modules/bmm/workflows/workflow-status/instructions.md +177 -113
  310. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +126 -0
  311. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +114 -0
  312. package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-3.yaml → method-brownfield.yaml} +48 -33
  313. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +101 -0
  314. package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-1.yaml → quick-flow-brownfield.yaml} +18 -18
  315. package/src/modules/bmm/workflows/workflow-status/paths/{greenfield-level-1.yaml → quick-flow-greenfield.yaml} +16 -18
  316. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
  317. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  318. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +5 -5
  319. package/src/modules/cis/README.md +153 -0
  320. package/src/modules/cis/_module-installer/install-config.yaml +6 -4
  321. package/src/modules/cis/agents/README.md +1 -1
  322. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +13 -8
  323. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +13 -8
  324. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +13 -8
  325. package/src/modules/cis/agents/innovation-strategist.agent.yaml +13 -8
  326. package/src/modules/cis/agents/presentation-master.agent.yaml +60 -0
  327. package/src/modules/cis/agents/storyteller.agent.yaml +13 -8
  328. package/src/modules/cis/teams/creative-squad.yaml +1 -0
  329. package/src/modules/cis/teams/default-party.csv +11 -0
  330. package/src/modules/cis/workflows/README.md +102 -30
  331. package/src/modules/cis/workflows/design-thinking/instructions.md +4 -2
  332. package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -12
  333. package/src/modules/cis/workflows/innovation-strategy/instructions.md +7 -5
  334. package/src/modules/cis/workflows/innovation-strategy/template.md +3 -3
  335. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -12
  336. package/src/modules/cis/workflows/problem-solving/instructions.md +4 -2
  337. package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -12
  338. package/src/modules/cis/workflows/storytelling/instructions.md +14 -4
  339. package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -12
  340. package/src/utility/models/action-command-header.md +0 -0
  341. package/src/utility/models/agent-activation-ide.xml +3 -3
  342. package/src/utility/models/agent-activation-web.xml +4 -4
  343. package/src/utility/models/agent-command-header.md +1 -0
  344. package/src/utility/models/fragments/activation-steps.xml +3 -2
  345. package/src/utility/models/fragments/handler-validate-workflow.xml +1 -1
  346. package/src/utility/models/fragments/handler-workflow.xml +1 -1
  347. package/src/utility/models/fragments/web-bundle-activation-steps.xml +3 -3
  348. package/test/test-installation-components.js +214 -0
  349. package/tools/bmad-npx-wrapper.js +10 -98
  350. package/tools/cli/README.md +50 -32
  351. package/tools/cli/bundlers/web-bundler.js +322 -26
  352. package/tools/cli/commands/agent-install.js +409 -0
  353. package/tools/cli/commands/install.js +2 -5
  354. package/tools/cli/installers/lib/core/config-collector.js +279 -39
  355. package/tools/cli/installers/lib/core/detector.js +62 -7
  356. package/tools/cli/installers/lib/core/ide-config-manager.js +3 -1
  357. package/tools/cli/installers/lib/core/installer.js +338 -46
  358. package/tools/cli/installers/lib/core/manifest-generator.js +33 -117
  359. package/tools/cli/installers/lib/core/manifest.js +6 -2
  360. package/tools/cli/installers/lib/ide/_base-ide.js +82 -3
  361. package/tools/cli/installers/lib/ide/antigravity.js +463 -0
  362. package/tools/cli/installers/lib/ide/auggie.js +81 -238
  363. package/tools/cli/installers/lib/ide/claude-code.js +90 -25
  364. package/tools/cli/installers/lib/ide/cline.js +15 -18
  365. package/tools/cli/installers/lib/ide/codex.js +225 -71
  366. package/tools/cli/installers/lib/ide/crush.js +14 -50
  367. package/tools/cli/installers/lib/ide/cursor.js +116 -8
  368. package/tools/cli/installers/lib/ide/gemini.js +87 -37
  369. package/tools/cli/installers/lib/ide/github-copilot.js +121 -35
  370. package/tools/cli/installers/lib/ide/iflow.js +13 -30
  371. package/tools/cli/installers/lib/ide/kilo.js +20 -16
  372. package/tools/cli/installers/lib/ide/manager.js +50 -0
  373. package/tools/cli/installers/lib/ide/opencode.js +61 -17
  374. package/tools/cli/installers/lib/ide/qwen.js +39 -11
  375. package/tools/cli/installers/lib/ide/roo.js +27 -62
  376. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +90 -0
  377. package/tools/cli/installers/lib/ide/{task-tool-command-generator.js → shared/task-tool-command-generator.js} +1 -1
  378. package/tools/cli/installers/lib/ide/{workflow-command-generator.js → shared/workflow-command-generator.js} +11 -9
  379. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  380. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  381. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  382. package/tools/cli/installers/lib/ide/{workflow-command-template.md → templates/workflow-command-template.md} +3 -5
  383. package/tools/cli/installers/lib/ide/trae.js +20 -32
  384. package/tools/cli/installers/lib/ide/windsurf.js +65 -8
  385. package/tools/cli/installers/lib/modules/manager.js +213 -7
  386. package/tools/cli/lib/agent/compiler.js +390 -0
  387. package/tools/cli/lib/agent/installer.js +725 -0
  388. package/tools/cli/lib/agent/template-engine.js +152 -0
  389. package/tools/cli/lib/cli-utils.js +52 -50
  390. package/tools/cli/lib/config.js +3 -1
  391. package/tools/cli/lib/ui.js +34 -17
  392. package/tools/cli/lib/xml-handler.js +1 -0
  393. package/tools/cli/lib/yaml-format.js +2 -1
  394. package/tools/cli/lib/yaml-xml-builder.js +76 -8
  395. package/tools/schema/agent.js +12 -3
  396. package/.claude/commands/bmad/bmb/agents/bmad-builder.md +0 -70
  397. package/.claude/commands/bmad/bmb/workflows/README.md +0 -67
  398. package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +0 -15
  399. package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +0 -15
  400. package/.claude/commands/bmad/bmb/workflows/create-agent.md +0 -15
  401. package/.claude/commands/bmad/bmb/workflows/create-module.md +0 -15
  402. package/.claude/commands/bmad/bmb/workflows/create-workflow.md +0 -15
  403. package/.claude/commands/bmad/bmb/workflows/edit-agent.md +0 -15
  404. package/.claude/commands/bmad/bmb/workflows/edit-module.md +0 -15
  405. package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +0 -15
  406. package/.claude/commands/bmad/bmb/workflows/module-brief.md +0 -15
  407. package/.claude/commands/bmad/bmb/workflows/redoc.md +0 -15
  408. package/.claude/commands/bmad/bmd/agents/cli-chief.md +0 -108
  409. package/.claude/commands/bmad/bmd/agents/doc-keeper.md +0 -115
  410. package/.claude/commands/bmad/bmd/agents/release-chief.md +0 -109
  411. package/.claude/commands/bmad/core/agents/bmad-master.md +0 -71
  412. package/.claude/commands/bmad/core/tasks/index-docs.md +0 -9
  413. package/.claude/commands/bmad/core/tools/shard-doc.md +0 -9
  414. package/.claude/commands/bmad/core/workflows/README.md +0 -27
  415. package/.claude/commands/bmad/core/workflows/brainstorming.md +0 -15
  416. package/.claude/commands/bmad/core/workflows/party-mode.md +0 -15
  417. package/.claude/hooks/bmad-tts-injector.sh +0 -415
  418. package/.claude/hooks/bmad-voice-manager.sh +0 -511
  419. package/.claude/hooks/check-output-style.sh +0 -112
  420. package/.claude/hooks/download-extra-voices.sh +0 -244
  421. package/.claude/hooks/github-star-reminder.sh +0 -154
  422. package/.claude/hooks/language-manager.sh +0 -392
  423. package/.claude/hooks/learn-manager.sh +0 -475
  424. package/.claude/hooks/personality-manager.sh +0 -438
  425. package/.claude/hooks/piper-download-voices.sh +0 -165
  426. package/.claude/hooks/piper-installer.sh +0 -178
  427. package/.claude/hooks/piper-multispeaker-registry.sh +0 -165
  428. package/.claude/hooks/piper-voice-manager.sh +0 -293
  429. package/.claude/hooks/play-tts-elevenlabs.sh +0 -404
  430. package/.claude/hooks/play-tts-piper.sh +0 -338
  431. package/.claude/hooks/play-tts.sh +0 -100
  432. package/.claude/hooks/provider-commands.sh +0 -540
  433. package/.claude/hooks/provider-manager.sh +0 -298
  434. package/.claude/hooks/replay-target-audio.sh +0 -95
  435. package/.claude/hooks/sentiment-manager.sh +0 -201
  436. package/.claude/hooks/speed-manager.sh +0 -291
  437. package/.claude/hooks/voice-manager.sh +0 -594
  438. package/.claude/hooks/voices-config.sh +0 -70
  439. package/.claude/settings.local.json +0 -41
  440. package/bmad/_cfg/agent-manifest.csv +0 -7
  441. package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +0 -42
  442. package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +0 -32
  443. package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +0 -42
  444. package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +0 -42
  445. package/bmad/_cfg/agents/core-bmad-master.customize.yaml +0 -42
  446. package/bmad/_cfg/files-manifest.csv +0 -83
  447. package/bmad/_cfg/manifest.yaml +0 -12
  448. package/bmad/_cfg/task-manifest.csv +0 -5
  449. package/bmad/_cfg/tool-manifest.csv +0 -2
  450. package/bmad/_cfg/workflow-manifest.csv +0 -15
  451. package/bmad/bmb/README.md +0 -132
  452. package/bmad/bmb/agents/bmad-builder.md +0 -70
  453. package/bmad/bmb/config.yaml +0 -14
  454. package/bmad/bmb/workflows/audit-workflow/checklist.md +0 -143
  455. package/bmad/bmb/workflows/audit-workflow/instructions.md +0 -341
  456. package/bmad/bmb/workflows/audit-workflow/template.md +0 -118
  457. package/bmad/bmb/workflows/audit-workflow/workflow.yaml +0 -23
  458. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +0 -21
  459. package/bmad/bmb/workflows/convert-legacy/README.md +0 -262
  460. package/bmad/bmb/workflows/convert-legacy/checklist.md +0 -205
  461. package/bmad/bmb/workflows/convert-legacy/instructions.md +0 -377
  462. package/bmad/bmb/workflows/convert-legacy/workflow.yaml +0 -32
  463. package/bmad/bmb/workflows/create-agent/README.md +0 -320
  464. package/bmad/bmb/workflows/create-agent/agent-architecture.md +0 -419
  465. package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +0 -412
  466. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  467. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +0 -759
  468. package/bmad/bmb/workflows/create-agent/agent-types.md +0 -292
  469. package/bmad/bmb/workflows/create-agent/brainstorm-context.md +0 -174
  470. package/bmad/bmb/workflows/create-agent/checklist.md +0 -62
  471. package/bmad/bmb/workflows/create-agent/communication-styles.md +0 -202
  472. package/bmad/bmb/workflows/create-agent/instructions.md +0 -430
  473. package/bmad/bmb/workflows/create-agent/workflow.yaml +0 -37
  474. package/bmad/bmb/workflows/create-module/README.md +0 -220
  475. package/bmad/bmb/workflows/create-module/README.md.bak +0 -218
  476. package/bmad/bmb/workflows/create-module/brainstorm-context.md +0 -137
  477. package/bmad/bmb/workflows/create-module/checklist.md +0 -244
  478. package/bmad/bmb/workflows/create-module/checklist.md.bak +0 -245
  479. package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
  480. package/bmad/bmb/workflows/create-module/installer-templates/installer.js +0 -231
  481. package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +0 -231
  482. package/bmad/bmb/workflows/create-module/instructions.md +0 -581
  483. package/bmad/bmb/workflows/create-module/instructions.md.bak +0 -521
  484. package/bmad/bmb/workflows/create-module/module-structure.md +0 -366
  485. package/bmad/bmb/workflows/create-module/module-structure.md.bak +0 -310
  486. package/bmad/bmb/workflows/create-module/workflow.yaml +0 -42
  487. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +0 -40
  488. package/bmad/bmb/workflows/create-workflow/README.md +0 -277
  489. package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  490. package/bmad/bmb/workflows/create-workflow/checklist.md +0 -94
  491. package/bmad/bmb/workflows/create-workflow/instructions.md +0 -716
  492. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1150
  493. package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  494. package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -13
  495. package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  496. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -39
  497. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +0 -39
  498. package/bmad/bmb/workflows/create-workflow/workflow.yaml +0 -40
  499. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +0 -38
  500. package/bmad/bmb/workflows/edit-agent/README.md +0 -112
  501. package/bmad/bmb/workflows/edit-agent/checklist.md +0 -112
  502. package/bmad/bmb/workflows/edit-agent/instructions.md +0 -290
  503. package/bmad/bmb/workflows/edit-agent/workflow.yaml +0 -33
  504. package/bmad/bmb/workflows/edit-module/README.md +0 -187
  505. package/bmad/bmb/workflows/edit-module/checklist.md +0 -165
  506. package/bmad/bmb/workflows/edit-module/instructions.md +0 -339
  507. package/bmad/bmb/workflows/edit-module/workflow.yaml +0 -34
  508. package/bmad/bmb/workflows/edit-workflow/README.md +0 -119
  509. package/bmad/bmb/workflows/edit-workflow/checklist.md +0 -70
  510. package/bmad/bmb/workflows/edit-workflow/instructions.md +0 -342
  511. package/bmad/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  512. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +0 -25
  513. package/bmad/bmb/workflows/module-brief/README.md +0 -264
  514. package/bmad/bmb/workflows/module-brief/checklist.md +0 -116
  515. package/bmad/bmb/workflows/module-brief/instructions.md +0 -267
  516. package/bmad/bmb/workflows/module-brief/template.md +0 -275
  517. package/bmad/bmb/workflows/module-brief/workflow.yaml +0 -29
  518. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +0 -27
  519. package/bmad/bmb/workflows/redoc/README.md +0 -87
  520. package/bmad/bmb/workflows/redoc/checklist.md +0 -99
  521. package/bmad/bmb/workflows/redoc/instructions.md +0 -265
  522. package/bmad/bmb/workflows/redoc/workflow.yaml +0 -32
  523. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +0 -31
  524. package/bmad/bmd/README.md +0 -193
  525. package/bmad/bmd/README.md.bak +0 -193
  526. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  527. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +0 -102
  528. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  529. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +0 -68
  530. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  531. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +0 -123
  532. package/bmad/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  533. package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +0 -53
  534. package/bmad/bmd/agents/cli-chief.md +0 -108
  535. package/bmad/bmd/agents/cli-chief.md.bak +0 -108
  536. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  537. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +0 -177
  538. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  539. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +0 -81
  540. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  541. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +0 -88
  542. package/bmad/bmd/agents/doc-keeper.md +0 -115
  543. package/bmad/bmd/agents/doc-keeper.md.bak +0 -115
  544. package/bmad/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  545. package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +0 -164
  546. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  547. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +0 -82
  548. package/bmad/bmd/agents/release-chief-sidecar/memories.md +0 -73
  549. package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +0 -73
  550. package/bmad/bmd/agents/release-chief.md +0 -109
  551. package/bmad/bmd/agents/release-chief.md.bak +0 -109
  552. package/bmad/bmd/config.yaml +0 -10
  553. package/bmad/core/agents/bmad-master.md +0 -71
  554. package/bmad/core/agents/bmad-web-orchestrator.agent.xml +0 -122
  555. package/bmad/core/config.yaml +0 -9
  556. package/bmad/core/tasks/adv-elicit-methods.csv +0 -39
  557. package/bmad/core/tasks/index-docs.xml +0 -65
  558. package/bmad/core/tasks/validate-workflow.xml +0 -89
  559. package/bmad/core/tasks/workflow.xml +0 -174
  560. package/bmad/core/tools/shard-doc.xml +0 -100
  561. package/bmad/core/workflows/brainstorming/README.md +0 -271
  562. package/bmad/core/workflows/brainstorming/brain-methods.csv +0 -36
  563. package/bmad/core/workflows/brainstorming/instructions.md +0 -314
  564. package/bmad/core/workflows/brainstorming/template.md +0 -102
  565. package/bmad/core/workflows/brainstorming/workflow.yaml +0 -43
  566. package/bmad/core/workflows/party-mode/instructions.md +0 -188
  567. package/bmad/core/workflows/party-mode/workflow.yaml +0 -23
  568. package/bmad/docs/claude-code-instructions.md +0 -25
  569. package/bmad/docs/codex-instructions.md +0 -21
  570. package/bmd/README.md +0 -193
  571. package/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  572. package/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  573. package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  574. package/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  575. package/bmd/agents/cli-chief.agent.yaml +0 -126
  576. package/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  577. package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  578. package/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  579. package/bmd/agents/doc-keeper.agent.yaml +0 -137
  580. package/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  581. package/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  582. package/bmd/agents/release-chief-sidecar/memories.md +0 -73
  583. package/bmd/agents/release-chief.agent.yaml +0 -127
  584. package/bmd/bmad-custom-module-installer-plan.md +0 -1176
  585. package/bmd/config.yaml +0 -12
  586. package/docs/bmad-brownfield-guide.md +0 -1260
  587. package/docs/conversion-report-shard-doc-2025-10-26.md +0 -188
  588. package/docs/installers-bundlers/web-bundler-usage.md +0 -54
  589. package/src/core/tasks/adv-elicit.xml +0 -104
  590. package/src/modules/bmb/workflows/create-agent/README.md +0 -320
  591. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +0 -419
  592. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  593. package/src/modules/bmb/workflows/create-agent/agent-types.md +0 -292
  594. package/src/modules/bmb/workflows/create-agent/checklist.md +0 -62
  595. package/src/modules/bmb/workflows/create-agent/communication-styles.md +0 -202
  596. package/src/modules/bmb/workflows/edit-agent/checklist.md +0 -112
  597. package/src/modules/bmb/workflows/redoc/README.md +0 -87
  598. package/src/modules/bmb/workflows/redoc/checklist.md +0 -99
  599. package/src/modules/bmb/workflows/redoc/instructions.md +0 -265
  600. package/src/modules/bmb/workflows/redoc/workflow.yaml +0 -34
  601. package/src/modules/bmm/agents/game-architect.agent.yaml +0 -35
  602. package/src/modules/bmm/agents/game-designer.agent.yaml +0 -47
  603. package/src/modules/bmm/agents/game-dev.agent.yaml +0 -39
  604. package/src/modules/bmm/sub-modules/claude-code/config.yaml +0 -5
  605. package/src/modules/bmm/sub-modules/claude-code/injections.yaml +0 -242
  606. package/src/modules/bmm/sub-modules/claude-code/readme.md +0 -87
  607. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +0 -102
  608. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +0 -82
  609. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +0 -101
  610. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +0 -84
  611. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +0 -83
  612. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +0 -81
  613. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +0 -61
  614. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +0 -168
  615. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +0 -115
  616. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +0 -123
  617. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +0 -72
  618. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +0 -51
  619. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +0 -106
  620. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +0 -102
  621. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +0 -68
  622. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +0 -108
  623. package/src/modules/bmm/tasks/daily-standup.xml +0 -85
  624. package/src/modules/bmm/tasks/retrospective.xml +0 -104
  625. package/src/modules/bmm/testarch/README.md +0 -311
  626. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +0 -38
  627. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +0 -109
  628. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +0 -29
  629. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +0 -221
  630. package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +0 -180
  631. package/src/modules/bmm/workflows/1-analysis/research/README.md +0 -454
  632. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +0 -259
  633. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +0 -190
  634. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +0 -337
  635. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +0 -107
  636. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +0 -329
  637. package/src/modules/bmm/workflows/2-plan-workflows/README.md +0 -258
  638. package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +0 -222
  639. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +0 -67
  640. package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +0 -63
  641. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +0 -167
  642. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +0 -278
  643. package/src/modules/bmm/workflows/3-solutioning/README.md +0 -1
  644. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +0 -177
  645. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +0 -273
  646. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -189
  647. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +0 -40
  648. package/src/modules/bmm/workflows/4-implementation/README.md +0 -221
  649. package/src/modules/bmm/workflows/4-implementation/code-review/README.md +0 -69
  650. package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +0 -73
  651. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +0 -129
  652. package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +0 -367
  653. package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +0 -206
  654. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +0 -195
  655. package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +0 -77
  656. package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +0 -156
  657. package/src/modules/bmm/workflows/4-implementation/story-context/README.md +0 -234
  658. package/src/modules/bmm/workflows/README.md +0 -577
  659. package/src/modules/bmm/workflows/document-project/templates/README.md +0 -38
  660. package/src/modules/bmm/workflows/testarch/README.md +0 -26
  661. package/src/modules/bmm/workflows/testarch/atdd/README.md +0 -672
  662. package/src/modules/bmm/workflows/testarch/automate/README.md +0 -869
  663. package/src/modules/bmm/workflows/testarch/ci/README.md +0 -493
  664. package/src/modules/bmm/workflows/testarch/framework/README.md +0 -340
  665. package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +0 -469
  666. package/src/modules/bmm/workflows/testarch/test-design/README.md +0 -493
  667. package/src/modules/bmm/workflows/testarch/test-review/README.md +0 -775
  668. package/src/modules/bmm/workflows/testarch/trace/README.md +0 -802
  669. package/src/modules/bmm/workflows/workflow-status/README.md +0 -241
  670. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +0 -54
  671. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +0 -76
  672. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +0 -88
  673. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +0 -75
  674. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +0 -45
  675. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +0 -78
  676. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +0 -73
  677. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +0 -75
  678. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +0 -30
  679. package/src/modules/cis/readme.md +0 -86
  680. package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +0 -23
  681. package/v6-open-items.md +0 -23
  682. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-brain-methods.csv +0 -0
  683. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-context.md +0 -0
  684. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/checklist.md +0 -0
  685. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/template.md +0 -0
  686. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/checklist.md +0 -0
  687. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/action-platformer.md +0 -0
  688. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/adventure.md +0 -0
  689. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/card-game.md +0 -0
  690. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/fighting.md +0 -0
  691. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/horror.md +0 -0
  692. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/idle-incremental.md +0 -0
  693. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/metroidvania.md +0 -0
  694. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/moba.md +0 -0
  695. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/party-game.md +0 -0
  696. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/puzzle.md +0 -0
  697. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/racing.md +0 -0
  698. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rhythm.md +0 -0
  699. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/roguelike.md +0 -0
  700. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rpg.md +0 -0
  701. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sandbox.md +0 -0
  702. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/shooter.md +0 -0
  703. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/simulation.md +0 -0
  704. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sports.md +0 -0
  705. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/strategy.md +0 -0
  706. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/survival.md +0 -0
  707. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/text-based.md +0 -0
  708. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/tower-defense.md +0 -0
  709. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/turn-based-tactics.md +0 -0
  710. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/visual-novel.md +0 -0
  711. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types.csv +0 -0
  712. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/gdd-template.md +0 -0
  713. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/checklist.md +0 -0
  714. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/narrative-template.md +0 -0
@@ -2,13 +2,13 @@ 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() {
@@ -21,20 +21,59 @@ class CodexSetup extends BaseIdeSetup {
21
21
  * @returns {Object} Collected configuration
22
22
  */
23
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
- ]);
24
+ const inquirer = require('inquirer');
25
+
26
+ let confirmed = false;
27
+ let installLocation = 'global';
28
+
29
+ while (!confirmed) {
30
+ const { location } = await inquirer.prompt([
31
+ {
32
+ type: 'list',
33
+ name: 'location',
34
+ message: 'Where would you like to install Codex CLI prompts?',
35
+ choices: [
36
+ {
37
+ name: 'Global - Simple for single project ' + '(~/.codex/prompts, but references THIS project only)',
38
+ value: 'global',
39
+ },
40
+ {
41
+ name: `Project-specific - Recommended for real work (requires CODEX_HOME=<project-dir>${path.sep}.codex)`,
42
+ value: 'project',
43
+ },
44
+ ],
45
+ default: 'global',
46
+ },
47
+ ]);
48
+
49
+ installLocation = location;
50
+
51
+ // Display detailed instructions for the chosen option
52
+ console.log('');
53
+ if (installLocation === 'project') {
54
+ console.log(this.getProjectSpecificInstructions());
55
+ } else {
56
+ console.log(this.getGlobalInstructions());
57
+ }
58
+
59
+ // Confirm the choice
60
+ const { proceed } = await inquirer.prompt([
61
+ {
62
+ type: 'confirm',
63
+ name: 'proceed',
64
+ message: 'Proceed with this installation option?',
65
+ default: true,
66
+ },
67
+ ]);
68
+
69
+ confirmed = proceed;
70
+
71
+ if (!confirmed) {
72
+ console.log(chalk.yellow("\n Let's choose a different installation option.\n"));
73
+ }
74
+ }
36
75
 
37
- return { codexMode: response.mode };
76
+ return { installLocation };
38
77
  }
39
78
 
40
79
  /**
@@ -46,46 +85,30 @@ class CodexSetup extends BaseIdeSetup {
46
85
  async setup(projectDir, bmadDir, options = {}) {
47
86
  console.log(chalk.cyan(`Setting up ${this.name}...`));
48
87
 
49
- const config = options.preCollectedConfig || {};
50
- const mode = config.codexMode || options.codexMode || 'cli';
88
+ // Always use CLI mode
89
+ const mode = 'cli';
90
+
91
+ // Get installation location from pre-collected config or default to global
92
+ const installLocation = options.preCollectedConfig?.installLocation || 'global';
51
93
 
52
94
  const { artifacts, counts } = await this.collectClaudeArtifacts(projectDir, bmadDir, options);
53
95
 
54
- const destDir = this.getCodexPromptDir();
96
+ const destDir = this.getCodexPromptDir(projectDir, installLocation);
55
97
  await fs.ensureDir(destDir);
56
98
  await this.clearOldBmadFiles(destDir);
57
99
  const written = await this.flattenAndWriteArtifacts(artifacts, destDir);
58
100
 
59
101
  console.log(chalk.green(`✓ ${this.name} configured:`));
60
- console.log(chalk.dim(` - Mode: ${mode === 'web' ? 'Web' : 'CLI'}`));
102
+ console.log(chalk.dim(` - Mode: CLI`));
61
103
  console.log(chalk.dim(` - ${counts.agents} agents exported`));
62
104
  console.log(chalk.dim(` - ${counts.tasks} tasks exported`));
63
105
  console.log(chalk.dim(` - ${counts.workflows} workflow commands exported`));
64
106
  if (counts.workflowLaunchers > 0) {
65
107
  console.log(chalk.dim(` - ${counts.workflowLaunchers} workflow launchers exported`));
66
108
  }
67
- if (counts.subagents > 0) {
68
- console.log(chalk.dim(` - ${counts.subagents} subagents exported`));
69
- }
70
109
  console.log(chalk.dim(` - ${written} Codex prompt files written`));
71
110
  console.log(chalk.dim(` - Destination: ${destDir}`));
72
111
 
73
- // Prominent notice about home directory installation
74
- console.log('');
75
- console.log(chalk.bold.cyan('═'.repeat(70)));
76
- console.log(chalk.bold.yellow(' IMPORTANT: Codex Configuration'));
77
- console.log(chalk.bold.cyan('═'.repeat(70)));
78
- console.log('');
79
- console.log(chalk.white(' Prompts have been installed to your HOME DIRECTORY, not this project.'));
80
- console.log(chalk.white(' No .codex file was created in the project root.'));
81
- console.log('');
82
- console.log(chalk.green(' ✓ You can now use slash commands (/) in Codex CLI'));
83
- console.log(chalk.dim(' Example: /bmad-bmm-agents-pm'));
84
- console.log(chalk.dim(' Type / to see all available commands'));
85
- console.log('');
86
- console.log(chalk.bold.cyan('═'.repeat(70)));
87
- console.log('');
88
-
89
112
  return {
90
113
  success: true,
91
114
  mode,
@@ -93,21 +116,36 @@ class CodexSetup extends BaseIdeSetup {
93
116
  counts,
94
117
  destination: destDir,
95
118
  written,
119
+ installLocation,
96
120
  };
97
121
  }
98
122
 
99
123
  /**
100
124
  * Detect Codex installation by checking for BMAD prompt exports
101
125
  */
102
- async detect(_projectDir) {
103
- const destDir = this.getCodexPromptDir();
126
+ async detect(projectDir) {
127
+ // Check both global and project-specific locations
128
+ const globalDir = this.getCodexPromptDir(null, 'global');
129
+ const projectDir_local = projectDir || process.cwd();
130
+ const projectSpecificDir = this.getCodexPromptDir(projectDir_local, 'project');
131
+
132
+ // Check global location
133
+ if (await fs.pathExists(globalDir)) {
134
+ const entries = await fs.readdir(globalDir);
135
+ if (entries.some((entry) => entry.startsWith('bmad-'))) {
136
+ return true;
137
+ }
138
+ }
104
139
 
105
- if (!(await fs.pathExists(destDir))) {
106
- return false;
140
+ // Check project-specific location
141
+ if (await fs.pathExists(projectSpecificDir)) {
142
+ const entries = await fs.readdir(projectSpecificDir);
143
+ if (entries.some((entry) => entry.startsWith('bmad-'))) {
144
+ return true;
145
+ }
107
146
  }
108
147
 
109
- const entries = await fs.readdir(destDir);
110
- return entries.some((entry) => entry.startsWith('bmad-'));
148
+ return false;
111
149
  }
112
150
 
113
151
  /**
@@ -118,23 +156,17 @@ class CodexSetup extends BaseIdeSetup {
118
156
  const selectedModules = options.selectedModules || [];
119
157
  const artifacts = [];
120
158
 
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
- );
159
+ // Generate agent launchers
160
+ const agentGen = new AgentCommandGenerator(this.bmadFolderName);
161
+ const { artifacts: agentArtifacts } = await agentGen.collectAgentArtifacts(bmadDir, selectedModules);
131
162
 
163
+ for (const artifact of agentArtifacts) {
132
164
  artifacts.push({
133
165
  type: 'agent',
134
- module: agent.module,
135
- sourcePath: agent.path,
136
- relativePath: path.join(agent.module, 'agents', `${agent.name}.md`),
137
- content,
166
+ module: artifact.module,
167
+ sourcePath: artifact.sourcePath,
168
+ relativePath: artifact.relativePath,
169
+ content: artifact.content,
138
170
  });
139
171
  }
140
172
 
@@ -158,14 +190,14 @@ class CodexSetup extends BaseIdeSetup {
158
190
  });
159
191
  }
160
192
 
161
- const workflowGenerator = new WorkflowCommandGenerator();
193
+ const workflowGenerator = new WorkflowCommandGenerator(this.bmadFolderName);
162
194
  const { artifacts: workflowArtifacts, counts: workflowCounts } = await workflowGenerator.collectWorkflowArtifacts(bmadDir);
163
195
  artifacts.push(...workflowArtifacts);
164
196
 
165
197
  return {
166
198
  artifacts,
167
199
  counts: {
168
- agents: agents.length,
200
+ agents: agentArtifacts.length,
169
201
  tasks: tasks.length,
170
202
  workflows: workflowCounts.commands,
171
203
  workflowLaunchers: workflowCounts.launchers,
@@ -173,15 +205,13 @@ class CodexSetup extends BaseIdeSetup {
173
205
  };
174
206
  }
175
207
 
176
- getCodexPromptDir() {
208
+ getCodexPromptDir(projectDir = null, location = 'global') {
209
+ if (location === 'project' && projectDir) {
210
+ return path.join(projectDir, '.codex', 'prompts');
211
+ }
177
212
  return path.join(os.homedir(), '.codex', 'prompts');
178
213
  }
179
214
 
180
- flattenFilename(relativePath) {
181
- const sanitized = relativePath.replaceAll(/[\\/]/g, '-');
182
- return `bmad-${sanitized}`;
183
- }
184
-
185
215
  async flattenAndWriteArtifacts(artifacts, destDir) {
186
216
  let written = 0;
187
217
 
@@ -223,11 +253,135 @@ class CodexSetup extends BaseIdeSetup {
223
253
  }
224
254
 
225
255
  /**
226
- * Cleanup Codex configuration (no-op until export destination is finalized)
256
+ * Get instructions for global installation
257
+ * @returns {string} Instructions text
258
+ */
259
+ getGlobalInstructions(destDir) {
260
+ const lines = [
261
+ '',
262
+ chalk.bold.cyan('═'.repeat(70)),
263
+ chalk.bold.yellow(' IMPORTANT: Codex Configuration'),
264
+ chalk.bold.cyan('═'.repeat(70)),
265
+ '',
266
+ chalk.white(' /prompts installed globally to your HOME DIRECTORY.'),
267
+ '',
268
+ chalk.yellow(' ⚠️ These prompts reference a specific .bmad path'),
269
+ chalk.dim(" To use with other projects, you'd need to copy the .bmad dir"),
270
+ '',
271
+ chalk.green(' ✓ You can now use /commands in Codex CLI'),
272
+ chalk.dim(' Example: /bmad-bmm-agents-pm'),
273
+ chalk.dim(' Type / to see all available commands'),
274
+ '',
275
+ chalk.bold.cyan('═'.repeat(70)),
276
+ '',
277
+ ];
278
+ return lines.join('\n');
279
+ }
280
+
281
+ /**
282
+ * Get instructions for project-specific installation
283
+ * @param {string} projectDir - Optional project directory
284
+ * @param {string} destDir - Optional destination directory
285
+ * @returns {string} Instructions text
286
+ */
287
+ getProjectSpecificInstructions(projectDir = null, destDir = null) {
288
+ const isWindows = os.platform() === 'win32';
289
+
290
+ const commonLines = [
291
+ '',
292
+ chalk.bold.cyan('═'.repeat(70)),
293
+ chalk.bold.yellow(' Project-Specific Codex Configuration'),
294
+ chalk.bold.cyan('═'.repeat(70)),
295
+ '',
296
+ chalk.white(' Prompts will be installed to: ') + chalk.cyan(destDir || '<project>/.codex/prompts'),
297
+ '',
298
+ chalk.bold.yellow(' ⚠️ REQUIRED: You must set CODEX_HOME to use these prompts'),
299
+ '',
300
+ ];
301
+
302
+ const windowsLines = [
303
+ chalk.bold(' Create a codex.cmd file in your project root:'),
304
+ '',
305
+ chalk.green(' @echo off'),
306
+ chalk.green(' set CODEX_HOME=%~dp0.codex'),
307
+ chalk.green(' codex %*'),
308
+ '',
309
+ chalk.dim(String.raw` Then run: .\codex instead of codex`),
310
+ chalk.dim(' (The %~dp0 gets the directory of the .cmd file)'),
311
+ ];
312
+
313
+ const unixLines = [
314
+ chalk.bold(' Add this alias to your ~/.bashrc or ~/.zshrc:'),
315
+ '',
316
+ chalk.green(' alias codex=\'CODEX_HOME="$PWD/.codex" codex\''),
317
+ '',
318
+ chalk.dim(' After adding, run: source ~/.bashrc (or source ~/.zshrc)'),
319
+ chalk.dim(' (The $PWD uses your current working directory)'),
320
+ ];
321
+ const closingLines = [
322
+ '',
323
+ chalk.dim(' This tells Codex CLI to use prompts from this project instead of ~/.codex'),
324
+ '',
325
+ chalk.bold.cyan('═'.repeat(70)),
326
+ '',
327
+ ];
328
+
329
+ const lines = [...commonLines, ...(isWindows ? windowsLines : unixLines), ...closingLines];
330
+
331
+ return lines.join('\n');
332
+ }
333
+
334
+ /**
335
+ * Cleanup Codex configuration
227
336
  */
228
- async cleanup() {
337
+ async cleanup(projectDir = null) {
338
+ // Clean both global and project-specific locations
339
+ const globalDir = this.getCodexPromptDir(null, 'global');
340
+ await this.clearOldBmadFiles(globalDir);
341
+
342
+ if (projectDir) {
343
+ const projectSpecificDir = this.getCodexPromptDir(projectDir, 'project');
344
+ await this.clearOldBmadFiles(projectSpecificDir);
345
+ }
346
+ }
347
+
348
+ /**
349
+ * Install a custom agent launcher for Codex
350
+ * @param {string} projectDir - Project directory (not used, Codex installs to home)
351
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
352
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
353
+ * @param {Object} metadata - Agent metadata
354
+ * @returns {Object|null} Info about created command
355
+ */
356
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
229
357
  const destDir = this.getCodexPromptDir();
230
- await this.clearOldBmadFiles(destDir);
358
+ await fs.ensureDir(destDir);
359
+
360
+ const launcherContent = `---
361
+ name: '${agentName}'
362
+ description: '${agentName} agent'
363
+ ---
364
+
365
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
366
+
367
+ <agent-activation CRITICAL="TRUE">
368
+ 1. LOAD the FULL agent file from @${agentPath}
369
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
370
+ 3. FOLLOW every step in the <activation> section precisely
371
+ 4. DISPLAY the welcome/greeting as instructed
372
+ 5. PRESENT the numbered menu
373
+ 6. WAIT for user input before proceeding
374
+ </agent-activation>
375
+ `;
376
+
377
+ const fileName = `bmad-custom-agents-${agentName}.md`;
378
+ const launcherPath = path.join(destDir, fileName);
379
+ await fs.writeFile(launcherPath, launcherContent, 'utf8');
380
+
381
+ return {
382
+ path: launcherPath,
383
+ command: `/${fileName.replace('.md', '')}`,
384
+ };
231
385
  }
232
386
  }
233
387
 
@@ -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,82 @@ 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
+ }
350
+
351
+ /**
352
+ * Install a custom agent launcher for Cursor
353
+ * @param {string} projectDir - Project directory
354
+ * @param {string} agentName - Agent name (e.g., "fred-commit-poet")
355
+ * @param {string} agentPath - Path to compiled agent (relative to project root)
356
+ * @param {Object} metadata - Agent metadata
357
+ * @returns {Object|null} Info about created command
358
+ */
359
+ async installCustomAgentLauncher(projectDir, agentName, agentPath, metadata) {
360
+ const customAgentsDir = path.join(projectDir, this.configDir, this.rulesDir, 'bmad', 'custom', 'agents');
361
+
362
+ if (!(await this.exists(path.join(projectDir, this.configDir)))) {
363
+ return null; // IDE not configured for this project
364
+ }
365
+
366
+ await this.ensureDir(customAgentsDir);
367
+
368
+ 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.
369
+
370
+ <agent-activation CRITICAL="TRUE">
371
+ 1. LOAD the FULL agent file from @${agentPath}
372
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
373
+ 3. FOLLOW every step in the <activation> section precisely
374
+ 4. DISPLAY the welcome/greeting as instructed
375
+ 5. PRESENT the numbered menu
376
+ 6. WAIT for user input before proceeding
377
+ </agent-activation>
378
+ `;
379
+
380
+ // Cursor uses MDC format with metadata header
381
+ const mdcContent = `---
382
+ description: "${agentName} agent"
383
+ globs:
384
+ alwaysApply: false
385
+ ---
386
+
387
+ ${launcherContent}
388
+ `;
389
+
390
+ const launcherPath = path.join(customAgentsDir, `${agentName}.mdc`);
391
+ await this.writeFile(launcherPath, mdcContent);
392
+
393
+ return {
394
+ path: launcherPath,
395
+ command: `@${agentName}`,
396
+ };
397
+ }
290
398
  }
291
399
 
292
400
  module.exports = { CursorSetup };