bmad-method 5.1.3 → 6.0.0-alpha.1

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 (948) hide show
  1. package/.claude/commands/bmad/bmb/agents/bmad-builder.md +70 -0
  2. package/.claude/commands/bmad/bmb/workflows/README.md +67 -0
  3. package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +15 -0
  4. package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +15 -0
  5. package/.claude/commands/bmad/bmb/workflows/create-agent.md +15 -0
  6. package/.claude/commands/bmad/bmb/workflows/create-module.md +15 -0
  7. package/.claude/commands/bmad/bmb/workflows/create-workflow.md +15 -0
  8. package/.claude/commands/bmad/bmb/workflows/edit-agent.md +15 -0
  9. package/.claude/commands/bmad/bmb/workflows/edit-module.md +15 -0
  10. package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +15 -0
  11. package/.claude/commands/bmad/bmb/workflows/module-brief.md +15 -0
  12. package/.claude/commands/bmad/bmb/workflows/redoc.md +15 -0
  13. package/.claude/commands/bmad/bmd/agents/cli-chief.md +108 -0
  14. package/.claude/commands/bmad/bmd/agents/doc-keeper.md +115 -0
  15. package/.claude/commands/bmad/bmd/agents/release-chief.md +109 -0
  16. package/.claude/commands/bmad/core/agents/bmad-master.md +71 -0
  17. package/.claude/commands/bmad/core/tasks/index-docs.md +9 -0
  18. package/.claude/commands/bmad/core/tools/shard-doc.md +9 -0
  19. package/.claude/commands/bmad/core/workflows/README.md +27 -0
  20. package/.claude/commands/bmad/core/workflows/brainstorming.md +15 -0
  21. package/.claude/commands/bmad/core/workflows/party-mode.md +15 -0
  22. package/.claude/hooks/bmad-tts-injector.sh +415 -0
  23. package/.claude/hooks/bmad-voice-manager.sh +511 -0
  24. package/.claude/hooks/check-output-style.sh +112 -0
  25. package/.claude/hooks/download-extra-voices.sh +244 -0
  26. package/.claude/hooks/github-star-reminder.sh +154 -0
  27. package/.claude/hooks/language-manager.sh +392 -0
  28. package/.claude/hooks/learn-manager.sh +475 -0
  29. package/.claude/hooks/personality-manager.sh +438 -0
  30. package/.claude/hooks/piper-download-voices.sh +165 -0
  31. package/.claude/hooks/piper-installer.sh +178 -0
  32. package/.claude/hooks/piper-multispeaker-registry.sh +165 -0
  33. package/.claude/hooks/piper-voice-manager.sh +293 -0
  34. package/.claude/hooks/play-tts-elevenlabs.sh +404 -0
  35. package/.claude/hooks/play-tts-piper.sh +338 -0
  36. package/.claude/hooks/play-tts.sh +100 -0
  37. package/.claude/hooks/provider-commands.sh +540 -0
  38. package/.claude/hooks/provider-manager.sh +298 -0
  39. package/.claude/hooks/replay-target-audio.sh +95 -0
  40. package/.claude/hooks/sentiment-manager.sh +201 -0
  41. package/.claude/hooks/speed-manager.sh +291 -0
  42. package/.claude/hooks/voice-manager.sh +594 -0
  43. package/.claude/hooks/voices-config.sh +70 -0
  44. package/.claude/settings.local.json +41 -0
  45. package/.github/FUNDING.yaml +2 -2
  46. package/.github/ISSUE_TEMPLATE/config.yaml +5 -0
  47. package/.github/ISSUE_TEMPLATE/idea_submission.md +109 -0
  48. package/.github/workflows/discord.yaml +1 -10
  49. package/.github/workflows/{format-check.yaml → lint.yaml} +22 -3
  50. package/.github/workflows/manual-release.yaml +2 -2
  51. package/.nvmrc +1 -0
  52. package/.prettierignore +2 -0
  53. package/.vscode/settings.json +34 -9
  54. package/CHANGELOG.md +214 -574
  55. package/CONTRIBUTING.md +131 -60
  56. package/LICENSE +6 -1
  57. package/README.md +188 -148
  58. package/bmad/_cfg/agent-manifest.csv +7 -0
  59. package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +42 -0
  60. package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +32 -0
  61. package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +42 -0
  62. package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +42 -0
  63. package/bmad/_cfg/agents/core-bmad-master.customize.yaml +42 -0
  64. package/bmad/_cfg/files-manifest.csv +83 -0
  65. package/bmad/_cfg/manifest.yaml +12 -0
  66. package/bmad/_cfg/task-manifest.csv +5 -0
  67. package/bmad/_cfg/tool-manifest.csv +2 -0
  68. package/bmad/_cfg/workflow-manifest.csv +15 -0
  69. package/bmad/bmb/README.md +132 -0
  70. package/bmad/bmb/agents/bmad-builder.md +70 -0
  71. package/bmad/bmb/config.yaml +14 -0
  72. package/bmad/bmb/workflows/audit-workflow/checklist.md +143 -0
  73. package/bmad/bmb/workflows/audit-workflow/instructions.md +341 -0
  74. package/bmad/bmb/workflows/audit-workflow/template.md +118 -0
  75. package/bmad/bmb/workflows/audit-workflow/workflow.yaml +23 -0
  76. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +21 -0
  77. package/bmad/bmb/workflows/convert-legacy/README.md +262 -0
  78. package/bmad/bmb/workflows/convert-legacy/checklist.md +205 -0
  79. package/bmad/bmb/workflows/convert-legacy/instructions.md +377 -0
  80. package/bmad/bmb/workflows/convert-legacy/workflow.yaml +32 -0
  81. package/bmad/bmb/workflows/create-agent/README.md +320 -0
  82. package/bmad/bmb/workflows/create-agent/agent-architecture.md +419 -0
  83. package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +412 -0
  84. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +759 -0
  85. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +759 -0
  86. package/bmad/bmb/workflows/create-agent/agent-types.md +292 -0
  87. package/bmad/bmb/workflows/create-agent/brainstorm-context.md +174 -0
  88. package/bmad/bmb/workflows/create-agent/checklist.md +62 -0
  89. package/bmad/bmb/workflows/create-agent/communication-styles.md +202 -0
  90. package/bmad/bmb/workflows/create-agent/instructions.md +430 -0
  91. package/bmad/bmb/workflows/create-agent/workflow.yaml +37 -0
  92. package/bmad/bmb/workflows/create-module/README.md +220 -0
  93. package/bmad/bmb/workflows/create-module/README.md.bak +218 -0
  94. package/bmad/bmb/workflows/create-module/brainstorm-context.md +137 -0
  95. package/bmad/bmb/workflows/create-module/checklist.md +244 -0
  96. package/bmad/bmb/workflows/create-module/checklist.md.bak +245 -0
  97. package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
  98. package/bmad/bmb/workflows/create-module/installer-templates/installer.js +231 -0
  99. package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +231 -0
  100. package/bmad/bmb/workflows/create-module/instructions.md +581 -0
  101. package/bmad/bmb/workflows/create-module/instructions.md.bak +521 -0
  102. package/bmad/bmb/workflows/create-module/module-structure.md +366 -0
  103. package/bmad/bmb/workflows/create-module/module-structure.md.bak +310 -0
  104. package/bmad/bmb/workflows/create-module/workflow.yaml +42 -0
  105. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +40 -0
  106. package/bmad/bmb/workflows/create-workflow/README.md +277 -0
  107. package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
  108. package/bmad/bmb/workflows/create-workflow/checklist.md +94 -0
  109. package/bmad/bmb/workflows/create-workflow/instructions.md +716 -0
  110. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +1150 -0
  111. package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
  112. package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +13 -0
  113. package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
  114. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +39 -0
  115. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +39 -0
  116. package/bmad/bmb/workflows/create-workflow/workflow.yaml +40 -0
  117. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +38 -0
  118. package/bmad/bmb/workflows/edit-agent/README.md +112 -0
  119. package/bmad/bmb/workflows/edit-agent/checklist.md +112 -0
  120. package/bmad/bmb/workflows/edit-agent/instructions.md +290 -0
  121. package/bmad/bmb/workflows/edit-agent/workflow.yaml +33 -0
  122. package/bmad/bmb/workflows/edit-module/README.md +187 -0
  123. package/bmad/bmb/workflows/edit-module/checklist.md +165 -0
  124. package/bmad/bmb/workflows/edit-module/instructions.md +339 -0
  125. package/bmad/bmb/workflows/edit-module/workflow.yaml +34 -0
  126. package/bmad/bmb/workflows/edit-workflow/README.md +119 -0
  127. package/bmad/bmb/workflows/edit-workflow/checklist.md +70 -0
  128. package/bmad/bmb/workflows/edit-workflow/instructions.md +342 -0
  129. package/bmad/bmb/workflows/edit-workflow/workflow.yaml +27 -0
  130. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +25 -0
  131. package/bmad/bmb/workflows/module-brief/README.md +264 -0
  132. package/bmad/bmb/workflows/module-brief/checklist.md +116 -0
  133. package/bmad/bmb/workflows/module-brief/instructions.md +267 -0
  134. package/bmad/bmb/workflows/module-brief/template.md +275 -0
  135. package/bmad/bmb/workflows/module-brief/workflow.yaml +29 -0
  136. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +27 -0
  137. package/bmad/bmb/workflows/redoc/README.md +87 -0
  138. package/bmad/bmb/workflows/redoc/checklist.md +99 -0
  139. package/bmad/bmb/workflows/redoc/instructions.md +265 -0
  140. package/bmad/bmb/workflows/redoc/workflow.yaml +32 -0
  141. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +31 -0
  142. package/bmad/bmd/README.md +193 -0
  143. package/bmad/bmd/README.md.bak +193 -0
  144. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
  145. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +102 -0
  146. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
  147. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +68 -0
  148. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
  149. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +123 -0
  150. package/bmad/bmd/agents/cli-chief-sidecar/memories.md +53 -0
  151. package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +53 -0
  152. package/bmad/bmd/agents/cli-chief.md +108 -0
  153. package/bmad/bmd/agents/cli-chief.md.bak +108 -0
  154. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
  155. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +177 -0
  156. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
  157. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +81 -0
  158. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
  159. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +88 -0
  160. package/bmad/bmd/agents/doc-keeper.md +115 -0
  161. package/bmad/bmd/agents/doc-keeper.md.bak +115 -0
  162. package/bmad/bmd/agents/release-chief-sidecar/instructions.md +164 -0
  163. package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +164 -0
  164. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
  165. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +82 -0
  166. package/bmad/bmd/agents/release-chief-sidecar/memories.md +73 -0
  167. package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +73 -0
  168. package/bmad/bmd/agents/release-chief.md +109 -0
  169. package/bmad/bmd/agents/release-chief.md.bak +109 -0
  170. package/bmad/bmd/config.yaml +10 -0
  171. package/bmad/core/agents/bmad-master.md +71 -0
  172. package/bmad/core/agents/bmad-web-orchestrator.agent.xml +122 -0
  173. package/bmad/core/config.yaml +9 -0
  174. package/bmad/core/tasks/adv-elicit-methods.csv +39 -0
  175. package/bmad/core/tasks/adv-elicit.xml +104 -0
  176. package/bmad/core/tasks/index-docs.xml +65 -0
  177. package/bmad/core/tasks/validate-workflow.xml +89 -0
  178. package/bmad/core/tasks/workflow.xml +174 -0
  179. package/bmad/core/tools/shard-doc.xml +100 -0
  180. package/bmad/core/workflows/brainstorming/README.md +271 -0
  181. package/bmad/core/workflows/brainstorming/brain-methods.csv +36 -0
  182. package/bmad/core/workflows/brainstorming/instructions.md +314 -0
  183. package/bmad/core/workflows/brainstorming/template.md +102 -0
  184. package/bmad/core/workflows/brainstorming/workflow.yaml +43 -0
  185. package/bmad/core/workflows/party-mode/instructions.md +188 -0
  186. package/bmad/core/workflows/party-mode/workflow.yaml +23 -0
  187. package/bmad/docs/claude-code-instructions.md +25 -0
  188. package/bmad/docs/codex-instructions.md +21 -0
  189. package/bmd/README.md +193 -0
  190. package/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
  191. package/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
  192. package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
  193. package/bmd/agents/cli-chief-sidecar/memories.md +53 -0
  194. package/bmd/agents/cli-chief.agent.yaml +126 -0
  195. package/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
  196. package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
  197. package/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
  198. package/bmd/agents/doc-keeper.agent.yaml +137 -0
  199. package/bmd/agents/release-chief-sidecar/instructions.md +164 -0
  200. package/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
  201. package/bmd/agents/release-chief-sidecar/memories.md +73 -0
  202. package/bmd/agents/release-chief.agent.yaml +127 -0
  203. package/bmd/bmad-custom-module-installer-plan.md +1176 -0
  204. package/bmd/config.yaml +12 -0
  205. package/docs/bmad-brownfield-guide.md +1260 -0
  206. package/docs/conversion-report-shard-doc-2025-10-26.md +188 -0
  207. package/docs/ide-info/auggie.md +31 -0
  208. package/docs/ide-info/claude-code.md +25 -0
  209. package/docs/ide-info/cline.md +31 -0
  210. package/docs/ide-info/codex.md +21 -0
  211. package/docs/ide-info/crush.md +30 -0
  212. package/docs/ide-info/cursor.md +25 -0
  213. package/docs/ide-info/gemini.md +25 -0
  214. package/docs/ide-info/github-copilot.md +26 -0
  215. package/docs/ide-info/iflow.md +33 -0
  216. package/docs/ide-info/kilo.md +24 -0
  217. package/docs/ide-info/opencode.md +24 -0
  218. package/docs/ide-info/qwen.md +25 -0
  219. package/docs/ide-info/roo.md +27 -0
  220. package/docs/ide-info/trae.md +25 -0
  221. package/docs/ide-info/windsurf.md +22 -0
  222. package/docs/installers-bundlers/ide-injections.md +186 -0
  223. package/docs/installers-bundlers/installers-modules-platforms-reference.md +327 -0
  224. package/docs/installers-bundlers/web-bundler-usage.md +54 -0
  225. package/docs/v4-to-v6-upgrade.md +225 -0
  226. package/eslint.config.mjs +21 -9
  227. package/package.json +32 -36
  228. package/prettier.config.mjs +1 -1
  229. package/src/core/_module-installer/install-config.yaml +28 -0
  230. package/src/core/_module-installer/installer.js +68 -0
  231. package/src/core/agents/bmad-master.agent.yaml +39 -0
  232. package/src/core/agents/bmad-web-orchestrator.agent.xml +122 -0
  233. package/src/core/tasks/adv-elicit-methods.csv +39 -0
  234. package/src/core/tasks/adv-elicit.xml +104 -0
  235. package/src/core/tasks/index-docs.xml +65 -0
  236. package/src/core/tasks/validate-workflow.xml +89 -0
  237. package/src/core/tasks/workflow.xml +166 -0
  238. package/src/core/tools/shard-doc.xml +100 -0
  239. package/src/core/workflows/brainstorming/README.md +271 -0
  240. package/src/core/workflows/brainstorming/brain-methods.csv +36 -0
  241. package/src/core/workflows/brainstorming/instructions.md +314 -0
  242. package/src/core/workflows/brainstorming/template.md +102 -0
  243. package/src/core/workflows/brainstorming/workflow.yaml +43 -0
  244. package/src/core/workflows/party-mode/instructions.md +188 -0
  245. package/src/core/workflows/party-mode/workflow.yaml +23 -0
  246. package/src/modules/bmb/README.md +132 -0
  247. package/src/modules/bmb/_module-installer/install-config.yaml +26 -0
  248. package/src/modules/bmb/agents/bmad-builder.agent.yaml +58 -0
  249. package/src/modules/bmb/workflows/audit-workflow/checklist.md +143 -0
  250. package/src/modules/bmb/workflows/audit-workflow/instructions.md +341 -0
  251. package/src/modules/bmb/workflows/audit-workflow/template.md +118 -0
  252. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +25 -0
  253. package/src/modules/bmb/workflows/convert-legacy/README.md +262 -0
  254. package/src/modules/bmb/workflows/convert-legacy/checklist.md +205 -0
  255. package/src/modules/bmb/workflows/convert-legacy/instructions.md +377 -0
  256. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +34 -0
  257. package/src/modules/bmb/workflows/create-agent/README.md +320 -0
  258. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +419 -0
  259. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +759 -0
  260. package/src/modules/bmb/workflows/create-agent/agent-types.md +292 -0
  261. package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +174 -0
  262. package/src/modules/bmb/workflows/create-agent/checklist.md +62 -0
  263. package/src/modules/bmb/workflows/create-agent/communication-styles.md +202 -0
  264. package/src/modules/bmb/workflows/create-agent/instructions.md +430 -0
  265. package/src/modules/bmb/workflows/create-agent/workflow.yaml +49 -0
  266. package/src/modules/bmb/workflows/create-module/README.md +220 -0
  267. package/src/modules/bmb/workflows/create-module/brainstorm-context.md +137 -0
  268. package/src/modules/bmb/workflows/create-module/checklist.md +244 -0
  269. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
  270. package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +231 -0
  271. package/src/modules/bmb/workflows/create-module/instructions.md +581 -0
  272. package/src/modules/bmb/workflows/create-module/module-structure.md +366 -0
  273. package/src/modules/bmb/workflows/create-module/workflow.yaml +44 -0
  274. package/src/modules/bmb/workflows/create-workflow/README.md +277 -0
  275. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
  276. package/src/modules/bmb/workflows/create-workflow/checklist.md +94 -0
  277. package/src/modules/bmb/workflows/create-workflow/instructions.md +716 -0
  278. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +1150 -0
  279. package/src/modules/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
  280. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +13 -0
  281. package/src/modules/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
  282. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +65 -0
  283. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +42 -0
  284. package/src/modules/bmb/workflows/edit-agent/README.md +112 -0
  285. package/src/modules/bmb/workflows/edit-agent/checklist.md +112 -0
  286. package/src/modules/bmb/workflows/edit-agent/instructions.md +290 -0
  287. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +35 -0
  288. package/src/modules/bmb/workflows/edit-module/README.md +187 -0
  289. package/src/modules/bmb/workflows/edit-module/checklist.md +165 -0
  290. package/src/modules/bmb/workflows/edit-module/instructions.md +339 -0
  291. package/src/modules/bmb/workflows/edit-module/workflow.yaml +36 -0
  292. package/src/modules/bmb/workflows/edit-workflow/README.md +119 -0
  293. package/src/modules/bmb/workflows/edit-workflow/checklist.md +70 -0
  294. package/src/modules/bmb/workflows/edit-workflow/instructions.md +342 -0
  295. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +29 -0
  296. package/src/modules/bmb/workflows/module-brief/README.md +264 -0
  297. package/src/modules/bmb/workflows/module-brief/checklist.md +116 -0
  298. package/src/modules/bmb/workflows/module-brief/instructions.md +267 -0
  299. package/src/modules/bmb/workflows/module-brief/template.md +275 -0
  300. package/src/modules/bmb/workflows/module-brief/workflow.yaml +31 -0
  301. package/src/modules/bmb/workflows/redoc/README.md +87 -0
  302. package/src/modules/bmb/workflows/redoc/checklist.md +99 -0
  303. package/src/modules/bmb/workflows/redoc/instructions.md +265 -0
  304. package/src/modules/bmb/workflows/redoc/workflow.yaml +34 -0
  305. package/src/modules/bmm/README.md +141 -0
  306. package/src/modules/bmm/_module-installer/assets/bmm-kb.md +1 -0
  307. package/src/modules/bmm/_module-installer/assets/technical-decisions.md +30 -0
  308. package/src/modules/bmm/_module-installer/install-config.yaml +74 -0
  309. package/src/modules/bmm/_module-installer/installer.js +131 -0
  310. package/src/modules/bmm/_module-installer/platform-specifics/claude-code.js +35 -0
  311. package/src/modules/bmm/_module-installer/platform-specifics/windsurf.js +32 -0
  312. package/src/modules/bmm/agents/analyst.agent.yaml +43 -0
  313. package/src/modules/bmm/agents/architect.agent.yaml +41 -0
  314. package/src/modules/bmm/agents/dev.agent.yaml +43 -0
  315. package/src/modules/bmm/agents/game-architect.agent.yaml +35 -0
  316. package/src/modules/bmm/agents/game-designer.agent.yaml +47 -0
  317. package/src/modules/bmm/agents/game-dev.agent.yaml +39 -0
  318. package/src/modules/bmm/agents/pm.agent.yaml +50 -0
  319. package/src/modules/bmm/agents/sm.agent.yaml +67 -0
  320. package/src/modules/bmm/agents/tea.agent.yaml +59 -0
  321. package/src/modules/bmm/agents/ux-designer.agent.yaml +33 -0
  322. package/src/modules/bmm/sub-modules/claude-code/config.yaml +5 -0
  323. package/src/modules/bmm/sub-modules/claude-code/injections.yaml +242 -0
  324. package/src/modules/bmm/sub-modules/claude-code/readme.md +87 -0
  325. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +102 -0
  326. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +82 -0
  327. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +101 -0
  328. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +84 -0
  329. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +83 -0
  330. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +81 -0
  331. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +61 -0
  332. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +168 -0
  333. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +115 -0
  334. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +123 -0
  335. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +72 -0
  336. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +51 -0
  337. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +106 -0
  338. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +102 -0
  339. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +68 -0
  340. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +108 -0
  341. package/src/modules/bmm/tasks/daily-standup.xml +85 -0
  342. package/src/modules/bmm/tasks/retrospective.xml +104 -0
  343. package/src/modules/bmm/teams/team-fullstack.yaml +11 -0
  344. package/src/modules/bmm/teams/team-gamedev.yaml +14 -0
  345. package/src/modules/bmm/testarch/README.md +311 -0
  346. package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  347. package/src/modules/bmm/testarch/knowledge/component-tdd.md +486 -0
  348. package/src/modules/bmm/testarch/knowledge/contract-testing.md +957 -0
  349. package/src/modules/bmm/testarch/knowledge/data-factories.md +500 -0
  350. package/src/modules/bmm/testarch/knowledge/email-auth.md +721 -0
  351. package/src/modules/bmm/testarch/knowledge/error-handling.md +725 -0
  352. package/src/modules/bmm/testarch/knowledge/feature-flags.md +750 -0
  353. package/src/modules/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  354. package/src/modules/bmm/testarch/knowledge/network-first.md +486 -0
  355. package/src/modules/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  356. package/src/modules/bmm/testarch/knowledge/playwright-config.md +730 -0
  357. package/src/modules/bmm/testarch/knowledge/probability-impact.md +601 -0
  358. package/src/modules/bmm/testarch/knowledge/risk-governance.md +615 -0
  359. package/src/modules/bmm/testarch/knowledge/selective-testing.md +732 -0
  360. package/src/modules/bmm/testarch/knowledge/selector-resilience.md +527 -0
  361. package/src/modules/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  362. package/src/modules/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  363. package/src/modules/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  364. package/src/modules/bmm/testarch/knowledge/test-quality.md +664 -0
  365. package/src/modules/bmm/testarch/knowledge/timing-debugging.md +372 -0
  366. package/src/modules/bmm/testarch/knowledge/visual-debugging.md +524 -0
  367. package/src/modules/bmm/testarch/tea-index.csv +22 -0
  368. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +38 -0
  369. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-brain-methods.csv +26 -0
  370. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-context.md +115 -0
  371. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +109 -0
  372. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml +41 -0
  373. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +29 -0
  374. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +91 -0
  375. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
  376. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +39 -0
  377. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +221 -0
  378. package/src/modules/bmm/workflows/1-analysis/game-brief/checklist.md +128 -0
  379. package/src/modules/bmm/workflows/1-analysis/game-brief/instructions.md +357 -0
  380. package/src/modules/bmm/workflows/1-analysis/game-brief/template.md +205 -0
  381. package/src/modules/bmm/workflows/1-analysis/game-brief/workflow.yaml +44 -0
  382. package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +180 -0
  383. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
  384. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +321 -0
  385. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +165 -0
  386. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +43 -0
  387. package/src/modules/bmm/workflows/1-analysis/research/README.md +454 -0
  388. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +202 -0
  389. package/src/modules/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
  390. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +259 -0
  391. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +190 -0
  392. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +337 -0
  393. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +107 -0
  394. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +329 -0
  395. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +433 -0
  396. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +613 -0
  397. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +125 -0
  398. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +501 -0
  399. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
  400. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +311 -0
  401. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +210 -0
  402. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +49 -0
  403. package/src/modules/bmm/workflows/2-plan-workflows/README.md +258 -0
  404. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
  405. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1283 -0
  406. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
  407. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +42 -0
  408. package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +222 -0
  409. package/src/modules/bmm/workflows/2-plan-workflows/gdd/checklist.md +148 -0
  410. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/action-platformer.md +45 -0
  411. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/adventure.md +84 -0
  412. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/card-game.md +76 -0
  413. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/fighting.md +89 -0
  414. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/horror.md +86 -0
  415. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/idle-incremental.md +78 -0
  416. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/metroidvania.md +87 -0
  417. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/moba.md +74 -0
  418. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/party-game.md +79 -0
  419. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/puzzle.md +58 -0
  420. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/racing.md +88 -0
  421. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/rhythm.md +79 -0
  422. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/roguelike.md +69 -0
  423. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/rpg.md +70 -0
  424. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/sandbox.md +79 -0
  425. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/shooter.md +62 -0
  426. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/simulation.md +73 -0
  427. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/sports.md +75 -0
  428. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/strategy.md +71 -0
  429. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/survival.md +79 -0
  430. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/text-based.md +91 -0
  431. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/tower-defense.md +79 -0
  432. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/turn-based-tactics.md +88 -0
  433. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types/visual-novel.md +89 -0
  434. package/src/modules/bmm/workflows/2-plan-workflows/gdd/game-types.csv +25 -0
  435. package/src/modules/bmm/workflows/2-plan-workflows/gdd/gdd-template.md +153 -0
  436. package/src/modules/bmm/workflows/2-plan-workflows/gdd/instructions-gdd.md +475 -0
  437. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +67 -0
  438. package/src/modules/bmm/workflows/2-plan-workflows/narrative/checklist.md +139 -0
  439. package/src/modules/bmm/workflows/2-plan-workflows/narrative/instructions-narrative.md +557 -0
  440. package/src/modules/bmm/workflows/2-plan-workflows/narrative/narrative-template.md +195 -0
  441. package/src/modules/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +38 -0
  442. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +117 -0
  443. package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +63 -0
  444. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +449 -0
  445. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +62 -0
  446. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +46 -0
  447. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +107 -0
  448. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +11 -0
  449. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +167 -0
  450. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +278 -0
  451. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +269 -0
  452. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +55 -0
  453. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +56 -0
  454. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +52 -0
  455. package/src/modules/bmm/workflows/3-solutioning/README.md +1 -0
  456. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +347 -0
  457. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
  458. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +244 -0
  459. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
  460. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +703 -0
  461. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
  462. package/src/modules/bmm/workflows/3-solutioning/architecture/readme.md +318 -0
  463. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +54 -0
  464. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +177 -0
  465. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +175 -0
  466. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +273 -0
  467. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +146 -0
  468. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +189 -0
  469. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +40 -0
  470. package/src/modules/bmm/workflows/4-implementation/README.md +221 -0
  471. package/src/modules/bmm/workflows/4-implementation/code-review/README.md +69 -0
  472. package/src/modules/bmm/workflows/4-implementation/code-review/backlog_template.md +12 -0
  473. package/src/modules/bmm/workflows/4-implementation/code-review/checklist.md +22 -0
  474. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +391 -0
  475. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +56 -0
  476. package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +73 -0
  477. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  478. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +201 -0
  479. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +45 -0
  480. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +129 -0
  481. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +240 -0
  482. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +252 -0
  483. package/src/modules/bmm/workflows/4-implementation/create-story/template.md +51 -0
  484. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +49 -0
  485. package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +367 -0
  486. package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +206 -0
  487. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
  488. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +262 -0
  489. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +28 -0
  490. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +195 -0
  491. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +17 -0
  492. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +160 -0
  493. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/template.md +76 -0
  494. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +34 -0
  495. package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +77 -0
  496. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +479 -0
  497. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +45 -0
  498. package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +156 -0
  499. package/src/modules/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  500. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +221 -0
  501. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  502. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +41 -0
  503. package/src/modules/bmm/workflows/4-implementation/story-context/README.md +234 -0
  504. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
  505. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
  506. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +201 -0
  507. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +32 -0
  508. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
  509. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +27 -0
  510. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
  511. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +27 -0
  512. package/src/modules/bmm/workflows/README.md +577 -0
  513. package/src/modules/bmm/workflows/document-project/README.md +444 -0
  514. package/src/modules/bmm/workflows/document-project/checklist.md +245 -0
  515. package/src/modules/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  516. package/src/modules/bmm/workflows/document-project/instructions.md +222 -0
  517. package/src/modules/bmm/workflows/document-project/templates/README.md +38 -0
  518. package/src/modules/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  519. package/src/modules/bmm/workflows/document-project/templates/index-template.md +169 -0
  520. package/src/modules/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  521. package/src/modules/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  522. package/src/modules/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  523. package/src/modules/bmm/workflows/document-project/workflow.yaml +36 -0
  524. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  525. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  526. package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  527. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  528. package/src/modules/bmm/workflows/testarch/README.md +26 -0
  529. package/src/modules/bmm/workflows/testarch/atdd/README.md +672 -0
  530. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  531. package/src/modules/bmm/workflows/testarch/atdd/checklist.md +373 -0
  532. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +785 -0
  533. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +54 -0
  534. package/src/modules/bmm/workflows/testarch/automate/README.md +869 -0
  535. package/src/modules/bmm/workflows/testarch/automate/checklist.md +580 -0
  536. package/src/modules/bmm/workflows/testarch/automate/instructions.md +1303 -0
  537. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +63 -0
  538. package/src/modules/bmm/workflows/testarch/ci/README.md +493 -0
  539. package/src/modules/bmm/workflows/testarch/ci/checklist.md +246 -0
  540. package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
  541. package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
  542. package/src/modules/bmm/workflows/testarch/ci/instructions.md +517 -0
  543. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +55 -0
  544. package/src/modules/bmm/workflows/testarch/framework/README.md +340 -0
  545. package/src/modules/bmm/workflows/testarch/framework/checklist.md +321 -0
  546. package/src/modules/bmm/workflows/testarch/framework/instructions.md +455 -0
  547. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +55 -0
  548. package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +469 -0
  549. package/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
  550. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  551. package/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
  552. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +58 -0
  553. package/src/modules/bmm/workflows/testarch/test-design/README.md +493 -0
  554. package/src/modules/bmm/workflows/testarch/test-design/checklist.md +234 -0
  555. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +621 -0
  556. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
  557. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
  558. package/src/modules/bmm/workflows/testarch/test-review/README.md +775 -0
  559. package/src/modules/bmm/workflows/testarch/test-review/checklist.md +470 -0
  560. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +608 -0
  561. package/src/modules/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
  562. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +55 -0
  563. package/src/modules/bmm/workflows/testarch/trace/README.md +802 -0
  564. package/src/modules/bmm/workflows/testarch/trace/checklist.md +654 -0
  565. package/src/modules/bmm/workflows/testarch/trace/instructions.md +1045 -0
  566. package/src/modules/bmm/workflows/testarch/trace/trace-template.md +673 -0
  567. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +68 -0
  568. package/src/modules/bmm/workflows/workflow-status/README.md +241 -0
  569. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +297 -0
  570. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +28 -0
  571. package/src/modules/bmm/workflows/workflow-status/instructions.md +324 -0
  572. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +54 -0
  573. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-1.yaml +58 -0
  574. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +76 -0
  575. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +95 -0
  576. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +88 -0
  577. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +75 -0
  578. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +45 -0
  579. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-1.yaml +49 -0
  580. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +78 -0
  581. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +73 -0
  582. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +75 -0
  583. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  584. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +30 -0
  585. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +30 -0
  586. package/src/modules/cis/_module-installer/install-config.yaml +14 -0
  587. package/src/modules/cis/_module-installer/installer.js +92 -0
  588. package/src/modules/cis/agents/README.md +104 -0
  589. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +23 -0
  590. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +23 -0
  591. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +23 -0
  592. package/src/modules/cis/agents/innovation-strategist.agent.yaml +23 -0
  593. package/src/modules/cis/agents/storyteller.agent.yaml +23 -0
  594. package/src/modules/cis/readme.md +86 -0
  595. package/src/modules/cis/teams/creative-squad.yaml +6 -0
  596. package/src/modules/cis/workflows/README.md +67 -0
  597. package/src/modules/cis/workflows/design-thinking/README.md +56 -0
  598. package/src/modules/cis/workflows/design-thinking/design-methods.csv +31 -0
  599. package/src/modules/cis/workflows/design-thinking/instructions.md +200 -0
  600. package/src/modules/cis/workflows/design-thinking/template.md +111 -0
  601. package/src/modules/cis/workflows/design-thinking/workflow.yaml +43 -0
  602. package/src/modules/cis/workflows/innovation-strategy/README.md +56 -0
  603. package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  604. package/src/modules/cis/workflows/innovation-strategy/instructions.md +274 -0
  605. package/src/modules/cis/workflows/innovation-strategy/template.md +189 -0
  606. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +43 -0
  607. package/src/modules/cis/workflows/problem-solving/README.md +56 -0
  608. package/src/modules/cis/workflows/problem-solving/instructions.md +250 -0
  609. package/src/modules/cis/workflows/problem-solving/solving-methods.csv +31 -0
  610. package/src/modules/cis/workflows/problem-solving/template.md +165 -0
  611. package/src/modules/cis/workflows/problem-solving/workflow.yaml +43 -0
  612. package/src/modules/cis/workflows/storytelling/README.md +58 -0
  613. package/src/modules/cis/workflows/storytelling/instructions.md +283 -0
  614. package/src/modules/cis/workflows/storytelling/story-types.csv +26 -0
  615. package/src/modules/cis/workflows/storytelling/template.md +113 -0
  616. package/src/modules/cis/workflows/storytelling/workflow.yaml +43 -0
  617. package/src/utility/models/agent-activation-ide.xml +51 -0
  618. package/src/utility/models/agent-activation-web.xml +60 -0
  619. package/src/utility/models/agent-config-template.md +23 -0
  620. package/src/utility/models/agent-in-team-activation.xml +3 -0
  621. package/src/utility/models/fragments/activation-rules.xml +8 -0
  622. package/src/utility/models/fragments/activation-steps.xml +15 -0
  623. package/src/utility/models/fragments/handler-action.xml +4 -0
  624. package/src/utility/models/fragments/handler-data.xml +5 -0
  625. package/src/utility/models/fragments/handler-exec.xml +5 -0
  626. package/src/utility/models/fragments/handler-tmpl.xml +5 -0
  627. package/src/utility/models/fragments/handler-validate-workflow.xml +7 -0
  628. package/src/utility/models/fragments/handler-workflow.xml +9 -0
  629. package/src/utility/models/fragments/menu-handlers.xml +6 -0
  630. package/src/utility/models/fragments/web-bundle-activation-steps.xml +32 -0
  631. package/src/utility/templates/agent.customize.template.yaml +42 -0
  632. package/test/README.md +295 -0
  633. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +26 -0
  634. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +29 -0
  635. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +21 -0
  636. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +19 -0
  637. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +24 -0
  638. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +23 -0
  639. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +24 -0
  640. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +30 -0
  641. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +24 -0
  642. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +24 -0
  643. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +24 -0
  644. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +24 -0
  645. package/test/fixtures/agent-schema/invalid/metadata/core-agent-with-module.agent.yaml +26 -0
  646. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  647. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  648. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +26 -0
  649. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  650. package/test/fixtures/agent-schema/invalid/metadata/module-agent-missing-module.agent.yaml +25 -0
  651. package/test/fixtures/agent-schema/invalid/metadata/wrong-module-value.agent.yaml +26 -0
  652. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +23 -0
  653. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +26 -0
  654. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +26 -0
  655. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +23 -0
  656. package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +23 -0
  657. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +28 -0
  658. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +30 -0
  659. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +27 -0
  660. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +27 -0
  661. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  662. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +27 -0
  663. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  664. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  665. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  666. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +23 -0
  667. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +21 -0
  668. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +26 -0
  669. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +30 -0
  670. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +21 -0
  671. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +39 -0
  672. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +23 -0
  673. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +33 -0
  674. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +23 -0
  675. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +23 -0
  676. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +23 -0
  677. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +23 -0
  678. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +23 -0
  679. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +21 -0
  680. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +27 -0
  681. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +29 -0
  682. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +23 -0
  683. package/test/test-agent-schema.js +387 -0
  684. package/test/test-cli-integration.sh +159 -0
  685. package/test/unit-test-schema.js +133 -0
  686. package/tools/bmad-npx-wrapper.js +100 -13
  687. package/tools/cli/README.md +590 -0
  688. package/tools/cli/bmad-cli.js +40 -0
  689. package/tools/cli/bundlers/bundle-web.js +179 -0
  690. package/tools/cli/bundlers/test-analyst.js +28 -0
  691. package/tools/cli/bundlers/test-bundler.js +118 -0
  692. package/tools/cli/bundlers/web-bundler.js +1479 -0
  693. package/tools/cli/commands/build.js +458 -0
  694. package/tools/cli/commands/install.js +82 -0
  695. package/tools/cli/commands/list.js +28 -0
  696. package/tools/cli/commands/status.js +47 -0
  697. package/tools/cli/commands/uninstall.js +44 -0
  698. package/tools/cli/commands/update.js +28 -0
  699. package/tools/cli/installers/lib/core/config-collector.js +590 -0
  700. package/tools/cli/installers/lib/core/dependency-resolver.js +725 -0
  701. package/tools/cli/installers/lib/core/detector.js +274 -0
  702. package/tools/cli/installers/lib/core/ide-config-manager.js +152 -0
  703. package/tools/cli/installers/lib/core/installer.js +2095 -0
  704. package/tools/cli/installers/lib/core/manifest-generator.js +776 -0
  705. package/tools/cli/installers/lib/core/manifest.js +536 -0
  706. package/tools/cli/installers/lib/ide/_base-ide.js +572 -0
  707. package/tools/cli/installers/lib/ide/auggie.js +336 -0
  708. package/tools/cli/installers/lib/ide/claude-code.js +449 -0
  709. package/tools/cli/installers/lib/ide/cline.js +223 -0
  710. package/tools/cli/installers/lib/ide/codex.js +234 -0
  711. package/tools/cli/installers/lib/ide/crush.js +276 -0
  712. package/tools/cli/installers/lib/ide/cursor.js +292 -0
  713. package/tools/cli/installers/lib/ide/gemini.js +156 -0
  714. package/tools/cli/installers/lib/ide/github-copilot.js +290 -0
  715. package/tools/cli/installers/lib/ide/iflow.js +142 -0
  716. package/tools/cli/installers/lib/ide/kilo.js +171 -0
  717. package/tools/cli/installers/lib/ide/manager.js +194 -0
  718. package/tools/cli/installers/lib/ide/opencode.js +213 -0
  719. package/tools/cli/installers/lib/ide/qwen.js +290 -0
  720. package/tools/cli/installers/lib/ide/roo.js +288 -0
  721. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +143 -0
  722. package/tools/cli/installers/lib/ide/shared/module-injections.js +133 -0
  723. package/tools/cli/installers/lib/ide/task-tool-command-generator.js +119 -0
  724. package/tools/cli/installers/lib/ide/trae.js +278 -0
  725. package/tools/cli/installers/lib/ide/windsurf.js +201 -0
  726. package/tools/cli/installers/lib/ide/workflow-command-generator.js +235 -0
  727. package/tools/cli/installers/lib/ide/workflow-command-template.md +15 -0
  728. package/tools/cli/installers/lib/modules/manager.js +568 -0
  729. package/tools/cli/lib/activation-builder.js +168 -0
  730. package/tools/cli/lib/agent-analyzer.js +81 -0
  731. package/tools/cli/lib/agent-party-generator.js +206 -0
  732. package/tools/cli/lib/cli-utils.js +208 -0
  733. package/tools/cli/lib/config.js +210 -0
  734. package/tools/cli/lib/file-ops.js +204 -0
  735. package/tools/cli/lib/platform-codes.js +116 -0
  736. package/tools/cli/lib/project-root.js +71 -0
  737. package/tools/cli/lib/replace-project-root.js +239 -0
  738. package/tools/cli/lib/ui.js +591 -0
  739. package/tools/cli/lib/xml-handler.js +228 -0
  740. package/tools/cli/lib/xml-to-markdown.js +82 -0
  741. package/tools/{yaml-format.js → cli/lib/yaml-format.js} +3 -10
  742. package/tools/cli/lib/yaml-xml-builder.js +439 -0
  743. package/tools/cli/regenerate-manifests.js +28 -0
  744. package/tools/cli/test-yaml-builder.js +43 -0
  745. package/tools/flattener/ignoreRules.js +2 -6
  746. package/tools/flattener/main.js +31 -121
  747. package/tools/flattener/projectRoot.js +3 -8
  748. package/tools/flattener/stats.helpers.js +8 -35
  749. package/tools/flattener/stats.js +1 -6
  750. package/tools/flattener/test-matrix.js +1 -5
  751. package/tools/format-workflow-md.js +263 -0
  752. package/tools/platform-codes.yaml +133 -0
  753. package/tools/schema/agent.js +231 -0
  754. package/tools/validate-agent-schema.js +110 -0
  755. package/tools/validate-bundles.js +87 -0
  756. package/v6-open-items.md +23 -0
  757. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -22
  758. package/bmad-core/agent-teams/team-all.yaml +0 -14
  759. package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  760. package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  761. package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  762. package/bmad-core/agents/analyst.md +0 -81
  763. package/bmad-core/agents/architect.md +0 -83
  764. package/bmad-core/agents/bmad-master.md +0 -107
  765. package/bmad-core/agents/bmad-orchestrator.md +0 -149
  766. package/bmad-core/agents/dev.md +0 -75
  767. package/bmad-core/agents/pm.md +0 -81
  768. package/bmad-core/agents/po.md +0 -76
  769. package/bmad-core/agents/qa.md +0 -88
  770. package/bmad-core/agents/sm.md +0 -62
  771. package/bmad-core/agents/ux-expert.md +0 -66
  772. package/bmad-core/checklists/architect-checklist.md +0 -438
  773. package/bmad-core/checklists/change-checklist.md +0 -182
  774. package/bmad-core/checklists/pm-checklist.md +0 -370
  775. package/bmad-core/checklists/po-master-checklist.md +0 -432
  776. package/bmad-core/checklists/story-dod-checklist.md +0 -94
  777. package/bmad-core/checklists/story-draft-checklist.md +0 -153
  778. package/bmad-core/core-config.yaml +0 -20
  779. package/bmad-core/data/bmad-kb.md +0 -806
  780. package/bmad-core/data/brainstorming-techniques.md +0 -36
  781. package/bmad-core/data/elicitation-methods.md +0 -154
  782. package/bmad-core/data/technical-preferences.md +0 -3
  783. package/bmad-core/data/test-levels-framework.md +0 -146
  784. package/bmad-core/data/test-priorities-matrix.md +0 -172
  785. package/bmad-core/tasks/advanced-elicitation.md +0 -117
  786. package/bmad-core/tasks/brownfield-create-epic.md +0 -160
  787. package/bmad-core/tasks/brownfield-create-story.md +0 -147
  788. package/bmad-core/tasks/correct-course.md +0 -70
  789. package/bmad-core/tasks/create-brownfield-story.md +0 -312
  790. package/bmad-core/tasks/create-deep-research-prompt.md +0 -278
  791. package/bmad-core/tasks/create-next-story.md +0 -112
  792. package/bmad-core/tasks/document-project.md +0 -343
  793. package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  794. package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  795. package/bmad-core/tasks/index-docs.md +0 -173
  796. package/bmad-core/tasks/kb-mode-interaction.md +0 -75
  797. package/bmad-core/tasks/nfr-assess.md +0 -343
  798. package/bmad-core/tasks/qa-gate.md +0 -159
  799. package/bmad-core/tasks/review-story.md +0 -314
  800. package/bmad-core/tasks/risk-profile.md +0 -353
  801. package/bmad-core/tasks/shard-doc.md +0 -185
  802. package/bmad-core/tasks/test-design.md +0 -174
  803. package/bmad-core/tasks/trace-requirements.md +0 -264
  804. package/bmad-core/tasks/validate-next-story.md +0 -134
  805. package/bmad-core/templates/architecture-tmpl.yaml +0 -650
  806. package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  807. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  808. package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  809. package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -306
  810. package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -218
  811. package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  812. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -823
  813. package/bmad-core/templates/market-research-tmpl.yaml +0 -252
  814. package/bmad-core/templates/prd-tmpl.yaml +0 -202
  815. package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  816. package/bmad-core/templates/qa-gate-tmpl.yaml +0 -102
  817. package/bmad-core/templates/story-tmpl.yaml +0 -137
  818. package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  819. package/bmad-core/workflows/brownfield-service.yaml +0 -187
  820. package/bmad-core/workflows/brownfield-ui.yaml +0 -197
  821. package/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
  822. package/bmad-core/workflows/greenfield-service.yaml +0 -206
  823. package/bmad-core/workflows/greenfield-ui.yaml +0 -235
  824. package/common/tasks/create-doc.md +0 -101
  825. package/common/tasks/execute-checklist.md +0 -86
  826. package/common/utils/bmad-doc-template.md +0 -325
  827. package/common/utils/workflow-management.md +0 -69
  828. package/dist/agents/analyst.txt +0 -2889
  829. package/dist/agents/architect.txt +0 -3552
  830. package/dist/agents/bmad-master.txt +0 -8769
  831. package/dist/agents/bmad-orchestrator.txt +0 -1513
  832. package/dist/agents/dev.txt +0 -414
  833. package/dist/agents/pm.txt +0 -2204
  834. package/dist/agents/po.txt +0 -1346
  835. package/dist/agents/qa.txt +0 -1987
  836. package/dist/agents/sm.txt +0 -658
  837. package/dist/agents/ux-expert.txt +0 -694
  838. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2371
  839. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1620
  840. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -815
  841. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10952
  842. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4012
  843. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3698
  844. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -450
  845. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -973
  846. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15376
  847. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2075
  848. package/dist/teams/team-all.txt +0 -12682
  849. package/dist/teams/team-fullstack.txt +0 -10421
  850. package/dist/teams/team-ide-minimal.txt +0 -5103
  851. package/dist/teams/team-no-ui.txt +0 -8980
  852. package/docs/GUIDING-PRINCIPLES.md +0 -91
  853. package/docs/core-architecture.md +0 -219
  854. package/docs/enhanced-ide-development-workflow.md +0 -248
  855. package/docs/expansion-packs.md +0 -280
  856. package/docs/how-to-contribute-with-pull-requests.md +0 -158
  857. package/docs/user-guide.md +0 -504
  858. package/docs/versioning-and-releases.md +0 -147
  859. package/docs/versions.md +0 -48
  860. package/docs/working-in-the-brownfield.md +0 -597
  861. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
  862. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
  863. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
  864. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
  865. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
  866. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
  867. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
  868. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
  869. package/expansion-packs/README.md +0 -3
  870. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  871. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
  872. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
  873. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
  874. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  875. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  876. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
  877. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -250
  878. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -647
  879. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -110
  880. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  881. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -290
  882. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  883. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  884. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  885. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  886. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  887. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  888. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  889. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
  890. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
  891. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
  892. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
  893. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
  894. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -391
  895. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
  896. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
  897. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -124
  898. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
  899. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -769
  900. package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -586
  901. package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -110
  902. package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -141
  903. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
  904. package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -290
  905. package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
  906. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
  907. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
  908. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
  909. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
  910. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  911. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  912. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
  913. package/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
  914. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
  915. package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
  916. package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
  917. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -305
  918. package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -159
  919. package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -153
  920. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  921. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  922. package/release_notes.md +0 -33
  923. package/tools/builders/web-builder.js +0 -675
  924. package/tools/bump-all-versions.js +0 -115
  925. package/tools/bump-expansion-version.js +0 -90
  926. package/tools/cli.js +0 -152
  927. package/tools/installer/README.md +0 -8
  928. package/tools/installer/bin/bmad.js +0 -585
  929. package/tools/installer/config/ide-agent-config.yaml +0 -58
  930. package/tools/installer/config/install.config.yaml +0 -123
  931. package/tools/installer/lib/config-loader.js +0 -257
  932. package/tools/installer/lib/file-manager.js +0 -389
  933. package/tools/installer/lib/ide-base-setup.js +0 -228
  934. package/tools/installer/lib/ide-setup.js +0 -1441
  935. package/tools/installer/lib/installer.js +0 -1995
  936. package/tools/installer/lib/memory-profiler.js +0 -225
  937. package/tools/installer/lib/module-manager.js +0 -114
  938. package/tools/installer/lib/resource-locator.js +0 -308
  939. package/tools/installer/package.json +0 -44
  940. package/tools/lib/dependency-resolver.js +0 -175
  941. package/tools/lib/yaml-utils.js +0 -29
  942. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  943. package/tools/preview-release-notes.js +0 -66
  944. package/tools/shared/bannerArt.js +0 -105
  945. package/tools/sync-installer-version.js +0 -32
  946. package/tools/update-expansion-version.js +0 -53
  947. package/tools/upgraders/v3-to-v4-upgrader.js +0 -672
  948. package/tools/version-bump.js +0 -94
@@ -0,0 +1,439 @@
1
+ const yaml = require('js-yaml');
2
+ const fs = require('fs-extra');
3
+ const path = require('node:path');
4
+ const crypto = require('node:crypto');
5
+ const { AgentAnalyzer } = require('./agent-analyzer');
6
+ const { ActivationBuilder } = require('./activation-builder');
7
+
8
+ /**
9
+ * Converts agent YAML files to XML format with smart activation injection
10
+ */
11
+ class YamlXmlBuilder {
12
+ constructor() {
13
+ this.analyzer = new AgentAnalyzer();
14
+ this.activationBuilder = new ActivationBuilder();
15
+ }
16
+
17
+ /**
18
+ * Deep merge two objects (for customize.yaml + agent.yaml)
19
+ * @param {Object} target - Target object
20
+ * @param {Object} source - Source object to merge in
21
+ * @returns {Object} Merged object
22
+ */
23
+ deepMerge(target, source) {
24
+ const output = { ...target };
25
+
26
+ if (this.isObject(target) && this.isObject(source)) {
27
+ for (const key of Object.keys(source)) {
28
+ if (this.isObject(source[key])) {
29
+ if (key in target) {
30
+ output[key] = this.deepMerge(target[key], source[key]);
31
+ } else {
32
+ output[key] = source[key];
33
+ }
34
+ } else if (Array.isArray(source[key])) {
35
+ // For arrays, append rather than replace (for commands)
36
+ if (Array.isArray(target[key])) {
37
+ output[key] = [...target[key], ...source[key]];
38
+ } else {
39
+ output[key] = source[key];
40
+ }
41
+ } else {
42
+ output[key] = source[key];
43
+ }
44
+ }
45
+ }
46
+
47
+ return output;
48
+ }
49
+
50
+ /**
51
+ * Check if value is an object
52
+ */
53
+ isObject(item) {
54
+ return item && typeof item === 'object' && !Array.isArray(item);
55
+ }
56
+
57
+ /**
58
+ * Load and merge agent YAML with customization
59
+ * @param {string} agentYamlPath - Path to base agent YAML
60
+ * @param {string} customizeYamlPath - Path to customize YAML (optional)
61
+ * @returns {Object} Merged agent configuration
62
+ */
63
+ async loadAndMergeAgent(agentYamlPath, customizeYamlPath = null) {
64
+ // Load base agent
65
+ const agentContent = await fs.readFile(agentYamlPath, 'utf8');
66
+ const agentYaml = yaml.load(agentContent);
67
+
68
+ // Load customization if exists
69
+ let merged = agentYaml;
70
+ if (customizeYamlPath && (await fs.pathExists(customizeYamlPath))) {
71
+ const customizeContent = await fs.readFile(customizeYamlPath, 'utf8');
72
+ const customizeYaml = yaml.load(customizeContent);
73
+
74
+ if (customizeYaml) {
75
+ // Special handling: persona fields are merged, but only non-empty values override
76
+ if (customizeYaml.persona) {
77
+ const basePersona = merged.agent.persona || {};
78
+ const customPersona = {};
79
+
80
+ // Only copy non-empty customize values
81
+ for (const [key, value] of Object.entries(customizeYaml.persona)) {
82
+ if (value !== '' && value !== null && !(Array.isArray(value) && value.length === 0)) {
83
+ customPersona[key] = value;
84
+ }
85
+ }
86
+
87
+ // Merge non-empty customize values over base
88
+ if (Object.keys(customPersona).length > 0) {
89
+ merged.agent.persona = { ...basePersona, ...customPersona };
90
+ }
91
+ }
92
+
93
+ // Merge metadata (only non-empty values)
94
+ if (customizeYaml.agent && customizeYaml.agent.metadata) {
95
+ const nonEmptyMetadata = {};
96
+ for (const [key, value] of Object.entries(customizeYaml.agent.metadata)) {
97
+ if (value !== '' && value !== null) {
98
+ nonEmptyMetadata[key] = value;
99
+ }
100
+ }
101
+ merged.agent.metadata = { ...merged.agent.metadata, ...nonEmptyMetadata };
102
+ }
103
+
104
+ // Append menu items (support both 'menu' and legacy 'commands')
105
+ const customMenuItems = customizeYaml.menu || customizeYaml.commands;
106
+ if (customMenuItems) {
107
+ // Determine if base uses 'menu' or 'commands'
108
+ if (merged.agent.menu) {
109
+ merged.agent.menu = [...merged.agent.menu, ...customMenuItems];
110
+ } else if (merged.agent.commands) {
111
+ merged.agent.commands = [...merged.agent.commands, ...customMenuItems];
112
+ } else {
113
+ // Default to 'menu' for new agents
114
+ merged.agent.menu = customMenuItems;
115
+ }
116
+ }
117
+
118
+ // Append critical actions
119
+ if (customizeYaml.critical_actions) {
120
+ merged.agent.critical_actions = [...(merged.agent.critical_actions || []), ...customizeYaml.critical_actions];
121
+ }
122
+ }
123
+ }
124
+
125
+ return merged;
126
+ }
127
+
128
+ /**
129
+ * Convert agent YAML to XML
130
+ * @param {Object} agentYaml - Parsed agent YAML object
131
+ * @param {Object} buildMetadata - Metadata about the build (file paths, hashes, etc.)
132
+ * @returns {string} XML content
133
+ */
134
+ async convertToXml(agentYaml, buildMetadata = {}) {
135
+ const agent = agentYaml.agent;
136
+ const metadata = agent.metadata || {};
137
+
138
+ // Add module from buildMetadata if available
139
+ if (buildMetadata.module) {
140
+ metadata.module = buildMetadata.module;
141
+ }
142
+
143
+ // Analyze agent to determine needed handlers
144
+ const profile = this.analyzer.analyzeAgentObject(agentYaml);
145
+
146
+ // Build activation block only if not skipped
147
+ let activationBlock = '';
148
+ if (!buildMetadata.skipActivation) {
149
+ activationBlock = await this.activationBuilder.buildActivation(
150
+ profile,
151
+ metadata,
152
+ agent.critical_actions || [],
153
+ buildMetadata.forWebBundle || false, // Pass web bundle flag
154
+ );
155
+ }
156
+
157
+ // Start building XML
158
+ let xml = '';
159
+
160
+ if (buildMetadata.forWebBundle) {
161
+ // Web bundle: keep existing format
162
+ xml += '<!-- Powered by BMAD-CORE™ -->\n\n';
163
+ xml += `# ${metadata.title || 'Agent'}\n\n`;
164
+ } else {
165
+ // Installation: use YAML frontmatter + instruction
166
+ // Extract name from filename: "cli-chief.yaml" or "pm.agent.yaml" -> "cli chief" or "pm"
167
+ const filename = buildMetadata.sourceFile || 'agent.yaml';
168
+ let nameFromFile = path.basename(filename, path.extname(filename)); // Remove .yaml/.md extension
169
+ nameFromFile = nameFromFile.replace(/\.agent$/, ''); // Remove .agent suffix if present
170
+ nameFromFile = nameFromFile.replaceAll('-', ' '); // Replace dashes with spaces
171
+
172
+ xml += '---\n';
173
+ xml += `name: "${nameFromFile}"\n`;
174
+ xml += `description: "${metadata.title || 'BMAD Agent'}"\n`;
175
+ xml += '---\n\n';
176
+ xml +=
177
+ "You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.\n\n";
178
+ }
179
+
180
+ xml += '```xml\n';
181
+
182
+ // Agent opening tag
183
+ const agentAttrs = [
184
+ `id="${metadata.id || ''}"`,
185
+ `name="${metadata.name || ''}"`,
186
+ `title="${metadata.title || ''}"`,
187
+ `icon="${metadata.icon || '🤖'}"`,
188
+ ];
189
+
190
+ // Add localskip attribute if present
191
+ if (metadata.localskip === true) {
192
+ agentAttrs.push('localskip="true"');
193
+ }
194
+
195
+ xml += `<agent ${agentAttrs.join(' ')}>\n`;
196
+
197
+ // Activation block (only if not skipped)
198
+ if (activationBlock) {
199
+ xml += activationBlock + '\n';
200
+ }
201
+
202
+ // Persona section
203
+ xml += this.buildPersonaXml(agent.persona);
204
+
205
+ // Prompts section (if exists)
206
+ if (agent.prompts) {
207
+ xml += this.buildPromptsXml(agent.prompts);
208
+ }
209
+
210
+ // Menu section (support both 'menu' and legacy 'commands')
211
+ const menuItems = agent.menu || agent.commands || [];
212
+ xml += this.buildCommandsXml(menuItems);
213
+
214
+ xml += '</agent>\n';
215
+ xml += '```\n';
216
+
217
+ return xml;
218
+ }
219
+
220
+ /**
221
+ * Build metadata comment
222
+ */
223
+ buildMetadataComment(metadata) {
224
+ const lines = ['<!-- BUILD-META', ` source: ${metadata.sourceFile || 'unknown'} (hash: ${metadata.sourceHash || 'unknown'})`];
225
+
226
+ if (metadata.customizeFile) {
227
+ lines.push(` customize: ${metadata.customizeFile} (hash: ${metadata.customizeHash || 'unknown'})`);
228
+ }
229
+
230
+ lines.push(` built: ${new Date().toISOString()}`, ` builder-version: ${metadata.builderVersion || '1.0.0'}`, '-->\n');
231
+
232
+ return lines.join('\n');
233
+ }
234
+
235
+ /**
236
+ * Build persona XML section
237
+ */
238
+ buildPersonaXml(persona) {
239
+ if (!persona) return '';
240
+
241
+ let xml = ' <persona>\n';
242
+
243
+ if (persona.role) {
244
+ xml += ` <role>${this.escapeXml(persona.role)}</role>\n`;
245
+ }
246
+
247
+ if (persona.identity) {
248
+ xml += ` <identity>${this.escapeXml(persona.identity)}</identity>\n`;
249
+ }
250
+
251
+ if (persona.communication_style) {
252
+ xml += ` <communication_style>${this.escapeXml(persona.communication_style)}</communication_style>\n`;
253
+ }
254
+
255
+ if (persona.principles) {
256
+ // Principles can be array or string
257
+ let principlesText;
258
+ if (Array.isArray(persona.principles)) {
259
+ principlesText = persona.principles.join(' ');
260
+ } else {
261
+ principlesText = persona.principles;
262
+ }
263
+ xml += ` <principles>${this.escapeXml(principlesText)}</principles>\n`;
264
+ }
265
+
266
+ xml += ' </persona>\n';
267
+
268
+ return xml;
269
+ }
270
+
271
+ /**
272
+ * Build prompts XML section
273
+ */
274
+ buildPromptsXml(prompts) {
275
+ if (!prompts || prompts.length === 0) return '';
276
+
277
+ let xml = ' <prompts>\n';
278
+
279
+ for (const prompt of prompts) {
280
+ xml += ` <prompt id="${prompt.id || ''}">\n`;
281
+ xml += ` <![CDATA[\n`;
282
+ xml += ` ${prompt.content || ''}\n`;
283
+ xml += ` ]]>\n`;
284
+ xml += ` </prompt>\n`;
285
+ }
286
+
287
+ xml += ' </prompts>\n';
288
+
289
+ return xml;
290
+ }
291
+
292
+ /**
293
+ * Build menu XML section (renamed from commands for clarity)
294
+ * Auto-injects *help and *exit, adds * prefix to all triggers
295
+ */
296
+ buildCommandsXml(menuItems) {
297
+ let xml = ' <menu>\n';
298
+
299
+ // Always inject *help first
300
+ xml += ` <item cmd="*help">Show numbered menu</item>\n`;
301
+
302
+ // Add user-defined menu items with * prefix
303
+ if (menuItems && menuItems.length > 0) {
304
+ for (const item of menuItems) {
305
+ // Build command attributes - add * prefix if not present
306
+ let trigger = item.trigger || '';
307
+ if (!trigger.startsWith('*')) {
308
+ trigger = '*' + trigger;
309
+ }
310
+
311
+ const attrs = [`cmd="${trigger}"`];
312
+
313
+ // Add handler attributes
314
+ if (item.workflow) attrs.push(`workflow="${item.workflow}"`);
315
+ if (item['validate-workflow']) attrs.push(`validate-workflow="${item['validate-workflow']}"`);
316
+ if (item.exec) attrs.push(`exec="${item.exec}"`);
317
+ if (item.tmpl) attrs.push(`tmpl="${item.tmpl}"`);
318
+ if (item.data) attrs.push(`data="${item.data}"`);
319
+ if (item.action) attrs.push(`action="${item.action}"`);
320
+
321
+ xml += ` <item ${attrs.join(' ')}>${this.escapeXml(item.description || '')}</item>\n`;
322
+ }
323
+ }
324
+
325
+ // Always inject *exit last
326
+ xml += ` <item cmd="*exit">Exit with confirmation</item>\n`;
327
+
328
+ xml += ' </menu>\n';
329
+
330
+ return xml;
331
+ }
332
+
333
+ /**
334
+ * Escape XML special characters
335
+ */
336
+ escapeXml(text) {
337
+ if (!text) return '';
338
+ return text
339
+ .replaceAll('&', '&amp;')
340
+ .replaceAll('<', '&lt;')
341
+ .replaceAll('>', '&gt;')
342
+ .replaceAll('"', '&quot;')
343
+ .replaceAll("'", '&apos;');
344
+ }
345
+
346
+ /**
347
+ * Calculate file hash for build tracking
348
+ */
349
+ async calculateFileHash(filePath) {
350
+ if (!(await fs.pathExists(filePath))) {
351
+ return null;
352
+ }
353
+
354
+ const content = await fs.readFile(filePath, 'utf8');
355
+ return crypto.createHash('md5').update(content).digest('hex').slice(0, 8);
356
+ }
357
+
358
+ /**
359
+ * Build agent XML from YAML files and return as string (for in-memory use)
360
+ * @param {string} agentYamlPath - Path to agent YAML
361
+ * @param {string} customizeYamlPath - Path to customize YAML (optional)
362
+ * @param {Object} options - Build options
363
+ * @returns {Promise<string>} XML content as string
364
+ */
365
+ async buildFromYaml(agentYamlPath, customizeYamlPath = null, options = {}) {
366
+ // Load and merge YAML files
367
+ const mergedAgent = await this.loadAndMergeAgent(agentYamlPath, customizeYamlPath);
368
+
369
+ // Calculate hashes for build tracking
370
+ const sourceHash = await this.calculateFileHash(agentYamlPath);
371
+ const customizeHash = customizeYamlPath ? await this.calculateFileHash(customizeYamlPath) : null;
372
+
373
+ // Extract module from path (e.g., /path/to/modules/bmm/agents/pm.yaml -> bmm)
374
+ // or /path/to/bmad/bmm/agents/pm.yaml -> bmm
375
+ let module = 'core'; // default to core
376
+ const pathParts = agentYamlPath.split(path.sep);
377
+
378
+ // Look for module indicators in the path
379
+ const modulesIndex = pathParts.indexOf('modules');
380
+ const bmadIndex = pathParts.indexOf('bmad');
381
+
382
+ if (modulesIndex !== -1 && pathParts[modulesIndex + 1]) {
383
+ // Path contains /modules/{module}/
384
+ module = pathParts[modulesIndex + 1];
385
+ } else if (bmadIndex !== -1 && pathParts[bmadIndex + 1]) {
386
+ // Path contains /bmad/{module}/
387
+ const potentialModule = pathParts[bmadIndex + 1];
388
+ // Check if it's a known module, not 'agents' or '_cfg'
389
+ if (['bmm', 'bmb', 'cis', 'core'].includes(potentialModule)) {
390
+ module = potentialModule;
391
+ }
392
+ }
393
+
394
+ // Build metadata
395
+ const buildMetadata = {
396
+ sourceFile: path.basename(agentYamlPath),
397
+ sourceHash,
398
+ customizeFile: customizeYamlPath ? path.basename(customizeYamlPath) : null,
399
+ customizeHash,
400
+ builderVersion: '1.0.0',
401
+ includeMetadata: options.includeMetadata !== false,
402
+ skipActivation: options.skipActivation === true,
403
+ forWebBundle: options.forWebBundle === true,
404
+ module: module, // Add module to buildMetadata
405
+ };
406
+
407
+ // Convert to XML and return
408
+ return await this.convertToXml(mergedAgent, buildMetadata);
409
+ }
410
+
411
+ /**
412
+ * Build agent XML from YAML files
413
+ * @param {string} agentYamlPath - Path to agent YAML
414
+ * @param {string} customizeYamlPath - Path to customize YAML (optional)
415
+ * @param {string} outputPath - Path to write XML file
416
+ * @param {Object} options - Build options
417
+ */
418
+ async buildAgent(agentYamlPath, customizeYamlPath, outputPath, options = {}) {
419
+ // Use buildFromYaml to get XML content
420
+ const xml = await this.buildFromYaml(agentYamlPath, customizeYamlPath, options);
421
+
422
+ // Write output file
423
+ await fs.ensureDir(path.dirname(outputPath));
424
+ await fs.writeFile(outputPath, xml, 'utf8');
425
+
426
+ // Calculate hashes for return value
427
+ const sourceHash = await this.calculateFileHash(agentYamlPath);
428
+ const customizeHash = customizeYamlPath ? await this.calculateFileHash(customizeYamlPath) : null;
429
+
430
+ return {
431
+ success: true,
432
+ outputPath,
433
+ sourceHash,
434
+ customizeHash,
435
+ };
436
+ }
437
+ }
438
+
439
+ module.exports = { YamlXmlBuilder };
@@ -0,0 +1,28 @@
1
+ const path = require('node:path');
2
+ const { ManifestGenerator } = require('./installers/lib/core/manifest-generator');
3
+
4
+ async function regenerateManifests() {
5
+ const generator = new ManifestGenerator();
6
+ const targetDir = process.argv[2] || 'z1';
7
+ const bmadDir = path.join(process.cwd(), targetDir, 'bmad');
8
+
9
+ // List of modules to include in manifests
10
+ const selectedModules = ['bmb', 'bmm', 'cis'];
11
+
12
+ console.log('Regenerating manifests with relative paths...');
13
+ console.log('Target directory:', bmadDir);
14
+
15
+ try {
16
+ const result = await generator.generateManifests(bmadDir, selectedModules, [], { ides: [] });
17
+ console.log('✓ Manifests generated successfully:');
18
+ console.log(` - ${result.workflows} workflows`);
19
+ console.log(` - ${result.agents} agents`);
20
+ console.log(` - ${result.tasks} tasks`);
21
+ console.log(` - ${result.files} files in files-manifest.csv`);
22
+ } catch (error) {
23
+ console.error('Error generating manifests:', error);
24
+ process.exit(1);
25
+ }
26
+ }
27
+
28
+ regenerateManifests();
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Test script for YAML → XML agent builder
3
+ * Usage: node tools/cli/test-yaml-builder.js
4
+ */
5
+
6
+ const path = require('node:path');
7
+ const { YamlXmlBuilder } = require('./lib/yaml-xml-builder');
8
+ const { getProjectRoot } = require('./lib/project-root');
9
+
10
+ async function test() {
11
+ console.log('Testing YAML → XML Agent Builder\n');
12
+
13
+ const builder = new YamlXmlBuilder();
14
+ const projectRoot = getProjectRoot();
15
+
16
+ // Paths
17
+ const agentYamlPath = path.join(projectRoot, 'src/modules/bmm/agents/pm.agent.yaml');
18
+ const outputPath = path.join(projectRoot, 'test-output-pm.md');
19
+
20
+ console.log(`Source: ${agentYamlPath}`);
21
+ console.log(`Output: ${outputPath}\n`);
22
+
23
+ try {
24
+ const result = await builder.buildAgent(
25
+ agentYamlPath,
26
+ null, // No customize file for this test
27
+ outputPath,
28
+ { includeMetadata: true },
29
+ );
30
+
31
+ console.log('✓ Build successful!');
32
+ console.log(` Output: ${result.outputPath}`);
33
+ console.log(` Source hash: ${result.sourceHash}`);
34
+ console.log('\nGenerated XML file at:', outputPath);
35
+ console.log('Review the output to verify correctness.\n');
36
+ } catch (error) {
37
+ console.error('✗ Build failed:', error.message);
38
+ console.error(error.stack);
39
+ process.exit(1);
40
+ }
41
+ }
42
+
43
+ test();
@@ -6,7 +6,7 @@ const ignore = require('ignore');
6
6
  // These complement .gitignore and are applied regardless of VCS presence.
7
7
  const DEFAULT_PATTERNS = [
8
8
  // Project/VCS
9
- '**/.bmad-core/**',
9
+ '**/.bmad-method/**',
10
10
  '**/.git/**',
11
11
  '**/.svn/**',
12
12
  '**/.hg/**',
@@ -154,11 +154,7 @@ async function parseGitignore(gitignorePath) {
154
154
  async function loadIgnore(rootDir, extraPatterns = []) {
155
155
  const ig = ignore();
156
156
  const gitignorePath = path.join(rootDir, '.gitignore');
157
- const patterns = [
158
- ...(await readIgnoreFile(gitignorePath)),
159
- ...DEFAULT_PATTERNS,
160
- ...extraPatterns,
161
- ];
157
+ const patterns = [...(await readIgnoreFile(gitignorePath)), ...DEFAULT_PATTERNS, ...extraPatterns];
162
158
  // De-duplicate
163
159
  const unique = [...new Set(patterns.map(String))];
164
160
  ig.add(unique);