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,404 @@
1
+ #!/bin/bash
2
+ #
3
+ # File: .claude/hooks/play-tts-elevenlabs.sh
4
+ #
5
+ # AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
6
+ # Website: https://agentvibes.org
7
+ # Repository: https://github.com/paulpreibisch/AgentVibes
8
+ #
9
+ # Co-created by Paul Preibisch with Claude AI
10
+ # Copyright (c) 2025 Paul Preibisch
11
+ #
12
+ # Licensed under the Apache License, Version 2.0 (the "License");
13
+ # you may not use this file except in compliance with the License.
14
+ # You may obtain a copy of the License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the License is distributed on an "AS IS" BASIS,
20
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ # See the License for the specific language governing permissions and
22
+ # limitations under the License.
23
+ #
24
+ # DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
+ # express or implied. Use at your own risk. See the Apache License for details.
26
+ #
27
+ # ---
28
+ #
29
+ # @fileoverview ElevenLabs TTS Provider Implementation - Premium cloud-based TTS
30
+ # @context Provider-specific implementation for ElevenLabs API integration with multilingual support
31
+ # @architecture Part of multi-provider TTS system - implements provider interface contract
32
+ # @dependencies Requires ELEVENLABS_API_KEY, curl, ffmpeg, paplay/aplay/mpg123, jq
33
+ # @entrypoints Called by play-tts.sh router with ($1=text, $2=voice_name) when provider=elevenlabs
34
+ # @patterns Follows provider contract: accept text/voice, output audio file path, API error handling, SSH audio optimization
35
+ # @related play-tts.sh, provider-manager.sh, voices-config.sh, language-manager.sh, GitHub Issue #25
36
+ #
37
+
38
+ # Fix locale warnings
39
+ export LC_ALL=C
40
+
41
+ TEXT="$1"
42
+ VOICE_OVERRIDE="$2" # Optional: voice name or direct voice ID
43
+ API_KEY="${ELEVENLABS_API_KEY}"
44
+
45
+ # Check for project-local pretext configuration
46
+ CONFIG_DIR="${CLAUDE_PROJECT_DIR:-.}/.claude/config"
47
+ CONFIG_FILE="$CONFIG_DIR/agentvibes.json"
48
+
49
+ if [[ -f "$CONFIG_FILE" ]] && command -v jq &> /dev/null; then
50
+ PRETEXT=$(jq -r '.pretext // empty' "$CONFIG_FILE" 2>/dev/null)
51
+ if [[ -n "$PRETEXT" ]]; then
52
+ TEXT="$PRETEXT: $TEXT"
53
+ fi
54
+ fi
55
+
56
+ # Limit text length to prevent API issues (max 500 chars for safety)
57
+ if [ ${#TEXT} -gt 500 ]; then
58
+ TEXT="${TEXT:0:497}..."
59
+ echo "⚠️ Text truncated to 500 characters for API safety"
60
+ fi
61
+
62
+ # Source the single voice configuration file
63
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
64
+ source "$SCRIPT_DIR/voices-config.sh"
65
+ source "$SCRIPT_DIR/language-manager.sh"
66
+
67
+ # @function determine_voice_and_language
68
+ # @intent Resolve voice name/ID and language for multilingual support
69
+ # @why Supports both voice names and direct IDs, plus language-specific voices
70
+ # @param $VOICE_OVERRIDE {string} Voice name or ID (optional)
71
+ # @returns Sets $VOICE_ID and $LANGUAGE_CODE global variables
72
+ # @sideeffects None
73
+ # @edgecases Handles unknown voices, falls back to default
74
+ VOICE_ID=""
75
+ LANGUAGE_CODE="en" # Default to English
76
+
77
+ # Get current language setting
78
+ CURRENT_LANGUAGE=$(get_language_code)
79
+
80
+ # Get language code for API
81
+ # ElevenLabs uses 2-letter ISO codes
82
+ case "$CURRENT_LANGUAGE" in
83
+ spanish) LANGUAGE_CODE="es" ;;
84
+ french) LANGUAGE_CODE="fr" ;;
85
+ german) LANGUAGE_CODE="de" ;;
86
+ italian) LANGUAGE_CODE="it" ;;
87
+ portuguese) LANGUAGE_CODE="pt" ;;
88
+ chinese) LANGUAGE_CODE="zh" ;;
89
+ japanese) LANGUAGE_CODE="ja" ;;
90
+ korean) LANGUAGE_CODE="ko" ;;
91
+ russian) LANGUAGE_CODE="ru" ;;
92
+ polish) LANGUAGE_CODE="pl" ;;
93
+ dutch) LANGUAGE_CODE="nl" ;;
94
+ turkish) LANGUAGE_CODE="tr" ;;
95
+ arabic) LANGUAGE_CODE="ar" ;;
96
+ hindi) LANGUAGE_CODE="hi" ;;
97
+ swedish) LANGUAGE_CODE="sv" ;;
98
+ danish) LANGUAGE_CODE="da" ;;
99
+ norwegian) LANGUAGE_CODE="no" ;;
100
+ finnish) LANGUAGE_CODE="fi" ;;
101
+ czech) LANGUAGE_CODE="cs" ;;
102
+ romanian) LANGUAGE_CODE="ro" ;;
103
+ ukrainian) LANGUAGE_CODE="uk" ;;
104
+ greek) LANGUAGE_CODE="el" ;;
105
+ bulgarian) LANGUAGE_CODE="bg" ;;
106
+ croatian) LANGUAGE_CODE="hr" ;;
107
+ slovak) LANGUAGE_CODE="sk" ;;
108
+ english|*) LANGUAGE_CODE="en" ;;
109
+ esac
110
+
111
+ if [[ -n "$VOICE_OVERRIDE" ]]; then
112
+ # Check if override is a voice name (lookup in mapping)
113
+ if [[ -n "${VOICES[$VOICE_OVERRIDE]}" ]]; then
114
+ VOICE_ID="${VOICES[$VOICE_OVERRIDE]}"
115
+ echo "🎤 Using voice: $VOICE_OVERRIDE (session-specific)"
116
+ # Check if override looks like a voice ID (alphanumeric string ~20 chars)
117
+ elif [[ "$VOICE_OVERRIDE" =~ ^[a-zA-Z0-9]{15,30}$ ]]; then
118
+ VOICE_ID="$VOICE_OVERRIDE"
119
+ echo "🎤 Using custom voice ID (session-specific)"
120
+ else
121
+ echo "⚠️ Unknown voice '$VOICE_OVERRIDE', trying language-specific voice"
122
+ fi
123
+ fi
124
+
125
+ # If no override or invalid override, use language-specific voice
126
+ if [[ -z "$VOICE_ID" ]]; then
127
+ # Try to get voice for current language
128
+ LANG_VOICE=$(get_voice_for_language "$CURRENT_LANGUAGE" "elevenlabs" 2>/dev/null)
129
+
130
+ if [[ -n "$LANG_VOICE" ]] && [[ -n "${VOICES[$LANG_VOICE]}" ]]; then
131
+ VOICE_ID="${VOICES[$LANG_VOICE]}"
132
+ echo "🌍 Using $CURRENT_LANGUAGE voice: $LANG_VOICE"
133
+ else
134
+ # Fall back to voice manager
135
+ VOICE_MANAGER_SCRIPT="$(dirname "$0")/voice-manager.sh"
136
+ if [[ -f "$VOICE_MANAGER_SCRIPT" ]]; then
137
+ VOICE_NAME=$("$VOICE_MANAGER_SCRIPT" get)
138
+ VOICE_ID="${VOICES[$VOICE_NAME]}"
139
+ fi
140
+
141
+ # Final fallback to default
142
+ if [[ -z "$VOICE_ID" ]]; then
143
+ echo "⚠️ No voice configured, using default"
144
+ VOICE_ID="${VOICES[Aria]}"
145
+ fi
146
+ fi
147
+ fi
148
+
149
+ # @function validate_inputs
150
+ # @intent Check required parameters and API key
151
+ # @why Fail fast with clear errors if inputs missing
152
+ # @exitcode 1=missing text, 2=missing API key
153
+ if [ -z "$TEXT" ]; then
154
+ echo "Usage: $0 \"text to speak\" [voice_name_or_id]"
155
+ exit 1
156
+ fi
157
+
158
+ if [ -z "$API_KEY" ]; then
159
+ echo "Error: ELEVENLABS_API_KEY not set"
160
+ echo "Set your API key: export ELEVENLABS_API_KEY=your_key_here"
161
+ exit 2
162
+ fi
163
+
164
+ # @function determine_audio_directory
165
+ # @intent Find appropriate directory for audio file storage
166
+ # @why Supports project-local and global storage
167
+ # @returns Sets $AUDIO_DIR global variable
168
+ # @sideeffects None
169
+ # @edgecases Handles missing directories, creates if needed
170
+ # AI NOTE: Check project dir first, then search up tree, finally fall back to global
171
+ if [[ -n "$CLAUDE_PROJECT_DIR" ]]; then
172
+ AUDIO_DIR="$CLAUDE_PROJECT_DIR/.claude/audio"
173
+ else
174
+ # Fallback: try to find .claude directory in current path
175
+ CURRENT_DIR="$PWD"
176
+ while [[ "$CURRENT_DIR" != "/" ]]; do
177
+ if [[ -d "$CURRENT_DIR/.claude" ]]; then
178
+ AUDIO_DIR="$CURRENT_DIR/.claude/audio"
179
+ break
180
+ fi
181
+ CURRENT_DIR=$(dirname "$CURRENT_DIR")
182
+ done
183
+ # Final fallback to global if no project .claude found
184
+ if [[ -z "$AUDIO_DIR" ]]; then
185
+ AUDIO_DIR="$HOME/.claude/audio"
186
+ fi
187
+ fi
188
+
189
+ mkdir -p "$AUDIO_DIR"
190
+ TEMP_FILE="$AUDIO_DIR/tts-$(date +%s).mp3"
191
+
192
+ # @function synthesize_with_elevenlabs
193
+ # @intent Call ElevenLabs API to generate speech
194
+ # @why Encapsulates API call with error handling
195
+ # @param Uses globals: $TEXT, $VOICE_ID, $API_KEY
196
+ # @returns Creates audio file at $TEMP_FILE
197
+ # @exitcode 0=success, 3=API error
198
+ # @sideeffects Creates MP3 file in audio directory
199
+ # @edgecases Handles network failures, API errors, rate limiting
200
+ # Choose model based on language
201
+ if [[ "$LANGUAGE_CODE" == "en" ]]; then
202
+ MODEL_ID="eleven_monolingual_v1"
203
+ else
204
+ MODEL_ID="eleven_multilingual_v2"
205
+ fi
206
+
207
+ # @function get_speech_speed
208
+ # @intent Read speed config and map to ElevenLabs API range (0.7-1.2)
209
+ # @why ElevenLabs only supports 0.7 (slower) to 1.2 (faster), must map user scale
210
+ # @returns Speed value for ElevenLabs API (clamped to 0.7-1.2)
211
+ get_speech_speed() {
212
+ local config_dir=""
213
+
214
+ # Determine config directory
215
+ if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
216
+ config_dir="$CLAUDE_PROJECT_DIR/.claude/config"
217
+ else
218
+ # Try to find .claude in current path
219
+ local current_dir="$PWD"
220
+ while [[ "$current_dir" != "/" ]]; do
221
+ if [[ -d "$current_dir/.claude" ]]; then
222
+ config_dir="$current_dir/.claude/config"
223
+ break
224
+ fi
225
+ current_dir=$(dirname "$current_dir")
226
+ done
227
+ # Fallback to global
228
+ if [[ -z "$config_dir" ]]; then
229
+ config_dir="$HOME/.claude/config"
230
+ fi
231
+ fi
232
+
233
+ local main_speed_file="$config_dir/tts-speech-rate.txt"
234
+ local target_speed_file="$config_dir/tts-target-speech-rate.txt"
235
+
236
+ # Legacy file paths for backward compatibility
237
+ local legacy_main_speed_file="$config_dir/piper-speech-rate.txt"
238
+ local legacy_target_speed_file="$config_dir/piper-target-speech-rate.txt"
239
+
240
+ local user_speed="1.0"
241
+
242
+ # If this is a non-English voice and target config exists, use it
243
+ if [[ "$CURRENT_LANGUAGE" != "english" ]]; then
244
+ if [[ -f "$target_speed_file" ]]; then
245
+ user_speed=$(cat "$target_speed_file" 2>/dev/null || echo "1.0")
246
+ elif [[ -f "$legacy_target_speed_file" ]]; then
247
+ user_speed=$(cat "$legacy_target_speed_file" 2>/dev/null || echo "1.0")
248
+ else
249
+ user_speed="0.5" # Default slower for learning
250
+ fi
251
+ else
252
+ # Otherwise use main config if available
253
+ if [[ -f "$main_speed_file" ]]; then
254
+ user_speed=$(grep -v '^#' "$main_speed_file" 2>/dev/null | grep -v '^$' | tail -1 || echo "1.0")
255
+ elif [[ -f "$legacy_main_speed_file" ]]; then
256
+ user_speed=$(grep -v '^#' "$legacy_main_speed_file" 2>/dev/null | grep -v '^$' | tail -1 || echo "1.0")
257
+ fi
258
+ fi
259
+
260
+ # Map user scale (0.5=slower, 1.0=normal, 2.0=faster, 3.0=very fast)
261
+ # to ElevenLabs range (0.7=slower, 1.0=normal, 1.2=faster)
262
+ # Formula: elevenlabs_speed = 0.7 + (user_speed - 0.5) * 0.2
263
+ # This maps: 0.5→0.7, 1.0→0.8, 2.0→1.0, 3.0→1.2
264
+ # Actually, let's use a better mapping:
265
+ # 0.5x → 0.7 (slowest ElevenLabs)
266
+ # 1.0x → 1.0 (normal)
267
+ # 2.0x → 1.15
268
+ # 3.0x → 1.2 (fastest ElevenLabs)
269
+
270
+ if command -v bc &> /dev/null; then
271
+ local eleven_speed
272
+ if (( $(echo "$user_speed <= 0.5" | bc -l) )); then
273
+ eleven_speed="0.7"
274
+ elif (( $(echo "$user_speed >= 3.0" | bc -l) )); then
275
+ eleven_speed="1.2"
276
+ elif (( $(echo "$user_speed <= 1.0" | bc -l) )); then
277
+ # Map 0.5-1.0 to 0.7-1.0
278
+ eleven_speed=$(echo "scale=2; 0.7 + ($user_speed - 0.5) * 0.6" | bc -l)
279
+ else
280
+ # Map 1.0-3.0 to 1.0-1.2
281
+ eleven_speed=$(echo "scale=2; 1.0 + ($user_speed - 1.0) * 0.1" | bc -l)
282
+ fi
283
+ echo "$eleven_speed"
284
+ else
285
+ # Fallback without bc: just clamp to safe values
286
+ if (( $(awk 'BEGIN {print ("'$user_speed'" <= 0.5)}') )); then
287
+ echo "0.7"
288
+ elif (( $(awk 'BEGIN {print ("'$user_speed'" >= 2.0)}') )); then
289
+ echo "1.2"
290
+ else
291
+ echo "1.0"
292
+ fi
293
+ fi
294
+ }
295
+
296
+ SPEECH_SPEED=$(get_speech_speed)
297
+
298
+ # Build JSON payload with jq for proper escaping
299
+ PAYLOAD=$(jq -n \
300
+ --arg text "$TEXT" \
301
+ --arg model "$MODEL_ID" \
302
+ --arg lang "$LANGUAGE_CODE" \
303
+ --argjson speed "$SPEECH_SPEED" \
304
+ '{
305
+ text: $text,
306
+ model_id: $model,
307
+ language_code: $lang,
308
+ voice_settings: {
309
+ stability: 0.5,
310
+ similarity_boost: 0.75,
311
+ speed: $speed
312
+ }
313
+ }')
314
+
315
+ curl -s -X POST "https://api.elevenlabs.io/v1/text-to-speech/${VOICE_ID}" \
316
+ -H "xi-api-key: ${API_KEY}" \
317
+ -H "Content-Type: application/json" \
318
+ -d "$PAYLOAD" \
319
+ -o "${TEMP_FILE}"
320
+
321
+ # @function add_silence_padding
322
+ # @intent Add silence to beginning of audio to prevent WSL static
323
+ # @why WSL audio subsystem cuts off first ~200ms, causing static/clipping
324
+ # @param Uses global: $TEMP_FILE
325
+ # @returns Updates $TEMP_FILE to padded version
326
+ # @sideeffects Modifies audio file, removes original
327
+ # @edgecases Gracefully falls back to unpadded if ffmpeg unavailable
328
+ # Add silence padding to prevent WSL audio static
329
+ if [ -f "${TEMP_FILE}" ]; then
330
+ # Check if ffmpeg is available for adding padding
331
+ if command -v ffmpeg &> /dev/null; then
332
+ PADDED_FILE="$AUDIO_DIR/tts-padded-$(date +%s).mp3"
333
+ # Add 200ms of silence at the beginning to prevent static
334
+ # Note: ElevenLabs returns mono audio, so we use mono silence
335
+ ffmpeg -f lavfi -i anullsrc=r=44100:cl=mono:d=0.2 -i "${TEMP_FILE}" \
336
+ -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1[out]" \
337
+ -map "[out]" -c:a libmp3lame -b:a 128k -y "${PADDED_FILE}" 2>/dev/null
338
+
339
+ if [ -f "${PADDED_FILE}" ]; then
340
+ # Use padded file and clean up original
341
+ rm -f "${TEMP_FILE}"
342
+ TEMP_FILE="${PADDED_FILE}"
343
+ fi
344
+ # If padding failed, just use original file
345
+ fi
346
+
347
+ # @function play_audio
348
+ # @intent Play generated audio file using available player with sequential playback
349
+ # @why Support multiple audio players and prevent overlapping audio in learning mode
350
+ # @param Uses global: $TEMP_FILE, $CURRENT_LANGUAGE
351
+ # @sideeffects Plays audio with lock mechanism for sequential playback
352
+ # @edgecases Falls through players until one works
353
+ LOCK_FILE="/tmp/agentvibes-audio.lock"
354
+
355
+ # Wait for previous audio to finish (max 30 seconds)
356
+ for i in {1..60}; do
357
+ if [ ! -f "$LOCK_FILE" ]; then
358
+ break
359
+ fi
360
+ sleep 0.5
361
+ done
362
+
363
+ # Track last target language audio for replay command
364
+ if [[ "$CURRENT_LANGUAGE" != "english" ]]; then
365
+ TARGET_AUDIO_FILE="${CLAUDE_PROJECT_DIR:-.}/.claude/last-target-audio.txt"
366
+ echo "${TEMP_FILE}" > "$TARGET_AUDIO_FILE"
367
+ fi
368
+
369
+ # Create lock and play audio
370
+ touch "$LOCK_FILE"
371
+
372
+ # Get audio duration for proper lock timing
373
+ DURATION=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "${TEMP_FILE}" 2>/dev/null)
374
+ DURATION=${DURATION%.*} # Round to integer
375
+ DURATION=${DURATION:-1} # Default to 1 second if detection fails
376
+
377
+ # Convert to 48kHz stereo WAV for better SSH tunnel compatibility
378
+ # ElevenLabs returns 44.1kHz mono MP3, which causes static over SSH audio tunnels
379
+ # Converting to 48kHz stereo (Windows/PulseAudio native format) eliminates the static
380
+ if [[ -n "$SSH_CONNECTION" ]] || [[ -n "$SSH_CLIENT" ]] || [[ -n "$VSCODE_IPC_HOOK_CLI" ]]; then
381
+ CONVERTED_FILE="${TEMP_FILE%.mp3}.wav"
382
+ if ffmpeg -i "${TEMP_FILE}" -ar 48000 -ac 2 "${CONVERTED_FILE}" -y 2>/dev/null; then
383
+ TEMP_FILE="${CONVERTED_FILE}"
384
+ fi
385
+ fi
386
+
387
+ # Play audio (WSL/Linux) in background to avoid blocking, fully detached (skip if in test mode)
388
+ if [[ "${AGENTVIBES_TEST_MODE:-false}" != "true" ]]; then
389
+ (paplay "${TEMP_FILE}" || aplay "${TEMP_FILE}" || mpg123 "${TEMP_FILE}") >/dev/null 2>&1 &
390
+ PLAYER_PID=$!
391
+ fi
392
+
393
+ # Wait for audio to finish, then release lock
394
+ (sleep $DURATION; rm -f "$LOCK_FILE") &
395
+ disown
396
+
397
+ # Keep temp files for later review - cleaned up weekly by cron
398
+ echo "🎵 Saved to: ${TEMP_FILE}"
399
+ echo "🎤 Voice used: ${VOICE_NAME} (${VOICE_ID})"
400
+ else
401
+ echo "❌ Failed to generate audio - API may be unavailable"
402
+ echo "Check your API key and network connection"
403
+ exit 3
404
+ fi