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

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 (608) hide show
  1. package/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
  2. package/.github/scripts/discord-helpers.sh +15 -0
  3. package/.github/workflows/bundle-latest.yaml +79 -27
  4. package/.github/workflows/discord.yaml +278 -8
  5. package/.github/workflows/quality.yaml +19 -0
  6. package/.markdownlint-cli2.yaml +42 -0
  7. package/.prettierignore +3 -0
  8. package/CHANGELOG.md +254 -1
  9. package/CODE_OF_CONDUCT.md +128 -0
  10. package/README.md +3 -1
  11. package/bmad-method-6.0.0-alpha.14.tgz +0 -0
  12. package/docs/agent-customization-guide.md +2 -2
  13. package/docs/custom-agent-installation.md +58 -90
  14. package/docs/document-sharding-guide.md +1 -1
  15. package/docs/ide-info/rovo-dev.md +388 -0
  16. package/docs/index.md +6 -81
  17. package/docs/installers-bundlers/installers-modules-platforms-reference.md +1 -1
  18. package/eslint.config.mjs +14 -0
  19. package/example-custom-content/README.md +4 -0
  20. package/example-custom-content/agents/commit-poet/commit-poet.agent.yaml +129 -0
  21. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/instructions.md +70 -0
  22. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/bundlers.md +111 -0
  23. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/deploy.md +70 -0
  24. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/docs.md +114 -0
  25. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/installers.md +134 -0
  26. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/modules.md +161 -0
  27. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/knowledge/tests.md +103 -0
  28. package/example-custom-content/agents/toolsmith/toolsmith-sidecar/memories.md +17 -0
  29. package/example-custom-content/agents/toolsmith/toolsmith.agent.yaml +109 -0
  30. package/example-custom-content/custom.yaml +3 -0
  31. package/example-custom-content/workflows/quiz-master/steps/step-01-init.md +168 -0
  32. package/example-custom-content/workflows/quiz-master/steps/step-02-q1.md +155 -0
  33. package/example-custom-content/workflows/quiz-master/steps/step-03-q2.md +89 -0
  34. package/example-custom-content/workflows/quiz-master/steps/step-04-q3.md +36 -0
  35. package/example-custom-content/workflows/quiz-master/steps/step-05-q4.md +36 -0
  36. package/example-custom-content/workflows/quiz-master/steps/step-06-q5.md +36 -0
  37. package/example-custom-content/workflows/quiz-master/steps/step-07-q6.md +36 -0
  38. package/example-custom-content/workflows/quiz-master/steps/step-08-q7.md +36 -0
  39. package/example-custom-content/workflows/quiz-master/steps/step-09-q8.md +36 -0
  40. package/example-custom-content/workflows/quiz-master/steps/step-10-q9.md +36 -0
  41. package/example-custom-content/workflows/quiz-master/steps/step-11-q10.md +36 -0
  42. package/example-custom-content/workflows/quiz-master/steps/step-12-results.md +150 -0
  43. package/example-custom-content/workflows/quiz-master/templates/csv-headers.template +1 -0
  44. package/example-custom-content/workflows/quiz-master/workflow-plan-quiz-master.md +269 -0
  45. package/example-custom-content/workflows/quiz-master/workflow.md +54 -0
  46. package/example-custom-content/workflows/wassup/workflow.md +26 -0
  47. package/example-custom-module/mwm/README.md +4 -0
  48. package/example-custom-module/mwm/_module-installer/install-config.yaml +27 -0
  49. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/cognitive-distortions.md +47 -0
  50. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach-sidecar/thought-records.md +17 -0
  51. package/example-custom-module/mwm/agents/cbt-coach/cbt-coach.agent.yaml +150 -0
  52. package/example-custom-module/mwm/agents/crisis-navigator.agent.yaml +137 -0
  53. package/example-custom-module/mwm/agents/meditation-guide.agent.yaml +137 -0
  54. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/insights.md +13 -0
  55. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/instructions.md +30 -0
  56. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/memories.md +13 -0
  57. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion-sidecar/patterns.md +17 -0
  58. package/example-custom-module/mwm/agents/wellness-companion/wellness-companion.agent.yaml +124 -0
  59. package/example-custom-module/mwm/workflows/cbt-thought-record/README.md +31 -0
  60. package/example-custom-module/mwm/workflows/cbt-thought-record/workflow.md +45 -0
  61. package/example-custom-module/mwm/workflows/crisis-support/README.md +31 -0
  62. package/example-custom-module/mwm/workflows/crisis-support/workflow.md +45 -0
  63. package/example-custom-module/mwm/workflows/daily-checkin/README.md +32 -0
  64. package/example-custom-module/mwm/workflows/daily-checkin/workflow.md +45 -0
  65. package/example-custom-module/mwm/workflows/guided-meditation/README.md +31 -0
  66. package/example-custom-module/mwm/workflows/guided-meditation/workflow.md +45 -0
  67. package/example-custom-module/mwm/workflows/wellness-journal/README.md +31 -0
  68. package/example-custom-module/mwm/workflows/wellness-journal/workflow.md +45 -0
  69. package/package.json +9 -4
  70. package/src/core/_module-installer/install-config.yaml +5 -1
  71. package/src/core/agents/bmad-master.agent.yaml +1 -1
  72. package/src/core/agents/bmad-web-orchestrator.agent.xml +1 -1
  73. package/src/core/resources/excalidraw/library-loader.md +2 -2
  74. package/src/core/tasks/advanced-elicitation-methods.csv +51 -21
  75. package/src/core/tasks/advanced-elicitation.xml +18 -8
  76. package/src/core/tasks/workflow.xml +36 -71
  77. package/src/core/workflows/brainstorming/brain-methods.csv +62 -36
  78. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +196 -0
  79. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +121 -0
  80. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +224 -0
  81. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +236 -0
  82. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +208 -0
  83. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +263 -0
  84. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +339 -0
  85. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +302 -0
  86. package/src/core/workflows/brainstorming/template.md +13 -104
  87. package/src/core/workflows/brainstorming/workflow.md +51 -0
  88. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  89. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +203 -0
  90. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +158 -0
  91. package/src/core/workflows/party-mode/workflow.md +206 -0
  92. package/src/modules/bmb/README.md +153 -86
  93. package/src/modules/bmb/_module-installer/install-config.yaml +4 -9
  94. package/src/modules/bmb/_module-installer/installer.js +76 -0
  95. package/src/modules/bmb/agents/bmad-builder.agent.yaml +75 -38
  96. package/src/modules/bmb/docs/{agent-menu-patterns.md → agents/agent-menu-patterns.md} +6 -6
  97. package/src/modules/bmb/docs/{expert-agent-architecture.md → agents/expert-agent-architecture.md} +20 -20
  98. package/src/modules/bmb/docs/agents/kb.csv +0 -0
  99. package/src/modules/bmb/docs/{module-agent-architecture.md → agents/module-agent-architecture.md} +46 -46
  100. package/src/modules/bmb/docs/{simple-agent-architecture.md → agents/simple-agent-architecture.md} +7 -3
  101. package/src/modules/bmb/docs/workflows/architecture.md +220 -0
  102. package/src/modules/bmb/docs/workflows/common-workflow-tools.csv +19 -0
  103. package/src/modules/bmb/docs/workflows/csv-data-file-standards.md +206 -0
  104. package/src/modules/bmb/docs/workflows/index.md +45 -0
  105. package/src/modules/bmb/docs/workflows/intent-vs-prescriptive-spectrum.md +220 -0
  106. package/src/modules/bmb/docs/workflows/kb.csv +0 -0
  107. package/src/modules/bmb/docs/workflows/templates/step-01-init-continuable-template.md +241 -0
  108. package/src/modules/bmb/docs/workflows/templates/step-1b-template.md +223 -0
  109. package/src/modules/bmb/docs/workflows/templates/step-file.md +139 -0
  110. package/src/modules/bmb/docs/workflows/templates/step-template.md +290 -0
  111. package/src/modules/bmb/docs/workflows/templates/workflow-template.md +104 -0
  112. package/src/modules/bmb/docs/workflows/templates/workflow.md +58 -0
  113. package/src/modules/bmb/docs/workflows/terms.md +97 -0
  114. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +4 -4
  115. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +8 -8
  116. package/src/modules/bmb/reference/agents/module-examples/README.md +1 -1
  117. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +7 -7
  118. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +7 -7
  119. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  120. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  121. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  122. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +176 -0
  123. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +120 -0
  124. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  125. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +153 -0
  126. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  127. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  128. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  129. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  130. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  131. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  132. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  133. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  134. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  135. package/src/modules/bmb/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  136. package/src/modules/bmb/workflows/create-agent/data/info-and-installation-guide.md +29 -0
  137. package/src/modules/bmb/workflows/create-agent/data/reference/README.md +3 -0
  138. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  139. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  140. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  141. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  142. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  143. package/src/modules/bmb/workflows/create-agent/data/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  144. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/README.md +50 -0
  145. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  146. package/src/modules/bmb/workflows/create-agent/data/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  147. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/README.md +223 -0
  148. package/src/modules/bmb/workflows/create-agent/data/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  149. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/dietary-restrictions.csv +18 -0
  150. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/macro-calculator.csv +16 -0
  151. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/data/recipe-database.csv +28 -0
  152. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01-init.md +177 -0
  153. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-01b-continue.md +150 -0
  154. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-02-profile.md +164 -0
  155. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-03-assessment.md +152 -0
  156. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-04-strategy.md +182 -0
  157. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-05-shopping.md +167 -0
  158. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/steps/step-06-prep-schedule.md +194 -0
  159. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/assessment-section.md +25 -0
  160. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/nutrition-plan.md +68 -0
  161. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/prep-schedule-section.md +29 -0
  162. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/profile-section.md +47 -0
  163. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/shopping-section.md +37 -0
  164. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/templates/strategy-section.md +18 -0
  165. package/src/modules/bmb/workflows/create-agent/data/reference/workflows/meal-prep-nutrition/workflow.md +58 -0
  166. package/src/modules/bmb/workflows/create-agent/data/validation-complete.md +305 -0
  167. package/src/modules/bmb/workflows/create-agent/steps/step-01-brainstorm.md +145 -0
  168. package/src/modules/bmb/workflows/create-agent/steps/step-02-discover.md +210 -0
  169. package/src/modules/bmb/workflows/create-agent/steps/step-03-persona.md +260 -0
  170. package/src/modules/bmb/workflows/create-agent/steps/step-04-commands.md +237 -0
  171. package/src/modules/bmb/workflows/create-agent/steps/step-05-name.md +231 -0
  172. package/src/modules/bmb/workflows/create-agent/steps/step-06-build.md +224 -0
  173. package/src/modules/bmb/workflows/create-agent/steps/step-07-validate.md +234 -0
  174. package/src/modules/bmb/workflows/create-agent/steps/step-08-setup.md +179 -0
  175. package/src/modules/bmb/workflows/create-agent/steps/step-09-customize.md +197 -0
  176. package/src/modules/bmb/workflows/create-agent/steps/step-10-build-tools.md +180 -0
  177. package/src/modules/bmb/workflows/create-agent/steps/step-11-celebrate.md +222 -0
  178. package/src/modules/bmb/workflows/create-agent/templates/agent_commands.md +21 -0
  179. package/src/modules/bmb/workflows/create-agent/templates/agent_persona.md +25 -0
  180. package/src/modules/bmb/workflows/create-agent/templates/agent_purpose_and_type.md +23 -0
  181. package/src/modules/bmb/workflows/create-agent/workflow.md +91 -0
  182. package/src/modules/bmb/workflows/create-module/steps/step-01-init.md +155 -0
  183. package/src/modules/bmb/workflows/create-module/steps/step-01b-continue.md +169 -0
  184. package/src/modules/bmb/workflows/create-module/steps/step-02-concept.md +217 -0
  185. package/src/modules/bmb/workflows/create-module/steps/step-03-components.md +267 -0
  186. package/src/modules/bmb/workflows/create-module/steps/step-04-structure.md +228 -0
  187. package/src/modules/bmb/workflows/create-module/steps/step-05-config.md +233 -0
  188. package/src/modules/bmb/workflows/create-module/steps/step-06-agents.md +296 -0
  189. package/src/modules/bmb/workflows/create-module/steps/step-07-workflows.md +228 -0
  190. package/src/modules/bmb/workflows/create-module/steps/step-08-installer.md +186 -0
  191. package/src/modules/bmb/workflows/create-module/steps/step-09-documentation.md +308 -0
  192. package/src/modules/bmb/workflows/create-module/steps/step-10-roadmap.md +336 -0
  193. package/src/modules/bmb/workflows/create-module/steps/step-11-validate.md +335 -0
  194. package/src/modules/bmb/workflows/create-module/templates/agent.template.md +317 -0
  195. package/src/modules/bmb/workflows/create-module/templates/install-config.template.yaml +53 -0
  196. package/src/modules/bmb/workflows/create-module/templates/installer.template.js +47 -0
  197. package/src/modules/bmb/workflows/create-module/templates/module-plan.template.md +5 -0
  198. package/src/modules/bmb/workflows/create-module/templates/workflow-plan-template.md +23 -0
  199. package/src/modules/bmb/workflows/create-module/validation.md +126 -0
  200. package/src/modules/bmb/workflows/create-module/workflow.md +55 -0
  201. package/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md +157 -0
  202. package/src/modules/bmb/workflows/create-workflow/steps/step-02-gather.md +211 -0
  203. package/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md +250 -0
  204. package/src/modules/bmb/workflows/create-workflow/steps/step-04-plan-review.md +216 -0
  205. package/src/modules/bmb/workflows/create-workflow/steps/step-05-output-format-design.md +289 -0
  206. package/src/modules/bmb/workflows/create-workflow/steps/step-06-design.md +271 -0
  207. package/src/modules/bmb/workflows/create-workflow/steps/step-07-build.md +308 -0
  208. package/src/modules/bmb/workflows/create-workflow/steps/step-08-review.md +284 -0
  209. package/src/modules/bmb/workflows/create-workflow/steps/step-09-complete.md +187 -0
  210. package/src/modules/bmb/workflows/create-workflow/workflow.md +58 -0
  211. package/src/modules/bmb/workflows/edit-agent/steps/step-01-discover-intent.md +134 -0
  212. package/src/modules/bmb/workflows/edit-agent/steps/step-02-analyze-agent.md +202 -0
  213. package/src/modules/bmb/workflows/edit-agent/steps/step-03-propose-changes.md +157 -0
  214. package/src/modules/bmb/workflows/edit-agent/steps/step-04-apply-changes.md +150 -0
  215. package/src/modules/bmb/workflows/edit-agent/steps/step-05-validate.md +150 -0
  216. package/src/modules/bmb/workflows/edit-agent/workflow.md +58 -0
  217. package/src/modules/bmb/workflows/edit-workflow/steps/step-01-analyze.md +217 -0
  218. package/src/modules/bmb/workflows/edit-workflow/steps/step-02-discover.md +253 -0
  219. package/src/modules/bmb/workflows/edit-workflow/steps/step-03-improve.md +217 -0
  220. package/src/modules/bmb/workflows/edit-workflow/steps/step-04-validate.md +193 -0
  221. package/src/modules/bmb/workflows/edit-workflow/steps/step-05-compliance-check.md +245 -0
  222. package/src/modules/bmb/workflows/edit-workflow/templates/completion-summary.md +75 -0
  223. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-goals.md +68 -0
  224. package/src/modules/bmb/workflows/edit-workflow/templates/improvement-log.md +40 -0
  225. package/src/modules/bmb/workflows/edit-workflow/templates/validation-results.md +51 -0
  226. package/src/modules/bmb/workflows/edit-workflow/templates/workflow-analysis.md +56 -0
  227. package/src/modules/bmb/workflows/edit-workflow/workflow.md +58 -0
  228. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-01-validate-goal.md +152 -0
  229. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-02-workflow-validation.md +243 -0
  230. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-03-step-validation.md +274 -0
  231. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-04-file-validation.md +295 -0
  232. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-05-intent-spectrum-validation.md +264 -0
  233. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-06-web-subprocess-validation.md +360 -0
  234. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-07-holistic-analysis.md +258 -0
  235. package/src/modules/bmb/workflows/workflow-compliance-check/steps/step-08-generate-report.md +301 -0
  236. package/src/modules/bmb/workflows/workflow-compliance-check/templates/compliance-report.md +140 -0
  237. package/src/modules/bmb/workflows/workflow-compliance-check/workflow.md +58 -0
  238. package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/checklist.md +0 -1
  239. package/src/modules/bmgd/agents/game-architect.agent.yaml +1 -1
  240. package/src/modules/bmgd/agents/game-designer.agent.yaml +1 -1
  241. package/src/modules/bmgd/agents/game-dev.agent.yaml +1 -1
  242. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +1 -1
  243. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +8 -8
  244. package/src/modules/bmm/_module-installer/install-config.yaml +10 -16
  245. package/src/modules/bmm/agents/analyst.agent.yaml +25 -22
  246. package/src/modules/bmm/agents/architect.agent.yaml +12 -14
  247. package/src/modules/bmm/agents/dev.agent.yaml +20 -16
  248. package/src/modules/bmm/agents/pm.agent.yaml +14 -32
  249. package/src/modules/bmm/agents/quick-flow-solo-dev.agent.yaml +36 -0
  250. package/src/modules/bmm/agents/sm.agent.yaml +13 -31
  251. package/src/modules/bmm/agents/tea.agent.yaml +10 -7
  252. package/src/modules/bmm/agents/tech-writer.agent.yaml +7 -20
  253. package/src/modules/bmm/agents/ux-designer.agent.yaml +12 -10
  254. package/src/modules/bmm/data/README.md +29 -0
  255. package/src/modules/bmm/data/project-context-template.md +40 -0
  256. package/src/modules/bmm/docs/README.md +44 -10
  257. package/src/modules/bmm/docs/agents-guide.md +80 -53
  258. package/src/modules/bmm/docs/bmad-quick-flow.md +528 -0
  259. package/src/modules/bmm/docs/brownfield-guide.md +25 -39
  260. package/src/modules/bmm/docs/enterprise-agentic-development.md +3 -3
  261. package/src/modules/bmm/docs/faq.md +6 -39
  262. package/src/modules/bmm/docs/glossary.md +12 -25
  263. package/src/modules/bmm/docs/images/README.md +37 -0
  264. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +960 -1845
  265. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +4 -2
  266. package/src/modules/bmm/docs/quick-flow-solo-dev.md +337 -0
  267. package/src/modules/bmm/docs/quick-spec-flow.md +5 -5
  268. package/src/modules/bmm/docs/quick-start.md +9 -25
  269. package/src/modules/bmm/docs/scale-adaptive-system.md +5 -5
  270. package/src/modules/bmm/docs/test-architecture.md +90 -24
  271. package/src/modules/bmm/docs/troubleshooting.md +680 -0
  272. package/src/modules/bmm/docs/workflow-document-project-reference.md +1 -1
  273. package/src/modules/bmm/docs/workflows-analysis.md +36 -140
  274. package/src/modules/bmm/docs/workflows-implementation.md +175 -160
  275. package/src/modules/bmm/docs/workflows-planning.md +51 -212
  276. package/src/modules/bmm/docs/workflows-solutioning.md +26 -71
  277. package/src/modules/bmm/tasks/daily-standup.xml +85 -0
  278. package/src/modules/bmm/teams/default-party.csv +15 -14
  279. package/src/modules/bmm/teams/team-fullstack.yaml +0 -1
  280. package/src/modules/bmm/testarch/knowledge/api-request.md +303 -0
  281. package/src/modules/bmm/testarch/knowledge/auth-session.md +356 -0
  282. package/src/modules/bmm/testarch/knowledge/burn-in.md +273 -0
  283. package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +1 -1
  284. package/src/modules/bmm/testarch/knowledge/file-utils.md +260 -0
  285. package/src/modules/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  286. package/src/modules/bmm/testarch/knowledge/intercept-network-call.md +280 -0
  287. package/src/modules/bmm/testarch/knowledge/log.md +294 -0
  288. package/src/modules/bmm/testarch/knowledge/network-error-monitor.md +272 -0
  289. package/src/modules/bmm/testarch/knowledge/network-recorder.md +265 -0
  290. package/src/modules/bmm/testarch/knowledge/overview.md +284 -0
  291. package/src/modules/bmm/testarch/knowledge/recurse.md +296 -0
  292. package/src/modules/bmm/testarch/tea-index.csv +11 -0
  293. package/src/modules/bmm/workflows/1-analysis/product-brief/product-brief.template.md +8 -0
  294. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01-init.md +192 -0
  295. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-01b-continue.md +167 -0
  296. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-02-vision.md +203 -0
  297. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-03-users.md +206 -0
  298. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-04-metrics.md +209 -0
  299. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-05-scope.md +223 -0
  300. package/src/modules/bmm/workflows/1-analysis/product-brief/steps/step-06-complete.md +199 -0
  301. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.md +58 -0
  302. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +136 -0
  303. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +228 -0
  304. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +237 -0
  305. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +205 -0
  306. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +233 -0
  307. package/src/modules/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +442 -0
  308. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +181 -0
  309. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +236 -0
  310. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +199 -0
  311. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +248 -0
  312. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +258 -0
  313. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +176 -0
  314. package/src/modules/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +474 -0
  315. package/src/modules/bmm/workflows/1-analysis/research/research.template.md +15 -0
  316. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +136 -0
  317. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +238 -0
  318. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +247 -0
  319. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +201 -0
  320. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +238 -0
  321. package/src/modules/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +485 -0
  322. package/src/modules/bmm/workflows/1-analysis/research/workflow.md +204 -0
  323. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +159 -0
  324. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +126 -0
  325. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +209 -0
  326. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +215 -0
  327. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +218 -0
  328. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +233 -0
  329. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +251 -0
  330. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +253 -0
  331. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +223 -0
  332. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +223 -0
  333. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +240 -0
  334. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +247 -0
  335. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +236 -0
  336. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +263 -0
  337. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +226 -0
  338. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +6 -138
  339. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +59 -0
  340. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +12 -200
  341. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +243 -0
  342. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +165 -0
  343. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +420 -0
  344. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +289 -0
  345. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +290 -0
  346. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +270 -0
  347. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +261 -0
  348. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +257 -0
  349. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +298 -0
  350. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +269 -0
  351. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +293 -0
  352. package/src/modules/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +223 -0
  353. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.md +61 -0
  354. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-decision-template.md +13 -0
  355. package/src/modules/bmm/workflows/3-solutioning/architecture/data/domain-complexity.csv +11 -0
  356. package/src/modules/bmm/workflows/3-solutioning/architecture/data/project-types.csv +7 -0
  357. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01-init.md +194 -0
  358. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-01b-continue.md +163 -0
  359. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-02-context.md +223 -0
  360. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-03-starter.md +330 -0
  361. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-04-decisions.md +317 -0
  362. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-05-patterns.md +358 -0
  363. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-06-structure.md +378 -0
  364. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-07-validation.md +358 -0
  365. package/src/modules/bmm/workflows/3-solutioning/architecture/steps/step-08-complete.md +351 -0
  366. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.md +49 -0
  367. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +258 -0
  368. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +232 -0
  369. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +271 -0
  370. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +144 -0
  371. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  372. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +58 -0
  373. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-01-document-discovery.md +189 -0
  374. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-02-prd-analysis.md +177 -0
  375. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-03-epic-coverage-validation.md +178 -0
  376. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-04-ux-alignment.md +138 -0
  377. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-05-epic-quality-review.md +251 -0
  378. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/steps/step-06-final-assessment.md +132 -0
  379. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/templates/readiness-report-template.md +4 -0
  380. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.md +54 -0
  381. package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +2 -1
  382. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.xml +224 -0
  383. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +4 -11
  384. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +332 -214
  385. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.xml +354 -0
  386. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +21 -34
  387. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +65 -23
  388. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.xml +406 -0
  389. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +6 -37
  390. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +3 -3
  391. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +19 -21
  392. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +11 -10
  393. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +2 -0
  394. package/src/modules/bmm/workflows/4-implementation/sprint-status/instructions.md +174 -0
  395. package/src/modules/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  396. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/instructions.md +115 -0
  397. package/src/modules/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.yaml +26 -0
  398. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/checklist.md +25 -0
  399. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/instructions.md +202 -0
  400. package/src/modules/bmm/workflows/bmad-quick-flow/quick-dev/workflow.yaml +33 -0
  401. package/src/modules/bmm/workflows/document-project/instructions.md +1 -1
  402. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +2 -2
  403. package/src/modules/bmm/workflows/generate-project-context/project-context-template.md +20 -0
  404. package/src/modules/bmm/workflows/generate-project-context/steps/step-01-discover.md +193 -0
  405. package/src/modules/bmm/workflows/generate-project-context/steps/step-02-generate.md +317 -0
  406. package/src/modules/bmm/workflows/generate-project-context/steps/step-03-complete.md +277 -0
  407. package/src/modules/bmm/workflows/generate-project-context/workflow.md +48 -0
  408. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +1 -1
  409. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +23 -3
  410. package/src/modules/bmm/workflows/testarch/automate/instructions.md +23 -2
  411. package/src/modules/bmm/workflows/testarch/ci/checklist.md +1 -1
  412. package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +36 -3
  413. package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +25 -4
  414. package/src/modules/bmm/workflows/testarch/ci/instructions.md +20 -3
  415. package/src/modules/bmm/workflows/testarch/framework/instructions.md +27 -1
  416. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +8 -2
  417. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +29 -9
  418. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +66 -54
  419. package/src/modules/bmm/workflows/workflow-status/instructions.md +11 -4
  420. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +4 -8
  421. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +4 -8
  422. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +4 -8
  423. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +4 -9
  424. package/src/modules/cis/agents/README.md +1 -1
  425. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +3 -2
  426. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +2 -1
  427. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +2 -1
  428. package/src/modules/cis/agents/innovation-strategist.agent.yaml +2 -1
  429. package/src/modules/cis/agents/presentation-master.agent.yaml +3 -2
  430. package/src/modules/cis/agents/storyteller.agent.yaml +2 -1
  431. package/src/modules/cis/teams/default-party.csv +6 -5
  432. package/src/utility/models/agent-activation-ide.xml +4 -4
  433. package/src/utility/models/agent-activation-web.xml +1 -11
  434. package/src/utility/models/fragments/activation-rules.xml +5 -6
  435. package/src/utility/models/fragments/handler-exec.xml +6 -5
  436. package/src/utility/models/fragments/handler-multi.xml +14 -0
  437. package/test/README.md +1 -1
  438. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +1 -3
  439. package/tools/cli/README.md +4 -3
  440. package/tools/cli/bundlers/web-bundler.js +3 -14
  441. package/tools/cli/commands/build.js +9 -184
  442. package/tools/cli/commands/install.js +42 -2
  443. package/tools/cli/installers/lib/core/config-collector.js +94 -10
  444. package/tools/cli/installers/lib/core/installer.js +389 -55
  445. package/tools/cli/installers/lib/core/manifest-generator.js +91 -30
  446. package/tools/cli/installers/lib/core/post-install-sidecar-replacement.js +79 -0
  447. package/tools/cli/installers/lib/custom/handler.js +266 -0
  448. package/tools/cli/installers/lib/ide/_base-ide.js +10 -0
  449. package/tools/cli/installers/lib/ide/antigravity.js +51 -7
  450. package/tools/cli/installers/lib/ide/auggie.js +72 -7
  451. package/tools/cli/installers/lib/ide/claude-code.js +1 -6
  452. package/tools/cli/installers/lib/ide/cline.js +49 -0
  453. package/tools/cli/installers/lib/ide/codex.js +2 -2
  454. package/tools/cli/installers/lib/ide/crush.js +66 -6
  455. package/tools/cli/installers/lib/ide/cursor.js +29 -13
  456. package/tools/cli/installers/lib/ide/gemini.js +96 -1
  457. package/tools/cli/installers/lib/ide/github-copilot.js +59 -48
  458. package/tools/cli/installers/lib/ide/iflow.js +67 -1
  459. package/tools/cli/installers/lib/ide/kilo.js +74 -0
  460. package/tools/cli/installers/lib/ide/kiro-cli.js +327 -0
  461. package/tools/cli/installers/lib/ide/opencode.js +3 -3
  462. package/tools/cli/installers/lib/ide/qwen.js +54 -0
  463. package/tools/cli/installers/lib/ide/roo.js +145 -138
  464. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  465. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +8 -2
  466. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +34 -19
  467. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +18 -14
  468. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +1 -1
  469. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  470. package/tools/cli/installers/lib/ide/trae.js +47 -0
  471. package/tools/cli/installers/lib/modules/manager.js +486 -53
  472. package/tools/cli/lib/agent/compiler.js +210 -27
  473. package/tools/cli/lib/agent/installer.js +140 -30
  474. package/tools/cli/lib/agent-analyzer.js +46 -18
  475. package/tools/cli/lib/config.js +2 -1
  476. package/tools/cli/lib/ui.js +269 -13
  477. package/tools/cli/lib/yaml-xml-builder.js +123 -39
  478. package/tools/platform-codes.yaml +12 -0
  479. package/tools/schema/agent.js +229 -20
  480. package/tools/validate-svg-changes.sh +356 -0
  481. package/src/core/tasks/adv-elicit-methods.csv +0 -39
  482. package/src/core/workflows/brainstorming/README.md +0 -261
  483. package/src/core/workflows/brainstorming/instructions.md +0 -315
  484. package/src/core/workflows/brainstorming/workflow.yaml +0 -38
  485. package/src/core/workflows/party-mode/instructions.md +0 -183
  486. package/src/core/workflows/party-mode/workflow.yaml +0 -28
  487. package/src/modules/bmb/workflows/audit-workflow/checklist.md +0 -142
  488. package/src/modules/bmb/workflows/audit-workflow/instructions.md +0 -341
  489. package/src/modules/bmb/workflows/audit-workflow/template.md +0 -118
  490. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +0 -25
  491. package/src/modules/bmb/workflows/convert-legacy/README.md +0 -262
  492. package/src/modules/bmb/workflows/convert-legacy/checklist.md +0 -205
  493. package/src/modules/bmb/workflows/convert-legacy/instructions.md +0 -377
  494. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +0 -30
  495. package/src/modules/bmb/workflows/create-agent/instructions.md +0 -519
  496. package/src/modules/bmb/workflows/create-agent/workflow.yaml +0 -55
  497. package/src/modules/bmb/workflows/create-module/README.md +0 -229
  498. package/src/modules/bmb/workflows/create-module/brainstorm-context.md +0 -137
  499. package/src/modules/bmb/workflows/create-module/checklist.md +0 -235
  500. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
  501. package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +0 -231
  502. package/src/modules/bmb/workflows/create-module/instructions.md +0 -577
  503. package/src/modules/bmb/workflows/create-module/module-structure.md +0 -400
  504. package/src/modules/bmb/workflows/create-module/workflow.yaml +0 -52
  505. package/src/modules/bmb/workflows/create-workflow/README.md +0 -277
  506. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  507. package/src/modules/bmb/workflows/create-workflow/checklist.md +0 -94
  508. package/src/modules/bmb/workflows/create-workflow/instructions.md +0 -725
  509. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1327
  510. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  511. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -15
  512. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  513. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -61
  514. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +0 -41
  515. package/src/modules/bmb/workflows/edit-agent/README.md +0 -239
  516. package/src/modules/bmb/workflows/edit-agent/instructions.md +0 -654
  517. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +0 -49
  518. package/src/modules/bmb/workflows/edit-workflow/README.md +0 -119
  519. package/src/modules/bmb/workflows/edit-workflow/checklist.md +0 -70
  520. package/src/modules/bmb/workflows/edit-workflow/instructions.md +0 -342
  521. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  522. package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +0 -22
  523. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +0 -1
  524. package/src/modules/bmm/_module-installer/assets/technical-decisions.md +0 -30
  525. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +0 -112
  526. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +0 -25
  527. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +0 -39
  528. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +0 -425
  529. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +0 -180
  530. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +0 -56
  531. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +0 -115
  532. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +0 -524
  533. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +0 -181
  534. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +0 -61
  535. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +0 -144
  536. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +0 -249
  537. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +0 -299
  538. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +0 -114
  539. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +0 -438
  540. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +0 -675
  541. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +0 -134
  542. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +0 -534
  543. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +0 -94
  544. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +0 -347
  545. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +0 -245
  546. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +0 -62
  547. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +0 -310
  548. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +0 -1308
  549. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +0 -93
  550. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +0 -346
  551. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +0 -703
  552. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +0 -78
  553. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +0 -217
  554. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +0 -74
  555. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +0 -436
  556. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +0 -980
  557. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +0 -181
  558. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +0 -90
  559. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +0 -60
  560. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -321
  561. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +0 -103
  562. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +0 -240
  563. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +0 -222
  564. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +0 -768
  565. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +0 -13
  566. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +0 -100
  567. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/epics-template.md +0 -80
  568. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/instructions.md +0 -616
  569. package/src/modules/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.yaml +0 -63
  570. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/checklist.md +0 -169
  571. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +0 -332
  572. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/template.md +0 -146
  573. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +0 -64
  574. package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +0 -12
  575. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +0 -398
  576. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +0 -256
  577. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +0 -267
  578. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +0 -17
  579. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +0 -164
  580. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +0 -76
  581. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +0 -58
  582. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +0 -16
  583. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +0 -34
  584. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +0 -209
  585. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +0 -63
  586. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +0 -111
  587. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +0 -28
  588. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +0 -117
  589. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +0 -25
  590. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +0 -58
  591. package/src/modules/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +0 -47
  592. package/tools/cli/commands/agent-install.js +0 -409
  593. /package/src/modules/bmb/docs/{agent-compilation.md → agents/agent-compilation.md} +0 -0
  594. /package/src/modules/bmb/docs/{index.md → agents/index.md} +0 -0
  595. /package/src/modules/bmb/docs/{understanding-agent-types.md → agents/understanding-agent-types.md} +0 -0
  596. /package/src/modules/bmb/reference/{readme.md → README.md} +0 -0
  597. /package/src/modules/bmb/workflows/create-agent/{agent-validation-checklist.md → data/agent-validation-checklist.md} +0 -0
  598. /package/src/modules/bmb/workflows/create-agent/{brainstorm-context.md → data/brainstorm-context.md} +0 -0
  599. /package/src/modules/bmb/workflows/create-agent/{communication-presets.csv → data/communication-presets.csv} +0 -0
  600. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/README.md +0 -0
  601. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/instructions.md +0 -0
  602. /package/src/modules/bmb/{workflows → workflows-legacy}/edit-module/workflow.yaml +0 -0
  603. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/README.md +0 -0
  604. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/checklist.md +0 -0
  605. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/instructions.md +0 -0
  606. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/template.md +0 -0
  607. /package/src/modules/bmb/{workflows → workflows-legacy}/module-brief/workflow.yaml +0 -0
  608. /package/src/modules/bmm/{workflows/techdoc → data}/documentation-standards.md +0 -0
@@ -8,12 +8,12 @@
8
8
  </init>
9
9
  <commands critical="MANDATORY">
10
10
  <input>Number → cmd[n] | Text → fuzzy match *commands</input>
11
- <extract>exec, tmpl, data, action, run-workflow, validate-workflow</extract>
11
+ <extract>exec, tmpl, data, action, validate-workflow</extract>
12
12
  <handlers>
13
- <handler type="run-workflow">
14
- When command has: run-workflow="path/to/x.yaml" You MUST:
13
+ <handler type="progressive-workflow">
14
+ When command has: run-progressive-workflow="path/to/x.yaml" You MUST:
15
15
  1. CRITICAL: Always LOAD {project-root}/{bmad_folder}/core/tasks/workflow.xml
16
- 2. READ its entire contents - the is the CORE OS for EXECUTING modules
16
+ 2. READ its entire contents - the is the CORE OS for EXECUTING workflows
17
17
  3. Pass the yaml path as 'workflow-config' parameter to those instructions
18
18
  4. Follow workflow.xml instructions EXACTLY as written
19
19
  5. Save outputs after EACH section (never batch)
@@ -21,18 +21,8 @@
21
21
  </bundled-files>
22
22
  <commands critical="MANDATORY">
23
23
  <input>Number → cmd[n] | Text → fuzzy match *commands</input>
24
- <extract>exec, tmpl, data, action, run-workflow, validate-workflow</extract>
24
+ <extract>exec, tmpl, data, action, validate-workflow</extract>
25
25
  <handlers>
26
- <handler type="run-workflow">
27
- When command has: run-workflow="path/to/x.yaml" You MUST:
28
- 1. CRITICAL: Locate &lt;file id="{bmad_folder}/core/tasks/workflow.xml"&gt; in this XML bundle
29
- 2. Extract and READ its CDATA content - this is the CORE OS for EXECUTING workflows
30
- 3. Locate &lt;file id="path/to/x.yaml"&gt; for the workflow config
31
- 4. Pass the yaml content as 'workflow-config' parameter to workflow.xml instructions
32
- 5. Follow workflow.xml instructions EXACTLY as written
33
- 6. When workflow references other files, locate them by id in &lt;file&gt; elements
34
- 7. Save outputs after EACH section (never batch)
35
- </handler>
36
26
  <handler type="action">
37
27
  When command has: action="#id" → Find prompt with id="id" in current agent XML, execute its content
38
28
  When command has: action="text" → Execute the text directly as a critical action prompt
@@ -1,8 +1,7 @@
1
1
  <rules>
2
- - ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style
3
- - Stay in character until exit selected
4
- - Menu triggers use asterisk (*) - NOT markdown, display exactly as shown
5
- - Number all lists, use letters for sub-options
6
- - Load files ONLY when executing menu items or a workflow or command requires it. EXCEPTION: Config file MUST be loaded at startup step 2
7
- - CRITICAL: Written File Output in workflows will be +2sd your communication style and use professional {communication_language}.
2
+ <r>ALWAYS communicate in {communication_language} UNLESS contradicted by communication_style.</r>
3
+ <!-- TTS_INJECTION:agent-tts -->
4
+ <r> Stay in character until exit selected</r>
5
+ <r> Display Menu items as the item dictates and in the order given.</r>
6
+ <r> Load files ONLY when executing a user chosen workflow or a command requires it, EXCEPTION: agent activation step 2 config.yaml</r>
8
7
  </rules>
@@ -1,5 +1,6 @@
1
- <handler type="exec">
2
- When menu item has: exec="path/to/file.md"
3
- Actually LOAD and EXECUTE the file at that path - do not improvise
4
- Read the complete file and follow all instructions within it
5
- </handler>
1
+ <handler type="exec">
2
+ When menu item or handler has: exec="path/to/file.md":
3
+ 1. Actually LOAD and read the entire file and EXECUTE the file at that path - do not improvise
4
+ 2. Read the complete file and follow all instructions within it
5
+ 3. If there is data="some/path/data-foo.md" with the same item, pass that data path to the executed file as context.
6
+ </handler>
@@ -0,0 +1,14 @@
1
+ <handler type="multi">
2
+ When menu item has: type="multi" with nested handlers
3
+ 1. Display the multi item text as a single menu option
4
+ 2. Parse all nested handlers within the multi item
5
+ 3. For each nested handler:
6
+ - Use the 'match' attribute for fuzzy matching user input (or Exact Match of character code in brackets [])
7
+ - Execute based on handler attributes (exec, workflow, action)
8
+ 4. When user input matches a handler's 'match' pattern:
9
+ - For exec="path/to/file.md": follow the `handler type="exec"` instructions
10
+ - For workflow="path/to/workflow.yaml": follow the `handler type="workflow"` instructions
11
+ - For action="...": Perform the specified action directly
12
+ 5. Support both exact matches and fuzzy matching based on the match attribute
13
+ 6. If no handler matches, prompt user to choose from available options
14
+ </handler>
package/test/README.md CHANGED
@@ -116,7 +116,7 @@ Tests required menu structure:
116
116
 
117
117
  Tests menu item command targets:
118
118
 
119
- - ✅ Valid: All 7 command types (`workflow`, `validate-workflow`, `exec`, `action`, `tmpl`, `data`, `run-workflow`)
119
+ - ✅ Valid: All 6 command types (`workflow`, `validate-workflow`, `exec`, `action`, `tmpl`, `data`)
120
120
  - ✅ Valid: Multiple command targets in one menu item
121
121
  - ❌ Invalid: No command target fields
122
122
  - ❌ Invalid: Empty string command targets
@@ -34,6 +34,4 @@ agent:
34
34
  - trigger: data-test
35
35
  description: Test data command
36
36
  data: path/to/data
37
- - trigger: run-workflow-test
38
- description: Test run-workflow command
39
- run-workflow: path/to/workflow
37
+
@@ -162,6 +162,7 @@ The installer supports **15 IDE environments** through a base-derived architectu
162
162
  | `gemini` | Google Gemini | `.gemini/` |
163
163
  | `qwen` | Qwen | `.qwen/` |
164
164
  | `roo` | Roo | `.roo/` |
165
+ | `rovo-dev` | Rovo | `.rovodev/` |
165
166
  | `trae` | Trae | `.trae/` |
166
167
  | `iflow` | iFlow | `.iflow/` |
167
168
  | `kilo` | Kilo | `.kilo/` |
@@ -603,6 +604,6 @@ node tools/cli/regenerate-manifests.js
603
604
 
604
605
  ## Support
605
606
 
606
- - **Issues**: https://github.com/bmad-code-org/BMAD-METHOD/issues
607
- - **Discord**: https://discord.gg/gk8jAdXWmj (#general-dev, #bugs-issues)
608
- - **YouTube**: https://www.youtube.com/@BMadCode
607
+ - **Issues**: <https://github.com/bmad-code-org/BMAD-METHOD/issues>
608
+ - **Discord**: <https://discord.gg/gk8jAdXWmj> (#general-dev, #bugs-issues)
609
+ - **YouTube**: <https://www.youtube.com/@BMadCode>
@@ -748,10 +748,9 @@ class WebBundler {
748
748
  }
749
749
  }
750
750
 
751
- // Extract workflow references - both 'workflow' and 'run-workflow' attributes
751
+ // Extract workflow references from agent files
752
752
  const workflowPatterns = [
753
753
  /workflow="([^"]+)"/g, // Menu items with workflow attribute
754
- /run-workflow="([^"]+)"/g, // Commands with run-workflow attribute
755
754
  /validate-workflow="([^"]+)"/g, // Validation workflow references
756
755
  ];
757
756
 
@@ -789,16 +788,6 @@ class WebBundler {
789
788
  // Match: <item cmd="..." workflow="workflowPath">...</item>
790
789
  const itemWorkflowPattern = new RegExp(`\\s*<item\\s+[^>]*workflow="[^"]*${escapedPath}"[^>]*>.*?</item>\\s*`, 'gs');
791
790
  modifiedXml = modifiedXml.replace(itemWorkflowPattern, '');
792
-
793
- // Pattern 2: Remove <item> tags with run-workflow attribute
794
- // Match: <item cmd="..." run-workflow="workflowPath">...</item>
795
- const itemRunWorkflowPattern = new RegExp(`\\s*<item\\s+[^>]*run-workflow="[^"]*${escapedPath}"[^>]*>.*?</item>\\s*`, 'gs');
796
- modifiedXml = modifiedXml.replace(itemRunWorkflowPattern, '');
797
-
798
- // Pattern 3: Remove <c> tags with run-workflow attribute (legacy)
799
- // Match: <c cmd="..." run-workflow="workflowPath">...</c>
800
- const cPattern = new RegExp(`\\s*<c\\s+[^>]*run-workflow="[^"]*${escapedPath}"[^>]*>.*?</c>\\s*`, 'gs');
801
- modifiedXml = modifiedXml.replace(cPattern, '');
802
791
  }
803
792
 
804
793
  return modifiedXml;
@@ -1421,11 +1410,11 @@ class WebBundler {
1421
1410
  const menuItems = [];
1422
1411
 
1423
1412
  if (!hasHelp) {
1424
- menuItems.push(`${indent}<item cmd="*help">Show numbered menu</item>`);
1413
+ menuItems.push(`${indent}<item cmd="*menu">[M] Redisplay Menu Options</item>`);
1425
1414
  }
1426
1415
 
1427
1416
  if (!hasExit) {
1428
- menuItems.push(`${indent}<item cmd="*exit">Exit with confirmation</item>`);
1417
+ menuItems.push(`${indent}<item cmd="*dismiss">[D] Dismiss Agent</item>`);
1429
1418
  }
1430
1419
 
1431
1420
  if (menuItems.length === 0) {
@@ -28,9 +28,8 @@ module.exports = {
28
28
  command: 'build [agent]',
29
29
  description: 'Build agent XML files from YAML sources',
30
30
  options: [
31
- ['-a, --all', 'Rebuild all agents'],
31
+ ['-a, --all', 'Build all agents'],
32
32
  ['-d, --directory <path>', 'Project directory', '.'],
33
- ['--force', 'Force rebuild even if up to date'],
34
33
  ],
35
34
  action: async (agentName, options) => {
36
35
  try {
@@ -54,13 +53,15 @@ module.exports = {
54
53
 
55
54
  if (options.all) {
56
55
  // Build all agents
57
- await buildAllAgents(projectDir, options.force);
56
+ await buildAllAgents(projectDir);
58
57
  } else if (agentName) {
59
58
  // Build specific agent
60
- await buildAgent(projectDir, agentName, options.force);
59
+ await buildAgent(projectDir, agentName);
61
60
  } else {
62
- // No agent specified, check what needs rebuilding
63
- await checkBuildStatus(projectDir);
61
+ // No agent specified, list available agents
62
+ console.log(chalk.yellow('No agent specified. Use --all to build all agents or specify an agent name.'));
63
+ console.log(chalk.dim('\nAvailable agents:'));
64
+ await listAvailableAgents(projectDir);
64
65
  }
65
66
 
66
67
  process.exit(0);
@@ -77,7 +78,7 @@ module.exports = {
77
78
  /**
78
79
  * Build a specific agent
79
80
  */
80
- async function buildAgent(projectDir, agentName, force = false) {
81
+ async function buildAgent(projectDir, agentName) {
81
82
  // First check standalone agents in bmad/agents/{agentname}/
82
83
  const standaloneAgentDir = path.join(projectDir, 'bmad', 'agents', agentName);
83
84
  let standaloneYamlPath = path.join(standaloneAgentDir, `${agentName}.agent.yaml`);
@@ -95,15 +96,6 @@ async function buildAgent(projectDir, agentName, force = false) {
95
96
  const yamlFileName = path.basename(standaloneYamlPath, '.agent.yaml');
96
97
  const outputPath = path.join(standaloneAgentDir, `${yamlFileName}.md`);
97
98
 
98
- // Check if rebuild needed
99
- if (!force && (await fs.pathExists(outputPath))) {
100
- const needsRebuild = await checkIfNeedsRebuild(standaloneYamlPath, outputPath, projectDir, agentName);
101
- if (!needsRebuild) {
102
- console.log(chalk.dim(` ${agentName}: already up to date`));
103
- return;
104
- }
105
- }
106
-
107
99
  // Build the standalone agent
108
100
  console.log(chalk.cyan(` Building standalone agent ${agentName}...`));
109
101
 
@@ -130,15 +122,6 @@ async function buildAgent(projectDir, agentName, force = false) {
130
122
  if (await fs.pathExists(agentYamlPath)) {
131
123
  found = true;
132
124
 
133
- // Check if rebuild needed
134
- if (!force && (await fs.pathExists(outputPath))) {
135
- const needsRebuild = await checkIfNeedsRebuild(agentYamlPath, outputPath, projectDir, agentName);
136
- if (!needsRebuild) {
137
- console.log(chalk.dim(` ${agentName}: already up to date`));
138
- return;
139
- }
140
- }
141
-
142
125
  // Build the agent
143
126
  console.log(chalk.cyan(` Building ${agentName}...`));
144
127
 
@@ -162,9 +145,8 @@ async function buildAgent(projectDir, agentName, force = false) {
162
145
  /**
163
146
  * Build all agents
164
147
  */
165
- async function buildAllAgents(projectDir, force = false) {
148
+ async function buildAllAgents(projectDir) {
166
149
  let builtCount = 0;
167
- let skippedCount = 0;
168
150
 
169
151
  // First, build standalone agents in bmad/agents/
170
152
  const standaloneAgentsDir = path.join(projectDir, 'bmad', 'agents');
@@ -193,16 +175,6 @@ async function buildAllAgents(projectDir, force = false) {
193
175
  const agentName = path.basename(agentFile, '.agent.yaml');
194
176
  const outputPath = path.join(agentDir, `${agentName}.md`);
195
177
 
196
- // Check if rebuild needed
197
- if (!force && (await fs.pathExists(outputPath))) {
198
- const needsRebuild = await checkIfNeedsRebuild(agentYamlPath, outputPath, projectDir, agentName);
199
- if (!needsRebuild) {
200
- console.log(chalk.dim(` ${agentName}: up to date`));
201
- skippedCount++;
202
- continue;
203
- }
204
- }
205
-
206
178
  console.log(chalk.cyan(` Building standalone agent ${agentName}...`));
207
179
 
208
180
  const customizePath = path.join(projectDir, 'bmad', '_cfg', 'agents', `${agentName}.customize.yaml`);
@@ -239,16 +211,6 @@ async function buildAllAgents(projectDir, force = false) {
239
211
  const agentYamlPath = path.join(agentsDir, file);
240
212
  const outputPath = path.join(agentsDir, `${agentName}.md`);
241
213
 
242
- // Check if rebuild needed
243
- if (!force && (await fs.pathExists(outputPath))) {
244
- const needsRebuild = await checkIfNeedsRebuild(agentYamlPath, outputPath, projectDir, agentName);
245
- if (!needsRebuild) {
246
- console.log(chalk.dim(` ${agentName}: up to date`));
247
- skippedCount++;
248
- continue;
249
- }
250
- }
251
-
252
214
  console.log(chalk.cyan(` Building ${agentName}...`));
253
215
 
254
216
  const customizePath = path.join(projectDir, '.claude', '_cfg', 'agents', `${agentName}.customize.yaml`);
@@ -263,143 +225,6 @@ async function buildAllAgents(projectDir, force = false) {
263
225
  }
264
226
 
265
227
  console.log(chalk.green(`\n✓ Built ${builtCount} agent(s)`));
266
- if (skippedCount > 0) {
267
- console.log(chalk.dim(` Skipped ${skippedCount} (already up to date)`));
268
- }
269
- }
270
-
271
- /**
272
- * Check what needs rebuilding
273
- */
274
- async function checkBuildStatus(projectDir) {
275
- const needsRebuild = [];
276
- const upToDate = [];
277
-
278
- // Check standalone agents in bmad/agents/
279
- const standaloneAgentsDir = path.join(projectDir, 'bmad', 'agents');
280
- if (await fs.pathExists(standaloneAgentsDir)) {
281
- const agentDirs = await fs.readdir(standaloneAgentsDir);
282
-
283
- for (const agentDirName of agentDirs) {
284
- const agentDir = path.join(standaloneAgentsDir, agentDirName);
285
-
286
- // Skip if not a directory
287
- const stat = await fs.stat(agentDir);
288
- if (!stat.isDirectory()) {
289
- continue;
290
- }
291
-
292
- // Find any .agent.yaml file in the directory
293
- const files = await fs.readdir(agentDir);
294
- const agentFile = files.find((f) => f.endsWith('.agent.yaml'));
295
-
296
- if (!agentFile) {
297
- continue;
298
- }
299
-
300
- const agentYamlPath = path.join(agentDir, agentFile);
301
- const agentName = path.basename(agentFile, '.agent.yaml');
302
- const outputPath = path.join(agentDir, `${agentName}.md`);
303
-
304
- if (!(await fs.pathExists(outputPath))) {
305
- needsRebuild.push(`${agentName} (standalone)`);
306
- } else if (await checkIfNeedsRebuild(agentYamlPath, outputPath, projectDir, agentName)) {
307
- needsRebuild.push(`${agentName} (standalone)`);
308
- } else {
309
- upToDate.push(`${agentName} (standalone)`);
310
- }
311
- }
312
- }
313
-
314
- // Check module agents in .claude/commands/bmad/
315
- const bmadCommandsDir = path.join(projectDir, '.claude', 'commands', 'bmad');
316
- if (await fs.pathExists(bmadCommandsDir)) {
317
- const modules = await fs.readdir(bmadCommandsDir);
318
-
319
- for (const module of modules) {
320
- const agentsDir = path.join(bmadCommandsDir, module, 'agents');
321
-
322
- if (!(await fs.pathExists(agentsDir))) {
323
- continue;
324
- }
325
-
326
- const files = await fs.readdir(agentsDir);
327
-
328
- for (const file of files) {
329
- if (!file.endsWith('.agent.yaml')) {
330
- continue;
331
- }
332
-
333
- const agentName = file.replace('.agent.yaml', '');
334
- const agentYamlPath = path.join(agentsDir, file);
335
- const outputPath = path.join(agentsDir, `${agentName}.md`);
336
-
337
- if (!(await fs.pathExists(outputPath))) {
338
- needsRebuild.push(`${agentName} (${module})`);
339
- } else if (await checkIfNeedsRebuild(agentYamlPath, outputPath, projectDir, agentName)) {
340
- needsRebuild.push(`${agentName} (${module})`);
341
- } else {
342
- upToDate.push(`${agentName} (${module})`);
343
- }
344
- }
345
- }
346
- }
347
-
348
- if (needsRebuild.length === 0) {
349
- console.log(chalk.green('✓ All agents are up to date'));
350
- } else {
351
- console.log(chalk.yellow(`${needsRebuild.length} agent(s) need rebuilding:`));
352
- for (const agent of needsRebuild) {
353
- console.log(chalk.dim(` - ${agent}`));
354
- }
355
- console.log(chalk.dim('\nRun "bmad build --all" to rebuild all agents'));
356
- }
357
-
358
- if (upToDate.length > 0) {
359
- console.log(chalk.dim(`\n${upToDate.length} agent(s) up to date`));
360
- }
361
- }
362
-
363
- /**
364
- * Check if an agent needs rebuilding by comparing hashes
365
- */
366
- async function checkIfNeedsRebuild(yamlPath, outputPath, projectDir, agentName) {
367
- // Read the output file to check its metadata
368
- const outputContent = await fs.readFile(outputPath, 'utf8');
369
-
370
- // Extract hash from BUILD-META comment
371
- const metaMatch = outputContent.match(/source:.*\(hash: ([a-f0-9]+)\)/);
372
- if (!metaMatch) {
373
- // No metadata, needs rebuild
374
- return true;
375
- }
376
-
377
- const storedHash = metaMatch[1];
378
-
379
- // Calculate current hash
380
- const currentHash = await builder.calculateFileHash(yamlPath);
381
-
382
- if (storedHash !== currentHash) {
383
- return true;
384
- }
385
-
386
- // Check customize file if it exists
387
- const customizePath = path.join(projectDir, '.claude', '_cfg', 'agents', `${agentName}.customize.yaml`);
388
- if (await fs.pathExists(customizePath)) {
389
- const customizeMetaMatch = outputContent.match(/customize:.*\(hash: ([a-f0-9]+)\)/);
390
- if (!customizeMetaMatch) {
391
- return true;
392
- }
393
-
394
- const storedCustomizeHash = customizeMetaMatch[1];
395
- const currentCustomizeHash = await builder.calculateFileHash(customizePath);
396
-
397
- if (storedCustomizeHash !== currentCustomizeHash) {
398
- return true;
399
- }
400
- }
401
-
402
- return false;
403
228
  }
404
229
 
405
230
  /**
@@ -10,7 +10,7 @@ module.exports = {
10
10
  command: 'install',
11
11
  description: 'Install BMAD Core agents and tools',
12
12
  options: [],
13
- action: async () => {
13
+ action: async (options) => {
14
14
  try {
15
15
  const config = await ui.promptInstall();
16
16
 
@@ -58,7 +58,47 @@ module.exports = {
58
58
  console.log(chalk.green('\n✨ Installation complete!'));
59
59
  console.log(chalk.cyan('BMAD Core and Selected Modules have been installed to:'), chalk.bold(result.path));
60
60
  console.log(chalk.yellow('\nThank you for helping test the early release version of the new BMad Core and BMad Method!'));
61
- console.log(chalk.cyan('Stable Beta coming soon - please read the full readme.md and linked documentation to get started!'));
61
+ console.log(chalk.cyan('Stable Beta coming soon - please read the full README.md and linked documentation to get started!'));
62
+
63
+ // Run AgentVibes installer if needed
64
+ if (result.needsAgentVibes) {
65
+ console.log(chalk.magenta('\n🎙️ AgentVibes TTS Setup'));
66
+ console.log(chalk.cyan('AgentVibes provides voice synthesis for BMAD agents with:'));
67
+ console.log(chalk.dim(' • ElevenLabs AI (150+ premium voices)'));
68
+ console.log(chalk.dim(' • Piper TTS (50+ free voices)\n'));
69
+
70
+ const readline = require('node:readline');
71
+ const rl = readline.createInterface({
72
+ input: process.stdin,
73
+ output: process.stdout,
74
+ });
75
+
76
+ await new Promise((resolve) => {
77
+ rl.question(chalk.green('Press Enter to start AgentVibes installer...'), () => {
78
+ rl.close();
79
+ resolve();
80
+ });
81
+ });
82
+
83
+ console.log('');
84
+
85
+ // Run AgentVibes installer
86
+ const { execSync } = require('node:child_process');
87
+ try {
88
+ execSync('npx agentvibes@latest install', {
89
+ cwd: result.projectDir,
90
+ stdio: 'inherit',
91
+ shell: true,
92
+ });
93
+ console.log(chalk.green('\n✓ AgentVibes installation complete'));
94
+ } catch {
95
+ console.log(chalk.yellow('\n⚠ AgentVibes installation was interrupted or failed'));
96
+ console.log(chalk.cyan('You can run it manually later with:'));
97
+ console.log(chalk.green(` cd ${result.projectDir}`));
98
+ console.log(chalk.green(' npx agentvibes install\n'));
99
+ }
100
+ }
101
+
62
102
  process.exit(0);
63
103
  }
64
104
  } catch (error) {
@@ -182,15 +182,43 @@ class ConfigCollector {
182
182
  }
183
183
 
184
184
  // Load module's install config schema
185
- const installerConfigPath = path.join(getModulePath(moduleName), '_module-installer', 'install-config.yaml');
186
- const legacyConfigPath = path.join(getModulePath(moduleName), 'config.yaml');
185
+ // First, try the standard src/modules location
186
+ let installerConfigPath = path.join(getModulePath(moduleName), '_module-installer', 'install-config.yaml');
187
+
188
+ // If not found in src/modules, we need to find it by searching the project
189
+ if (!(await fs.pathExists(installerConfigPath))) {
190
+ // Use the module manager to find the module source
191
+ const { ModuleManager } = require('../modules/manager');
192
+ const moduleManager = new ModuleManager();
193
+ const moduleSourcePath = await moduleManager.findModuleSource(moduleName);
194
+
195
+ if (moduleSourcePath) {
196
+ installerConfigPath = path.join(moduleSourcePath, '_module-installer', 'install-config.yaml');
197
+ }
198
+ }
187
199
 
188
200
  let configPath = null;
201
+ let isCustomModule = false;
202
+
189
203
  if (await fs.pathExists(installerConfigPath)) {
190
204
  configPath = installerConfigPath;
191
- } else if (await fs.pathExists(legacyConfigPath)) {
192
- configPath = legacyConfigPath;
193
205
  } else {
206
+ // Check if this is a custom module with custom.yaml
207
+ const { ModuleManager } = require('../modules/manager');
208
+ const moduleManager = new ModuleManager();
209
+ const moduleSourcePath = await moduleManager.findModuleSource(moduleName);
210
+
211
+ if (moduleSourcePath) {
212
+ const rootCustomConfigPath = path.join(moduleSourcePath, 'custom.yaml');
213
+ const moduleInstallerCustomPath = path.join(moduleSourcePath, '_module-installer', 'custom.yaml');
214
+
215
+ if ((await fs.pathExists(rootCustomConfigPath)) || (await fs.pathExists(moduleInstallerCustomPath))) {
216
+ isCustomModule = true;
217
+ // For custom modules, we don't have an install-config schema, so just use existing values
218
+ // The custom.yaml values will be loaded and merged during installation
219
+ }
220
+ }
221
+
194
222
  // No config schema for this module - use existing values
195
223
  if (this.existingConfig && this.existingConfig[moduleName]) {
196
224
  if (!this.collectedConfig[moduleName]) {
@@ -226,9 +254,31 @@ class ConfigCollector {
226
254
  }
227
255
  this.collectedConfig[moduleName] = { ...this.existingConfig[moduleName] };
228
256
 
257
+ // Special handling for user_name: ensure it has a value
258
+ if (
259
+ moduleName === 'core' &&
260
+ (!this.collectedConfig[moduleName].user_name || this.collectedConfig[moduleName].user_name === '[USER_NAME]')
261
+ ) {
262
+ this.collectedConfig[moduleName].user_name = this.getDefaultUsername();
263
+ }
264
+
229
265
  // Also populate allAnswers for cross-referencing
230
266
  for (const [key, value] of Object.entries(this.existingConfig[moduleName])) {
231
- this.allAnswers[`${moduleName}_${key}`] = value;
267
+ // Ensure user_name is properly set in allAnswers too
268
+ let finalValue = value;
269
+ if (moduleName === 'core' && key === 'user_name' && (!value || value === '[USER_NAME]')) {
270
+ finalValue = this.getDefaultUsername();
271
+ }
272
+ this.allAnswers[`${moduleName}_${key}`] = finalValue;
273
+ }
274
+ } else if (moduleName === 'core') {
275
+ // No existing core config - ensure we at least have user_name
276
+ if (!this.collectedConfig[moduleName]) {
277
+ this.collectedConfig[moduleName] = {};
278
+ }
279
+ if (!this.collectedConfig[moduleName].user_name) {
280
+ this.collectedConfig[moduleName].user_name = this.getDefaultUsername();
281
+ this.allAnswers[`${moduleName}_user_name`] = this.getDefaultUsername();
232
282
  }
233
283
  }
234
284
  // Show "no config" message for modules with no new questions
@@ -359,6 +409,25 @@ class ConfigCollector {
359
409
  return result;
360
410
  }
361
411
 
412
+ /**
413
+ * Get the default username from the system
414
+ * @returns {string} Capitalized username\
415
+ */
416
+ getDefaultUsername() {
417
+ let result = 'BMad';
418
+ try {
419
+ const os = require('node:os');
420
+ const userInfo = os.userInfo();
421
+ if (userInfo && userInfo.username) {
422
+ const username = userInfo.username;
423
+ result = username.charAt(0).toUpperCase() + username.slice(1);
424
+ }
425
+ } catch {
426
+ // Do nothing, just return 'BMad'
427
+ }
428
+ return result;
429
+ }
430
+
362
431
  /**
363
432
  * Collect configuration for a single module
364
433
  * @param {string} moduleName - Module name
@@ -377,15 +446,25 @@ class ConfigCollector {
377
446
  if (!this.allAnswers) {
378
447
  this.allAnswers = {};
379
448
  }
380
- // Load module's config.yaml (check new location first, then fallback)
381
- const installerConfigPath = path.join(getModulePath(moduleName), '_module-installer', 'install-config.yaml');
382
- const legacyConfigPath = path.join(getModulePath(moduleName), 'config.yaml');
449
+ // Load module's config
450
+ // First, try the standard src/modules location
451
+ let installerConfigPath = path.join(getModulePath(moduleName), '_module-installer', 'install-config.yaml');
452
+
453
+ // If not found in src/modules, we need to find it by searching the project
454
+ if (!(await fs.pathExists(installerConfigPath))) {
455
+ // Use the module manager to find the module source
456
+ const { ModuleManager } = require('../modules/manager');
457
+ const moduleManager = new ModuleManager();
458
+ const moduleSourcePath = await moduleManager.findModuleSource(moduleName);
459
+
460
+ if (moduleSourcePath) {
461
+ installerConfigPath = path.join(moduleSourcePath, '_module-installer', 'install-config.yaml');
462
+ }
463
+ }
383
464
 
384
465
  let configPath = null;
385
466
  if (await fs.pathExists(installerConfigPath)) {
386
467
  configPath = installerConfigPath;
387
- } else if (await fs.pathExists(legacyConfigPath)) {
388
- configPath = legacyConfigPath;
389
468
  } else {
390
469
  // No config for this module
391
470
  return;
@@ -604,6 +683,11 @@ class ConfigCollector {
604
683
  }
605
684
  }
606
685
 
686
+ // Special handling for user_name: default to system user
687
+ if (moduleName === 'core' && key === 'user_name' && !existingValue) {
688
+ item.default = this.getDefaultUsername();
689
+ }
690
+
607
691
  // Determine question type and default value
608
692
  let questionType = 'input';
609
693
  let defaultValue = item.default;