bmad-method 6.0.0-alpha.0 → 6.0.0-alpha.2

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 (788) 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/ISSUE_TEMPLATE/config.yaml +4 -0
  46. package/.github/ISSUE_TEMPLATE/idea_submission.md +2 -2
  47. package/.github/workflows/{format-check.yaml → lint.yaml} +19 -1
  48. package/.prettierignore +2 -0
  49. package/CHANGELOG.md +8 -2
  50. package/CONTRIBUTING.md +1 -0
  51. package/README.md +263 -0
  52. package/bmad/_cfg/agent-manifest.csv +7 -0
  53. package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +42 -0
  54. package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +32 -0
  55. package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +42 -0
  56. package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +42 -0
  57. package/bmad/_cfg/agents/core-bmad-master.customize.yaml +42 -0
  58. package/bmad/_cfg/files-manifest.csv +83 -0
  59. package/bmad/_cfg/manifest.yaml +12 -0
  60. package/bmad/_cfg/task-manifest.csv +5 -0
  61. package/bmad/_cfg/tool-manifest.csv +2 -0
  62. package/bmad/_cfg/workflow-manifest.csv +15 -0
  63. package/bmad/bmb/README.md +132 -0
  64. package/bmad/bmb/agents/bmad-builder.md +70 -0
  65. package/bmad/bmb/config.yaml +14 -0
  66. package/bmad/bmb/workflows/audit-workflow/checklist.md +143 -0
  67. package/bmad/bmb/workflows/audit-workflow/instructions.md +341 -0
  68. package/bmad/bmb/workflows/audit-workflow/template.md +118 -0
  69. package/bmad/bmb/workflows/audit-workflow/workflow.yaml +23 -0
  70. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +21 -0
  71. package/bmad/bmb/workflows/convert-legacy/README.md +262 -0
  72. package/bmad/bmb/workflows/convert-legacy/checklist.md +205 -0
  73. package/bmad/bmb/workflows/convert-legacy/instructions.md +377 -0
  74. package/bmad/bmb/workflows/convert-legacy/workflow.yaml +32 -0
  75. package/bmad/bmb/workflows/create-agent/README.md +320 -0
  76. package/bmad/bmb/workflows/create-agent/agent-architecture.md +419 -0
  77. package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +412 -0
  78. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +759 -0
  79. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +759 -0
  80. package/bmad/bmb/workflows/create-agent/agent-types.md +292 -0
  81. package/bmad/bmb/workflows/create-agent/brainstorm-context.md +174 -0
  82. package/bmad/bmb/workflows/create-agent/checklist.md +62 -0
  83. package/bmad/bmb/workflows/create-agent/communication-styles.md +202 -0
  84. package/bmad/bmb/workflows/create-agent/instructions.md +430 -0
  85. package/bmad/bmb/workflows/create-agent/workflow.yaml +37 -0
  86. package/bmad/bmb/workflows/create-module/README.md +220 -0
  87. package/bmad/bmb/workflows/create-module/README.md.bak +218 -0
  88. package/bmad/bmb/workflows/create-module/brainstorm-context.md +137 -0
  89. package/bmad/bmb/workflows/create-module/checklist.md +244 -0
  90. package/bmad/bmb/workflows/create-module/checklist.md.bak +245 -0
  91. package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
  92. package/bmad/bmb/workflows/create-module/installer-templates/installer.js +231 -0
  93. package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +231 -0
  94. package/bmad/bmb/workflows/create-module/instructions.md +581 -0
  95. package/bmad/bmb/workflows/create-module/instructions.md.bak +521 -0
  96. package/bmad/bmb/workflows/create-module/module-structure.md +366 -0
  97. package/bmad/bmb/workflows/create-module/module-structure.md.bak +310 -0
  98. package/bmad/bmb/workflows/create-module/workflow.yaml +42 -0
  99. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +40 -0
  100. package/bmad/bmb/workflows/create-workflow/README.md +277 -0
  101. package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +197 -0
  102. package/bmad/bmb/workflows/create-workflow/checklist.md +94 -0
  103. package/bmad/bmb/workflows/create-workflow/instructions.md +716 -0
  104. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +1150 -0
  105. package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +24 -0
  106. package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +13 -0
  107. package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +9 -0
  108. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +39 -0
  109. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +39 -0
  110. package/bmad/bmb/workflows/create-workflow/workflow.yaml +40 -0
  111. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +38 -0
  112. package/bmad/bmb/workflows/edit-agent/README.md +112 -0
  113. package/bmad/bmb/workflows/edit-agent/checklist.md +112 -0
  114. package/bmad/bmb/workflows/edit-agent/instructions.md +290 -0
  115. package/bmad/bmb/workflows/edit-agent/workflow.yaml +33 -0
  116. package/bmad/bmb/workflows/edit-module/README.md +187 -0
  117. package/bmad/bmb/workflows/edit-module/checklist.md +165 -0
  118. package/bmad/bmb/workflows/edit-module/instructions.md +339 -0
  119. package/bmad/bmb/workflows/edit-module/workflow.yaml +34 -0
  120. package/bmad/bmb/workflows/edit-workflow/README.md +119 -0
  121. package/bmad/bmb/workflows/edit-workflow/checklist.md +70 -0
  122. package/bmad/bmb/workflows/edit-workflow/instructions.md +342 -0
  123. package/bmad/bmb/workflows/edit-workflow/workflow.yaml +27 -0
  124. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +25 -0
  125. package/bmad/bmb/workflows/module-brief/README.md +264 -0
  126. package/bmad/bmb/workflows/module-brief/checklist.md +116 -0
  127. package/bmad/bmb/workflows/module-brief/instructions.md +267 -0
  128. package/bmad/bmb/workflows/module-brief/template.md +275 -0
  129. package/bmad/bmb/workflows/module-brief/workflow.yaml +29 -0
  130. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +27 -0
  131. package/bmad/bmb/workflows/redoc/README.md +87 -0
  132. package/bmad/bmb/workflows/redoc/checklist.md +99 -0
  133. package/bmad/bmb/workflows/redoc/instructions.md +265 -0
  134. package/bmad/bmb/workflows/redoc/workflow.yaml +32 -0
  135. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +31 -0
  136. package/bmad/bmd/README.md +193 -0
  137. package/bmad/bmd/README.md.bak +193 -0
  138. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
  139. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +102 -0
  140. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
  141. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +68 -0
  142. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
  143. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +123 -0
  144. package/bmad/bmd/agents/cli-chief-sidecar/memories.md +53 -0
  145. package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +53 -0
  146. package/bmad/bmd/agents/cli-chief.md +108 -0
  147. package/bmad/bmd/agents/cli-chief.md.bak +108 -0
  148. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
  149. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +177 -0
  150. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
  151. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +81 -0
  152. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
  153. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +88 -0
  154. package/bmad/bmd/agents/doc-keeper.md +115 -0
  155. package/bmad/bmd/agents/doc-keeper.md.bak +115 -0
  156. package/bmad/bmd/agents/release-chief-sidecar/instructions.md +164 -0
  157. package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +164 -0
  158. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
  159. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +82 -0
  160. package/bmad/bmd/agents/release-chief-sidecar/memories.md +73 -0
  161. package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +73 -0
  162. package/bmad/bmd/agents/release-chief.md +109 -0
  163. package/bmad/bmd/agents/release-chief.md.bak +109 -0
  164. package/bmad/bmd/config.yaml +10 -0
  165. package/bmad/core/agents/bmad-master.md +71 -0
  166. package/bmad/core/agents/bmad-web-orchestrator.agent.xml +122 -0
  167. package/bmad/core/config.yaml +9 -0
  168. package/bmad/core/tasks/adv-elicit-methods.csv +39 -0
  169. package/{src/core/tasks/adv-elicit.md → bmad/core/tasks/adv-elicit.xml} +6 -11
  170. package/{src/core/tasks/index-docs.md → bmad/core/tasks/index-docs.xml} +6 -10
  171. package/{src/core/tasks/validate-workflow.md → bmad/core/tasks/validate-workflow.xml} +4 -7
  172. package/bmad/core/tasks/workflow.xml +174 -0
  173. package/bmad/core/tools/shard-doc.xml +100 -0
  174. package/{src/modules/cis → bmad/core}/workflows/brainstorming/README.md +2 -2
  175. package/{src/modules/cis → bmad/core}/workflows/brainstorming/instructions.md +26 -22
  176. package/{src/modules/cis → bmad/core}/workflows/brainstorming/template.md +2 -2
  177. package/{src/modules/cis → bmad/core}/workflows/brainstorming/workflow.yaml +16 -3
  178. package/bmad/core/workflows/party-mode/instructions.md +188 -0
  179. package/bmad/core/workflows/party-mode/workflow.yaml +23 -0
  180. package/bmad/docs/claude-code-instructions.md +25 -0
  181. package/bmad/docs/codex-instructions.md +21 -0
  182. package/bmd/README.md +193 -0
  183. package/bmd/agents/cli-chief-sidecar/instructions.md +102 -0
  184. package/bmd/agents/cli-chief-sidecar/knowledge/README.md +68 -0
  185. package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +123 -0
  186. package/bmd/agents/cli-chief-sidecar/memories.md +53 -0
  187. package/bmd/agents/cli-chief.agent.yaml +126 -0
  188. package/bmd/agents/doc-keeper-sidecar/instructions.md +177 -0
  189. package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +81 -0
  190. package/bmd/agents/doc-keeper-sidecar/memories.md +88 -0
  191. package/bmd/agents/doc-keeper.agent.yaml +137 -0
  192. package/bmd/agents/release-chief-sidecar/instructions.md +164 -0
  193. package/bmd/agents/release-chief-sidecar/knowledge/README.md +82 -0
  194. package/bmd/agents/release-chief-sidecar/memories.md +73 -0
  195. package/bmd/agents/release-chief.agent.yaml +127 -0
  196. package/bmd/bmad-custom-module-installer-plan.md +1176 -0
  197. package/bmd/config.yaml +12 -0
  198. package/docs/bmad-brownfield-guide.md +1260 -0
  199. package/docs/conversion-report-shard-doc-2025-10-26.md +188 -0
  200. package/docs/ide-info/auggie.md +2 -2
  201. package/docs/ide-info/claude-code.md +4 -4
  202. package/docs/ide-info/codex.md +9 -20
  203. package/docs/ide-info/opencode.md +24 -0
  204. package/docs/installers-bundlers/ide-injections.md +0 -10
  205. package/docs/installers-bundlers/installers-modules-platforms-reference.md +22 -50
  206. package/docs/v4-to-v6-upgrade.md +225 -0
  207. package/eslint.config.mjs +4 -2
  208. package/package.json +11 -6
  209. package/src/core/_module-installer/{install-menu-config.yaml → install-config.yaml} +8 -4
  210. package/src/core/_module-installer/installer.js +1 -1
  211. package/src/core/agents/bmad-master.agent.yaml +39 -0
  212. package/src/core/agents/bmad-web-orchestrator.agent.xml +122 -0
  213. package/src/core/tasks/adv-elicit.xml +104 -0
  214. package/src/core/tasks/index-docs.xml +65 -0
  215. package/src/core/tasks/validate-workflow.xml +89 -0
  216. package/src/core/tasks/{workflow.md → workflow.xml} +42 -17
  217. package/src/core/tools/shard-doc.xml +100 -0
  218. package/src/core/workflows/brainstorming/README.md +271 -0
  219. package/src/core/workflows/brainstorming/brain-methods.csv +36 -0
  220. package/src/core/workflows/brainstorming/instructions.md +314 -0
  221. package/src/core/workflows/brainstorming/template.md +102 -0
  222. package/src/core/workflows/brainstorming/workflow.yaml +43 -0
  223. package/src/core/workflows/party-mode/instructions.md +30 -23
  224. package/src/core/workflows/party-mode/workflow.yaml +7 -8
  225. package/src/modules/bmb/README.md +132 -0
  226. package/src/modules/bmb/_module-installer/install-config.yaml +26 -0
  227. package/src/modules/bmb/agents/bmad-builder.agent.yaml +58 -0
  228. package/src/modules/bmb/workflows/audit-workflow/checklist.md +143 -0
  229. package/src/modules/bmb/workflows/audit-workflow/instructions.md +341 -0
  230. package/src/modules/bmb/workflows/audit-workflow/template.md +118 -0
  231. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +25 -0
  232. package/src/modules/bmb/workflows/convert-legacy/README.md +32 -32
  233. package/src/modules/bmb/workflows/convert-legacy/checklist.md +21 -20
  234. package/src/modules/bmb/workflows/convert-legacy/instructions.md +130 -81
  235. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +7 -8
  236. package/src/modules/bmb/workflows/create-agent/README.md +96 -44
  237. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +58 -51
  238. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +153 -151
  239. package/src/modules/bmb/workflows/create-agent/agent-types.md +137 -22
  240. package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +4 -4
  241. package/src/modules/bmb/workflows/create-agent/checklist.md +30 -102
  242. package/src/modules/bmb/workflows/create-agent/communication-styles.md +22 -60
  243. package/src/modules/bmb/workflows/create-agent/instructions.md +309 -219
  244. package/src/modules/bmb/workflows/create-agent/workflow.yaml +24 -14
  245. package/src/modules/bmb/workflows/create-module/README.md +23 -21
  246. package/src/modules/bmb/workflows/create-module/brainstorm-context.md +1 -1
  247. package/src/modules/bmb/workflows/create-module/checklist.md +20 -21
  248. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +92 -0
  249. package/src/modules/bmb/workflows/create-module/installer-templates/installer.js +1 -1
  250. package/src/modules/bmb/workflows/create-module/instructions.md +309 -237
  251. package/src/modules/bmb/workflows/create-module/module-structure.md +104 -48
  252. package/src/modules/bmb/workflows/create-module/workflow.yaml +14 -17
  253. package/src/modules/bmb/workflows/create-workflow/README.md +68 -7
  254. package/src/modules/bmb/workflows/create-workflow/brainstorm-context.md +4 -4
  255. package/src/modules/bmb/workflows/create-workflow/checklist.md +22 -0
  256. package/src/modules/bmb/workflows/create-workflow/instructions.md +496 -47
  257. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +753 -59
  258. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +4 -3
  259. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +30 -0
  260. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +11 -11
  261. package/src/modules/bmb/workflows/edit-agent/README.md +112 -0
  262. package/src/modules/bmb/workflows/edit-agent/checklist.md +112 -0
  263. package/src/modules/bmb/workflows/edit-agent/instructions.md +290 -0
  264. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +35 -0
  265. package/src/modules/bmb/workflows/edit-module/README.md +187 -0
  266. package/src/modules/bmb/workflows/edit-module/checklist.md +165 -0
  267. package/src/modules/bmb/workflows/edit-module/instructions.md +339 -0
  268. package/src/modules/bmb/workflows/edit-module/workflow.yaml +36 -0
  269. package/src/modules/bmb/workflows/edit-workflow/README.md +58 -2
  270. package/src/modules/bmb/workflows/edit-workflow/instructions.md +289 -117
  271. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +5 -10
  272. package/src/modules/bmb/workflows/module-brief/README.md +16 -16
  273. package/src/modules/bmb/workflows/module-brief/checklist.md +4 -4
  274. package/src/modules/bmb/workflows/module-brief/instructions.md +9 -7
  275. package/src/modules/bmb/workflows/module-brief/template.md +9 -9
  276. package/src/modules/bmb/workflows/module-brief/workflow.yaml +5 -4
  277. package/src/modules/bmb/workflows/redoc/checklist.md +2 -2
  278. package/src/modules/bmb/workflows/redoc/instructions.md +20 -10
  279. package/src/modules/bmb/workflows/redoc/workflow.yaml +5 -4
  280. package/src/modules/bmm/README.md +141 -0
  281. package/src/modules/bmm/_module-installer/install-config.yaml +74 -0
  282. package/src/modules/bmm/_module-installer/installer.js +1 -1
  283. package/src/modules/bmm/_module-installer/platform-specifics/claude-code.js +1 -1
  284. package/src/modules/bmm/_module-installer/platform-specifics/windsurf.js +1 -1
  285. package/src/modules/bmm/agents/analyst.agent.yaml +43 -0
  286. package/src/modules/bmm/agents/architect.agent.yaml +41 -0
  287. package/src/modules/bmm/agents/dev.agent.yaml +43 -0
  288. package/src/modules/bmm/agents/game-architect.agent.yaml +35 -0
  289. package/src/modules/bmm/agents/game-designer.agent.yaml +47 -0
  290. package/src/modules/bmm/agents/game-dev.agent.yaml +39 -0
  291. package/src/modules/bmm/agents/pm.agent.yaml +50 -0
  292. package/src/modules/bmm/agents/sm.agent.yaml +67 -0
  293. package/src/modules/bmm/agents/tea.agent.yaml +59 -0
  294. package/src/modules/bmm/agents/ux-designer.agent.yaml +33 -0
  295. package/src/modules/bmm/sub-modules/claude-code/injections.yaml +1 -1
  296. package/src/modules/bmm/sub-modules/claude-code/readme.md +1 -1
  297. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{api-documenter.md → bmad-analysis/api-documenter.md} +17 -0
  298. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{codebase-analyzer.md → bmad-analysis/codebase-analyzer.md} +19 -1
  299. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{data-analyst.md → bmad-analysis/data-analyst.md} +17 -0
  300. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{pattern-detector.md → bmad-analysis/pattern-detector.md} +17 -0
  301. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{dependency-mapper.md → bmad-planning/dependency-mapper.md} +16 -0
  302. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{epic-optimizer.md → bmad-planning/epic-optimizer.md} +15 -0
  303. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{technical-decisions-curator.md → bmad-planning/technical-decisions-curator.md} +24 -2
  304. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{trend-spotter.md → bmad-planning/trend-spotter.md} +16 -0
  305. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{user-journey-mapper.md → bmad-planning/user-journey-mapper.md} +22 -0
  306. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{user-researcher.md → bmad-planning/user-researcher.md} +16 -0
  307. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{market-researcher.md → bmad-research/market-researcher.md} +17 -0
  308. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{tech-debt-auditor.md → bmad-research/tech-debt-auditor.md} +17 -0
  309. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{document-reviewer.md → bmad-review/document-reviewer.md} +17 -0
  310. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{technical-evaluator.md → bmad-review/technical-evaluator.md} +17 -0
  311. package/src/modules/bmm/sub-modules/claude-code/sub-agents/{test-coverage-analyzer.md → bmad-review/test-coverage-analyzer.md} +17 -0
  312. package/src/modules/bmm/tasks/{daily-standup.md → daily-standup.xml} +21 -27
  313. package/src/modules/bmm/tasks/{retrospective.md → retrospective.xml} +22 -28
  314. package/src/modules/bmm/teams/team-fullstack.yaml +11 -0
  315. package/src/modules/bmm/teams/team-gamedev.yaml +5 -0
  316. package/src/modules/bmm/testarch/README.md +311 -0
  317. package/src/modules/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  318. package/src/modules/bmm/testarch/knowledge/component-tdd.md +486 -0
  319. package/src/modules/bmm/testarch/knowledge/contract-testing.md +957 -0
  320. package/src/modules/bmm/testarch/knowledge/data-factories.md +500 -0
  321. package/src/modules/bmm/testarch/knowledge/email-auth.md +721 -0
  322. package/src/modules/bmm/testarch/knowledge/error-handling.md +725 -0
  323. package/src/modules/bmm/testarch/knowledge/feature-flags.md +750 -0
  324. package/src/modules/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  325. package/src/modules/bmm/testarch/knowledge/network-first.md +486 -0
  326. package/src/modules/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  327. package/src/modules/bmm/testarch/knowledge/playwright-config.md +730 -0
  328. package/src/modules/bmm/testarch/knowledge/probability-impact.md +601 -0
  329. package/src/modules/bmm/testarch/knowledge/risk-governance.md +615 -0
  330. package/src/modules/bmm/testarch/knowledge/selective-testing.md +732 -0
  331. package/src/modules/bmm/testarch/knowledge/selector-resilience.md +527 -0
  332. package/src/modules/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  333. package/src/modules/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  334. package/src/modules/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  335. package/src/modules/bmm/testarch/knowledge/test-quality.md +664 -0
  336. package/src/modules/bmm/testarch/knowledge/timing-debugging.md +372 -0
  337. package/src/modules/bmm/testarch/knowledge/visual-debugging.md +524 -0
  338. package/src/modules/bmm/testarch/tea-index.csv +22 -0
  339. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +38 -0
  340. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/game-context.md +3 -3
  341. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +74 -12
  342. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml +22 -3
  343. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +29 -0
  344. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +61 -8
  345. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/project-context.md +4 -4
  346. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +21 -3
  347. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +5 -5
  348. package/src/modules/bmm/workflows/1-analysis/game-brief/checklist.md +2 -2
  349. package/src/modules/bmm/workflows/1-analysis/game-brief/instructions.md +151 -311
  350. package/src/modules/bmm/workflows/1-analysis/game-brief/template.md +2 -2
  351. package/src/modules/bmm/workflows/1-analysis/game-brief/workflow.yaml +16 -6
  352. package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +4 -4
  353. package/src/modules/bmm/workflows/1-analysis/product-brief/checklist.md +2 -2
  354. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +147 -179
  355. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +4 -4
  356. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +16 -6
  357. package/src/modules/bmm/workflows/1-analysis/research/README.md +3 -3
  358. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +1 -1
  359. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +2 -2
  360. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +2 -2
  361. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +80 -17
  362. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +71 -11
  363. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +72 -38
  364. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +73 -14
  365. package/src/modules/bmm/workflows/1-analysis/research/template-deep-prompt.md +1 -1
  366. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +1 -1
  367. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +21 -121
  368. package/src/modules/bmm/workflows/2-plan-workflows/README.md +258 -0
  369. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
  370. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1283 -0
  371. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
  372. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +42 -0
  373. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/README.md +16 -16
  374. package/src/modules/bmm/workflows/2-plan-workflows/gdd/checklist.md +148 -0
  375. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/action-platformer.md +1 -1
  376. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/adventure.md +1 -1
  377. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/card-game.md +2 -2
  378. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/fighting.md +1 -1
  379. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/horror.md +2 -2
  380. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/idle-incremental.md +1 -1
  381. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/moba.md +4 -4
  382. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/party-game.md +1 -1
  383. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/racing.md +3 -3
  384. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/rhythm.md +1 -1
  385. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/roguelike.md +2 -2
  386. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/rpg.md +3 -3
  387. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/sandbox.md +4 -4
  388. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/shooter.md +3 -3
  389. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/simulation.md +3 -3
  390. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/sports.md +3 -3
  391. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/strategy.md +3 -3
  392. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/survival.md +2 -2
  393. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/text-based.md +3 -3
  394. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/tower-defense.md +5 -5
  395. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/turn-based-tactics.md +4 -4
  396. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/visual-novel.md +1 -1
  397. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/gdd-template.md +6 -12
  398. package/src/modules/bmm/workflows/2-plan-workflows/gdd/instructions-gdd.md +475 -0
  399. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +67 -0
  400. package/src/modules/bmm/workflows/2-plan-workflows/narrative/checklist.md +139 -0
  401. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/narrative/instructions-narrative.md +52 -12
  402. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/narrative/narrative-template.md +8 -8
  403. package/src/modules/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +38 -0
  404. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +117 -0
  405. package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +63 -0
  406. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +449 -0
  407. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +62 -0
  408. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +46 -0
  409. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +107 -0
  410. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +11 -0
  411. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +167 -0
  412. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +278 -0
  413. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +269 -0
  414. package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/tech-spec/tech-spec-template.md +0 -4
  415. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +56 -0
  416. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +52 -0
  417. package/src/modules/bmm/workflows/3-solutioning/README.md +1 -565
  418. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +347 -0
  419. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
  420. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +244 -0
  421. package/src/modules/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
  422. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +703 -0
  423. package/src/modules/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
  424. package/src/modules/bmm/workflows/3-solutioning/architecture/readme.md +318 -0
  425. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +54 -0
  426. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +177 -0
  427. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +175 -0
  428. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +273 -0
  429. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +146 -0
  430. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +189 -0
  431. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +40 -0
  432. package/src/modules/bmm/workflows/4-implementation/README.md +221 -0
  433. package/src/modules/bmm/workflows/4-implementation/{review-story → code-review}/README.md +4 -7
  434. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +391 -0
  435. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +56 -0
  436. package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +73 -0
  437. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +5 -5
  438. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +64 -53
  439. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +10 -0
  440. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +117 -30
  441. package/src/modules/bmm/workflows/4-implementation/create-story/checklist.md +240 -39
  442. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +193 -22
  443. package/src/modules/bmm/workflows/4-implementation/create-story/template.md +2 -8
  444. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +11 -34
  445. package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +367 -0
  446. package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +189 -67
  447. package/src/modules/bmm/workflows/4-implementation/dev-story/checklist.md +1 -1
  448. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +215 -40
  449. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +12 -37
  450. package/src/modules/bmm/workflows/{3-solutioning/tech-spec → 4-implementation/epic-tech-context}/README.md +6 -6
  451. package/src/modules/bmm/workflows/{3-solutioning/tech-spec → 4-implementation/epic-tech-context}/checklist.md +1 -1
  452. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +160 -0
  453. package/src/modules/bmm/workflows/{3-solutioning/tech-spec → 4-implementation/epic-tech-context}/template.md +1 -1
  454. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +34 -0
  455. package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +77 -0
  456. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +236 -148
  457. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +8 -4
  458. package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +156 -0
  459. package/src/modules/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  460. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +221 -0
  461. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  462. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +41 -0
  463. package/src/modules/bmm/workflows/4-implementation/story-context/README.md +1 -1
  464. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +146 -21
  465. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +8 -32
  466. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
  467. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +27 -0
  468. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
  469. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +27 -0
  470. package/src/modules/bmm/workflows/README.md +577 -0
  471. package/src/modules/bmm/workflows/document-project/README.md +444 -0
  472. package/src/modules/bmm/workflows/document-project/checklist.md +245 -0
  473. package/src/modules/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  474. package/src/modules/bmm/workflows/document-project/instructions.md +222 -0
  475. package/src/modules/bmm/workflows/document-project/templates/README.md +38 -0
  476. package/src/modules/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  477. package/src/modules/bmm/workflows/document-project/templates/index-template.md +169 -0
  478. package/src/modules/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  479. package/src/modules/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  480. package/src/modules/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  481. package/src/modules/bmm/workflows/document-project/workflow.yaml +36 -0
  482. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  483. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  484. package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  485. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  486. package/src/modules/bmm/workflows/testarch/README.md +26 -0
  487. package/src/modules/bmm/workflows/testarch/atdd/README.md +672 -0
  488. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  489. package/src/modules/bmm/workflows/testarch/atdd/checklist.md +373 -0
  490. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +785 -0
  491. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +54 -0
  492. package/src/modules/bmm/workflows/testarch/automate/README.md +869 -0
  493. package/src/modules/bmm/workflows/testarch/automate/checklist.md +580 -0
  494. package/src/modules/bmm/workflows/testarch/automate/instructions.md +1303 -0
  495. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +63 -0
  496. package/src/modules/bmm/workflows/testarch/ci/README.md +493 -0
  497. package/src/modules/bmm/workflows/testarch/ci/checklist.md +246 -0
  498. package/src/modules/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
  499. package/src/modules/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
  500. package/src/modules/bmm/workflows/testarch/ci/instructions.md +517 -0
  501. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +55 -0
  502. package/src/modules/bmm/workflows/testarch/framework/README.md +340 -0
  503. package/src/modules/bmm/workflows/testarch/framework/checklist.md +321 -0
  504. package/src/modules/bmm/workflows/testarch/framework/instructions.md +455 -0
  505. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +55 -0
  506. package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +469 -0
  507. package/src/modules/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
  508. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  509. package/src/modules/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
  510. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +58 -0
  511. package/src/modules/bmm/workflows/testarch/test-design/README.md +493 -0
  512. package/src/modules/bmm/workflows/testarch/test-design/checklist.md +234 -0
  513. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +621 -0
  514. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
  515. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
  516. package/src/modules/bmm/workflows/testarch/test-review/README.md +775 -0
  517. package/src/modules/bmm/workflows/testarch/test-review/checklist.md +470 -0
  518. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +608 -0
  519. package/src/modules/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
  520. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +55 -0
  521. package/src/modules/bmm/workflows/testarch/trace/README.md +802 -0
  522. package/src/modules/bmm/workflows/testarch/trace/checklist.md +654 -0
  523. package/src/modules/bmm/workflows/testarch/trace/instructions.md +1045 -0
  524. package/src/modules/bmm/workflows/testarch/trace/trace-template.md +673 -0
  525. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +68 -0
  526. package/src/modules/bmm/workflows/workflow-status/README.md +241 -0
  527. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +297 -0
  528. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +28 -0
  529. package/src/modules/bmm/workflows/workflow-status/instructions.md +324 -0
  530. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +54 -0
  531. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-1.yaml +58 -0
  532. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +76 -0
  533. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +95 -0
  534. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +88 -0
  535. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +75 -0
  536. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +45 -0
  537. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-1.yaml +49 -0
  538. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +78 -0
  539. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +73 -0
  540. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +75 -0
  541. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  542. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +30 -0
  543. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +30 -0
  544. package/src/modules/cis/_module-installer/installer.js +1 -1
  545. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +23 -0
  546. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +23 -0
  547. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +23 -0
  548. package/src/modules/cis/agents/innovation-strategist.agent.yaml +23 -0
  549. package/src/modules/cis/agents/storyteller.agent.yaml +23 -0
  550. package/src/modules/cis/workflows/design-thinking/design-methods.csv +1 -1
  551. package/src/modules/cis/workflows/design-thinking/instructions.md +1 -1
  552. package/src/modules/cis/workflows/design-thinking/workflow.yaml +14 -0
  553. package/src/modules/cis/workflows/innovation-strategy/innovation-frameworks.csv +2 -2
  554. package/src/modules/cis/workflows/innovation-strategy/instructions.md +1 -1
  555. package/src/modules/cis/workflows/innovation-strategy/template.md +4 -4
  556. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +14 -0
  557. package/src/modules/cis/workflows/problem-solving/instructions.md +1 -1
  558. package/src/modules/cis/workflows/problem-solving/solving-methods.csv +6 -6
  559. package/src/modules/cis/workflows/problem-solving/template.md +3 -3
  560. package/src/modules/cis/workflows/problem-solving/workflow.yaml +14 -0
  561. package/src/modules/cis/workflows/storytelling/instructions.md +35 -27
  562. package/src/modules/cis/workflows/storytelling/template.md +2 -2
  563. package/src/modules/cis/workflows/storytelling/workflow.yaml +14 -0
  564. package/src/utility/models/agent-activation-ide.xml +3 -3
  565. package/src/utility/models/agent-activation-web.xml +60 -0
  566. package/src/utility/models/agent-in-team-activation.xml +3 -0
  567. package/src/utility/models/fragments/activation-rules.xml +8 -0
  568. package/src/utility/models/fragments/activation-steps.xml +15 -0
  569. package/src/utility/models/fragments/handler-action.xml +4 -0
  570. package/src/utility/models/fragments/handler-data.xml +5 -0
  571. package/src/utility/models/fragments/handler-exec.xml +5 -0
  572. package/src/utility/models/fragments/handler-tmpl.xml +5 -0
  573. package/src/utility/models/fragments/handler-validate-workflow.xml +7 -0
  574. package/src/utility/models/fragments/handler-workflow.xml +9 -0
  575. package/src/utility/models/fragments/menu-handlers.xml +6 -0
  576. package/src/utility/models/fragments/web-bundle-activation-steps.xml +32 -0
  577. package/src/utility/templates/agent.customize.template.yaml +42 -0
  578. package/test/README.md +295 -0
  579. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +26 -0
  580. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +29 -0
  581. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +21 -0
  582. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +19 -0
  583. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +24 -0
  584. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +23 -0
  585. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +24 -0
  586. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +30 -0
  587. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +24 -0
  588. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +24 -0
  589. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +24 -0
  590. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +24 -0
  591. package/test/fixtures/agent-schema/invalid/metadata/core-agent-with-module.agent.yaml +26 -0
  592. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  593. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  594. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +26 -0
  595. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  596. package/test/fixtures/agent-schema/invalid/metadata/module-agent-missing-module.agent.yaml +25 -0
  597. package/test/fixtures/agent-schema/invalid/metadata/wrong-module-value.agent.yaml +26 -0
  598. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +23 -0
  599. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +26 -0
  600. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +26 -0
  601. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +23 -0
  602. package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +23 -0
  603. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +28 -0
  604. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +30 -0
  605. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +27 -0
  606. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +27 -0
  607. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  608. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +27 -0
  609. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  610. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  611. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  612. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +23 -0
  613. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +21 -0
  614. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +26 -0
  615. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +30 -0
  616. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +21 -0
  617. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +39 -0
  618. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +23 -0
  619. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +33 -0
  620. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +23 -0
  621. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +23 -0
  622. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +23 -0
  623. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +23 -0
  624. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +23 -0
  625. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +21 -0
  626. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +27 -0
  627. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +29 -0
  628. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +23 -0
  629. package/test/test-agent-schema.js +387 -0
  630. package/test/test-cli-integration.sh +159 -0
  631. package/test/unit-test-schema.js +133 -0
  632. package/tools/bmad-npx-wrapper.js +38 -0
  633. package/tools/cli/README.md +590 -0
  634. package/tools/cli/bmad-cli.js +0 -2
  635. package/tools/cli/bundlers/bundle-web.js +24 -2
  636. package/tools/cli/bundlers/test-bundler.js +1 -1
  637. package/tools/cli/bundlers/web-bundler.js +639 -40
  638. package/tools/cli/commands/build.js +458 -0
  639. package/tools/cli/commands/install.js +49 -8
  640. package/tools/cli/installers/lib/core/config-collector.js +222 -15
  641. package/tools/cli/installers/lib/core/dependency-resolver.js +5 -1
  642. package/tools/cli/installers/lib/core/detector.js +80 -14
  643. package/tools/cli/installers/lib/core/ide-config-manager.js +152 -0
  644. package/tools/cli/installers/lib/core/installer.js +1175 -150
  645. package/tools/cli/installers/lib/core/manifest-generator.js +454 -63
  646. package/tools/cli/installers/lib/core/manifest.js +95 -43
  647. package/tools/cli/installers/lib/ide/_base-ide.js +311 -20
  648. package/tools/cli/installers/lib/ide/auggie.js +92 -27
  649. package/tools/cli/installers/lib/ide/claude-code.js +132 -308
  650. package/tools/cli/installers/lib/ide/cline.js +149 -227
  651. package/tools/cli/installers/lib/ide/codex.js +141 -174
  652. package/tools/cli/installers/lib/ide/crush.js +109 -37
  653. package/tools/cli/installers/lib/ide/cursor.js +81 -13
  654. package/tools/cli/installers/lib/ide/gemini.js +24 -28
  655. package/tools/cli/installers/lib/ide/github-copilot.js +15 -14
  656. package/tools/cli/installers/lib/ide/manager.js +26 -35
  657. package/tools/cli/installers/lib/ide/opencode.js +213 -0
  658. package/tools/cli/installers/lib/ide/qwen.js +172 -70
  659. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +143 -0
  660. package/tools/cli/installers/lib/ide/shared/module-injections.js +133 -0
  661. package/tools/cli/installers/lib/ide/task-tool-command-generator.js +119 -0
  662. package/tools/cli/installers/lib/ide/trae.js +120 -24
  663. package/tools/cli/installers/lib/ide/windsurf.js +88 -36
  664. package/tools/cli/installers/lib/ide/workflow-command-generator.js +119 -46
  665. package/tools/cli/installers/lib/ide/workflow-command-template.md +7 -3
  666. package/tools/cli/installers/lib/modules/manager.js +123 -7
  667. package/tools/cli/lib/activation-builder.js +168 -0
  668. package/tools/cli/lib/agent-analyzer.js +81 -0
  669. package/tools/cli/lib/agent-party-generator.js +3 -3
  670. package/tools/cli/lib/ui.js +78 -3
  671. package/tools/cli/lib/xml-handler.js +46 -1
  672. package/tools/cli/lib/yaml-xml-builder.js +439 -0
  673. package/tools/cli/regenerate-manifests.js +1 -1
  674. package/tools/cli/test-yaml-builder.js +43 -0
  675. package/tools/format-workflow-md.js +263 -0
  676. package/tools/platform-codes.yaml +6 -0
  677. package/tools/schema/agent.js +231 -0
  678. package/tools/validate-agent-schema.js +110 -0
  679. package/v6-open-items.md +23 -0
  680. package/docs/codebase-flattener.md +0 -19
  681. package/readme.md +0 -216
  682. package/src/core/agents/bmad-master.md +0 -27
  683. package/src/core/agents/bmad-web-orchestrator.md +0 -71
  684. package/src/core/tasks/shard-doc.md +0 -57
  685. package/src/core/workflows/bmad-init/instructions.md +0 -79
  686. package/src/core/workflows/bmad-init/workflow.yaml +0 -24
  687. package/src/modules/bmb/_module-installer/install-menu-config.yaml +0 -16
  688. package/src/modules/bmb/agents/bmad-builder.md +0 -30
  689. package/src/modules/bmb/workflows/create-module/installer-templates/install-module-config.yaml +0 -132
  690. package/src/modules/bmm/_module-installer/install-menu-config.yaml +0 -49
  691. package/src/modules/bmm/agents/analyst.md +0 -26
  692. package/src/modules/bmm/agents/architect.md +0 -29
  693. package/src/modules/bmm/agents/dev.md +0 -61
  694. package/src/modules/bmm/agents/game-architect.md +0 -26
  695. package/src/modules/bmm/agents/game-designer.md +0 -27
  696. package/src/modules/bmm/agents/game-dev.md +0 -28
  697. package/src/modules/bmm/agents/pm.md +0 -26
  698. package/src/modules/bmm/agents/po.md +0 -25
  699. package/src/modules/bmm/agents/sm.md +0 -29
  700. package/src/modules/bmm/agents/tea.md +0 -32
  701. package/src/modules/bmm/agents/ux-expert.md +0 -24
  702. package/src/modules/bmm/teams/team-all.yaml +0 -7
  703. package/src/modules/bmm/teams/team-dev.yaml +0 -14
  704. package/src/modules/bmm/testarch/atdd.md +0 -40
  705. package/src/modules/bmm/testarch/automate.md +0 -38
  706. package/src/modules/bmm/testarch/ci.md +0 -39
  707. package/src/modules/bmm/testarch/framework.md +0 -41
  708. package/src/modules/bmm/testarch/nfr-assess.md +0 -38
  709. package/src/modules/bmm/testarch/risk-profile.md +0 -38
  710. package/src/modules/bmm/testarch/tea-commands.csv +0 -11
  711. package/src/modules/bmm/testarch/tea-gate.md +0 -38
  712. package/src/modules/bmm/testarch/tea-knowledge.md +0 -275
  713. package/src/modules/bmm/testarch/test-design.md +0 -39
  714. package/src/modules/bmm/testarch/test-levels-framework.md +0 -148
  715. package/src/modules/bmm/testarch/test-priorities-matrix.md +0 -174
  716. package/src/modules/bmm/testarch/trace-requirements.md +0 -38
  717. package/src/modules/bmm/workflows/2-plan/README.md +0 -203
  718. package/src/modules/bmm/workflows/2-plan/checklist.md +0 -369
  719. package/src/modules/bmm/workflows/2-plan/gdd/instructions-gdd.md +0 -480
  720. package/src/modules/bmm/workflows/2-plan/instructions-router.md +0 -222
  721. package/src/modules/bmm/workflows/2-plan/prd/analysis-template.md +0 -53
  722. package/src/modules/bmm/workflows/2-plan/prd/epics-template.md +0 -18
  723. package/src/modules/bmm/workflows/2-plan/prd/instructions-lg.md +0 -267
  724. package/src/modules/bmm/workflows/2-plan/prd/instructions-med.md +0 -251
  725. package/src/modules/bmm/workflows/2-plan/prd/prd-template.md +0 -73
  726. package/src/modules/bmm/workflows/2-plan/tech-spec/instructions-sm.md +0 -137
  727. package/src/modules/bmm/workflows/2-plan/ux/instructions-ux.md +0 -360
  728. package/src/modules/bmm/workflows/2-plan/ux/ux-spec-template.md +0 -162
  729. package/src/modules/bmm/workflows/2-plan/workflow.yaml +0 -60
  730. package/src/modules/bmm/workflows/3-solutioning/ADR-template.md +0 -74
  731. package/src/modules/bmm/workflows/3-solutioning/checklist.md +0 -170
  732. package/src/modules/bmm/workflows/3-solutioning/instructions.md +0 -661
  733. package/src/modules/bmm/workflows/3-solutioning/project-types/backend-questions.md +0 -490
  734. package/src/modules/bmm/workflows/3-solutioning/project-types/cli-questions.md +0 -337
  735. package/src/modules/bmm/workflows/3-solutioning/project-types/data-questions.md +0 -472
  736. package/src/modules/bmm/workflows/3-solutioning/project-types/desktop-questions.md +0 -299
  737. package/src/modules/bmm/workflows/3-solutioning/project-types/embedded-questions.md +0 -118
  738. package/src/modules/bmm/workflows/3-solutioning/project-types/extension-questions.md +0 -374
  739. package/src/modules/bmm/workflows/3-solutioning/project-types/game-questions.md +0 -133
  740. package/src/modules/bmm/workflows/3-solutioning/project-types/infra-questions.md +0 -484
  741. package/src/modules/bmm/workflows/3-solutioning/project-types/library-questions.md +0 -146
  742. package/src/modules/bmm/workflows/3-solutioning/project-types/mobile-questions.md +0 -110
  743. package/src/modules/bmm/workflows/3-solutioning/project-types/project-types.csv +0 -12
  744. package/src/modules/bmm/workflows/3-solutioning/project-types/web-questions.md +0 -136
  745. package/src/modules/bmm/workflows/3-solutioning/tech-spec/instructions.md +0 -73
  746. package/src/modules/bmm/workflows/3-solutioning/tech-spec/workflow.yaml +0 -51
  747. package/src/modules/bmm/workflows/3-solutioning/templates/backend-service-architecture.md +0 -66
  748. package/src/modules/bmm/workflows/3-solutioning/templates/cli-tool-architecture.md +0 -66
  749. package/src/modules/bmm/workflows/3-solutioning/templates/data-pipeline-architecture.md +0 -66
  750. package/src/modules/bmm/workflows/3-solutioning/templates/desktop-app-architecture.md +0 -66
  751. package/src/modules/bmm/workflows/3-solutioning/templates/embedded-firmware-architecture.md +0 -66
  752. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-architecture.md +0 -244
  753. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-godot-guide.md +0 -428
  754. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-unity-guide.md +0 -333
  755. package/src/modules/bmm/workflows/3-solutioning/templates/game-engine-web-guide.md +0 -528
  756. package/src/modules/bmm/workflows/3-solutioning/templates/infrastructure-architecture.md +0 -66
  757. package/src/modules/bmm/workflows/3-solutioning/templates/library-package-architecture.md +0 -66
  758. package/src/modules/bmm/workflows/3-solutioning/templates/mobile-app-architecture.md +0 -66
  759. package/src/modules/bmm/workflows/3-solutioning/templates/registry.csv +0 -172
  760. package/src/modules/bmm/workflows/3-solutioning/templates/web-api-architecture.md +0 -66
  761. package/src/modules/bmm/workflows/3-solutioning/templates/web-fullstack-architecture.md +0 -277
  762. package/src/modules/bmm/workflows/3-solutioning/workflow.yaml +0 -65
  763. package/src/modules/bmm/workflows/4-implementation/review-story/instructions.md +0 -176
  764. package/src/modules/bmm/workflows/4-implementation/review-story/workflow.yaml +0 -99
  765. package/src/modules/cis/agents/brainstorming-coach.md +0 -24
  766. package/src/modules/cis/agents/creative-problem-solver.md +0 -24
  767. package/src/modules/cis/agents/design-thinking-coach.md +0 -24
  768. package/src/modules/cis/agents/innovation-strategist.md +0 -24
  769. package/src/modules/cis/agents/storyteller.md +0 -24
  770. package/tools/test-agents/captain-kirk-commander.md +0 -110
  771. package/tools/test-agents/data-operations-android.md +0 -123
  772. package/tools/test-agents/geordi-chief-engineer.md +0 -135
  773. package/tools/test-agents/isabella-martinez-ethicist.md +0 -109
  774. package/tools/test-agents/marcus-thompson-security.md +0 -109
  775. package/tools/test-agents/maya-patel-pragmatist.md +0 -82
  776. package/tools/test-agents/picard-diplomat-captain.md +0 -134
  777. package/tools/test-agents/spock-science-officer.md +0 -124
  778. package/tools/test-agents/william-smithers-technocrat.md +0 -71
  779. package/tools/test-agents/zara-chen-designer.md +0 -94
  780. /package/{src/modules/cis → bmad/core}/workflows/brainstorming/brain-methods.csv +0 -0
  781. /package/src/modules/bmm/_module-installer/assets/{technical-decisions-template.md → technical-decisions.md} +0 -0
  782. /package/src/modules/bmm/sub-modules/claude-code/sub-agents/{requirements-analyst.md → bmad-planning/requirements-analyst.md} +0 -0
  783. /package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/metroidvania.md +0 -0
  784. /package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types/puzzle.md +0 -0
  785. /package/src/modules/bmm/workflows/{2-plan → 2-plan-workflows}/gdd/game-types.csv +0 -0
  786. /package/src/modules/bmm/workflows/4-implementation/{review-story → code-review}/backlog_template.md +0 -0
  787. /package/src/modules/bmm/workflows/4-implementation/{review-story → code-review}/checklist.md +0 -0
  788. /package/src/modules/cis/_module-installer/{install-menu-config.yaml → install-config.yaml} +0 -0
@@ -0,0 +1,594 @@
1
+ #!/bin/bash
2
+ #
3
+ # File: .claude/hooks/voice-manager.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 Voice Manager - Unified voice management for both ElevenLabs and Piper providers
30
+ # @context Central interface for listing, switching, previewing, and replaying TTS voices across providers
31
+ # @architecture Provider-aware operations with dynamic voice listing based on active provider
32
+ # @dependencies voices-config.sh (ElevenLabs mappings), piper-voice-manager.sh (Piper voices), provider-manager.sh
33
+ # @entrypoints Called by /agent-vibes:switch, /agent-vibes:list, /agent-vibes:whoami, /agent-vibes:replay commands
34
+ # @patterns Provider abstraction, numbered selection UI, silent mode for programmatic switching
35
+ # @related voices-config.sh, piper-voice-manager.sh, .claude/tts-voice.txt, .claude/audio/ (replay)
36
+
37
+ # Get script directory (physical path for sourcing files)
38
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
39
+ source "$SCRIPT_DIR/voices-config.sh"
40
+
41
+ # Determine target .claude directory based on context
42
+ # Priority:
43
+ # 1. CLAUDE_PROJECT_DIR env var (set by MCP for project-specific settings)
44
+ # 2. Script location (for direct slash command usage)
45
+ # 3. Global ~/.claude (fallback)
46
+
47
+ if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
48
+ # MCP context: Use the project directory where MCP was invoked
49
+ CLAUDE_DIR="$CLAUDE_PROJECT_DIR/.claude"
50
+ else
51
+ # Direct usage context: Use script location
52
+ SCRIPT_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
53
+ CLAUDE_DIR="$(dirname "$SCRIPT_PATH")"
54
+
55
+ # If script is in global ~/.claude, use that
56
+ if [[ "$CLAUDE_DIR" == "$HOME/.claude" ]]; then
57
+ CLAUDE_DIR="$HOME/.claude"
58
+ elif [[ ! -d "$CLAUDE_DIR" ]]; then
59
+ # Fallback to global if directory doesn't exist
60
+ CLAUDE_DIR="$HOME/.claude"
61
+ fi
62
+ fi
63
+
64
+ VOICE_FILE="$CLAUDE_DIR/tts-voice.txt"
65
+
66
+ case "$1" in
67
+ list)
68
+ # Get active provider
69
+ PROVIDER_FILE="$CLAUDE_DIR/tts-provider.txt"
70
+ if [[ ! -f "$PROVIDER_FILE" ]]; then
71
+ PROVIDER_FILE="$HOME/.claude/tts-provider.txt"
72
+ fi
73
+
74
+ ACTIVE_PROVIDER="elevenlabs" # default
75
+ if [ -f "$PROVIDER_FILE" ]; then
76
+ ACTIVE_PROVIDER=$(cat "$PROVIDER_FILE")
77
+ fi
78
+
79
+ CURRENT_VOICE=$(cat "$VOICE_FILE" 2>/dev/null || echo "Cowboy Bob")
80
+
81
+ if [[ "$ACTIVE_PROVIDER" == "piper" ]]; then
82
+ echo "🎤 Available Piper TTS Voices:"
83
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
84
+
85
+ # List downloaded Piper voices
86
+ if [[ -f "$SCRIPT_DIR/piper-voice-manager.sh" ]]; then
87
+ source "$SCRIPT_DIR/piper-voice-manager.sh"
88
+ VOICE_DIR=$(get_voice_storage_dir)
89
+ VOICE_COUNT=0
90
+ for onnx_file in "$VOICE_DIR"/*.onnx; do
91
+ if [[ -f "$onnx_file" ]]; then
92
+ voice=$(basename "$onnx_file" .onnx)
93
+ if [ "$voice" = "$CURRENT_VOICE" ]; then
94
+ echo " ▶ $voice (current)"
95
+ else
96
+ echo " $voice"
97
+ fi
98
+ ((VOICE_COUNT++))
99
+ fi
100
+ done | sort
101
+
102
+ if [[ $VOICE_COUNT -eq 0 ]]; then
103
+ echo " (No Piper voices downloaded yet)"
104
+ echo ""
105
+ echo "Download voices with: /agent-vibes:provider download <voice-name>"
106
+ echo "Examples: en_US-lessac-medium, en_GB-alba-medium"
107
+ fi
108
+ fi
109
+ else
110
+ echo "🎤 Available ElevenLabs TTS Voices:"
111
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
112
+ for voice in "${!VOICES[@]}"; do
113
+ if [ "$voice" = "$CURRENT_VOICE" ]; then
114
+ echo " ▶ $voice (current)"
115
+ else
116
+ echo " $voice"
117
+ fi
118
+ done | sort
119
+ fi
120
+
121
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
122
+ echo ""
123
+ echo "Usage: voice-manager.sh switch <name>"
124
+ echo " voice-manager.sh preview"
125
+ ;;
126
+
127
+ preview)
128
+ # Get play-tts.sh path
129
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
130
+ TTS_SCRIPT="$SCRIPT_DIR/play-tts.sh"
131
+
132
+ # Check if a specific voice name was provided
133
+ if [[ -n "$2" ]] && [[ "$2" != "first" ]] && [[ "$2" != "last" ]] && ! [[ "$2" =~ ^[0-9]+$ ]]; then
134
+ # User specified a voice name
135
+ VOICE_NAME="$2"
136
+
137
+ # Check if voice exists
138
+ if [[ -n "${VOICES[$VOICE_NAME]}" ]]; then
139
+ echo "🎤 Previewing voice: ${VOICE_NAME}"
140
+ echo ""
141
+ "$TTS_SCRIPT" "Hello, this is ${VOICE_NAME}. How do you like my voice?" "${VOICE_NAME}"
142
+ else
143
+ echo "❌ Voice not found: ${VOICE_NAME}"
144
+ echo ""
145
+ echo "Available voices:"
146
+ for voice in "${!VOICES[@]}"; do
147
+ echo " • $voice"
148
+ done | sort
149
+ fi
150
+ exit 0
151
+ fi
152
+
153
+ # Original preview logic for first/last/number
154
+ echo "🎤 Voice Preview - Playing first 3 voices..."
155
+ echo ""
156
+
157
+ # Sort voices and preview first 3
158
+ VOICE_ARRAY=()
159
+ for voice in "${!VOICES[@]}"; do
160
+ VOICE_ARRAY+=("$voice")
161
+ done
162
+
163
+ # Sort the array
164
+ IFS=$'\n' SORTED_VOICES=($(sort <<<"${VOICE_ARRAY[*]}"))
165
+ unset IFS
166
+
167
+ # Play first 3 voices
168
+ COUNT=0
169
+ for voice in "${SORTED_VOICES[@]}"; do
170
+ if [ $COUNT -eq 3 ]; then
171
+ break
172
+ fi
173
+ echo "🔊 ${voice}..."
174
+ "$TTS_SCRIPT" "Hi, I'm ${voice}" "${VOICES[$voice]}"
175
+ sleep 0.5
176
+ COUNT=$((COUNT + 1))
177
+ done
178
+
179
+ echo ""
180
+ echo "Would you like to hear more? Reply 'yes' to continue."
181
+ ;;
182
+
183
+ switch)
184
+ VOICE_NAME="$2"
185
+ SILENT_MODE=false
186
+
187
+ # Check for --silent flag
188
+ if [[ "$2" == "--silent" ]] || [[ "$3" == "--silent" ]]; then
189
+ SILENT_MODE=true
190
+ # If --silent is first arg, voice name is in $3
191
+ [[ "$2" == "--silent" ]] && VOICE_NAME="$3"
192
+ fi
193
+
194
+ if [[ -z "$VOICE_NAME" ]]; then
195
+ # Show numbered list for selection
196
+ echo "🎤 Select a voice by number:"
197
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
198
+
199
+ # Get current voice
200
+ CURRENT="Cowboy Bob"
201
+ if [ -f "$VOICE_FILE" ]; then
202
+ CURRENT=$(cat "$VOICE_FILE")
203
+ fi
204
+
205
+ # Create array of voice names
206
+ VOICE_ARRAY=()
207
+ for voice in "${!VOICES[@]}"; do
208
+ VOICE_ARRAY+=("$voice")
209
+ done
210
+
211
+ # Sort the array
212
+ IFS=$'\n' SORTED_VOICES=($(sort <<<"${VOICE_ARRAY[*]}"))
213
+ unset IFS
214
+
215
+ # Display numbered list in two columns for compactness
216
+ HALF=$(( (${#SORTED_VOICES[@]} + 1) / 2 ))
217
+
218
+ for i in $(seq 0 $((HALF - 1))); do
219
+ NUM1=$((i + 1))
220
+ VOICE1="${SORTED_VOICES[$i]}"
221
+
222
+ # Format first column
223
+ if [[ "$VOICE1" == "$CURRENT" ]]; then
224
+ COL1=$(printf "%2d. %-20s ✓" "$NUM1" "$VOICE1")
225
+ else
226
+ COL1=$(printf "%2d. %-20s " "$NUM1" "$VOICE1")
227
+ fi
228
+
229
+ # Format second column if it exists
230
+ NUM2=$((i + HALF + 1))
231
+ if [[ $((i + HALF)) -lt ${#SORTED_VOICES[@]} ]]; then
232
+ VOICE2="${SORTED_VOICES[$((i + HALF))]}"
233
+ if [[ "$VOICE2" == "$CURRENT" ]]; then
234
+ COL2=$(printf "%2d. %-20s ✓" "$NUM2" "$VOICE2")
235
+ else
236
+ COL2=$(printf "%2d. %-20s " "$NUM2" "$VOICE2")
237
+ fi
238
+ echo " $COL1 $COL2"
239
+ else
240
+ echo " $COL1"
241
+ fi
242
+ done
243
+
244
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
245
+ echo ""
246
+ echo "Enter number (1-${#SORTED_VOICES[@]}) or voice name:"
247
+ echo "Usage: /agent-vibes:switch 5"
248
+ echo " /agent-vibes:switch \"Northern Terry\""
249
+ exit 0
250
+ fi
251
+
252
+ # Detect active TTS provider
253
+ PROVIDER_FILE=""
254
+ if [[ -f "$CLAUDE_DIR/tts-provider.txt" ]]; then
255
+ PROVIDER_FILE="$CLAUDE_DIR/tts-provider.txt"
256
+ elif [[ -f "$HOME/.claude/tts-provider.txt" ]]; then
257
+ PROVIDER_FILE="$HOME/.claude/tts-provider.txt"
258
+ fi
259
+
260
+ ACTIVE_PROVIDER="elevenlabs" # default
261
+ if [[ -n "$PROVIDER_FILE" ]]; then
262
+ ACTIVE_PROVIDER=$(cat "$PROVIDER_FILE")
263
+ fi
264
+
265
+ # Voice lookup strategy depends on active provider
266
+ if [[ "$ACTIVE_PROVIDER" == "piper" ]]; then
267
+ # Piper voice lookup: Scan voice directory for .onnx files
268
+ source "$SCRIPT_DIR/piper-voice-manager.sh"
269
+ VOICE_DIR=$(get_voice_storage_dir)
270
+
271
+ # Check if voice file exists (case-insensitive)
272
+ FOUND=""
273
+ shopt -s nullglob
274
+ for onnx_file in "$VOICE_DIR"/*.onnx; do
275
+ if [[ -f "$onnx_file" ]]; then
276
+ voice=$(basename "$onnx_file" .onnx)
277
+ if [[ "${voice,,}" == "${VOICE_NAME,,}" ]]; then
278
+ FOUND="$voice"
279
+ break
280
+ fi
281
+ fi
282
+ done
283
+ shopt -u nullglob
284
+
285
+ # If not found, check multi-speaker registry
286
+ if [[ -z "$FOUND" ]] && [[ -f "$SCRIPT_DIR/piper-multispeaker-registry.sh" ]]; then
287
+ source "$SCRIPT_DIR/piper-multispeaker-registry.sh"
288
+
289
+ MULTISPEAKER_INFO=$(get_multispeaker_info "$VOICE_NAME")
290
+ if [[ -n "$MULTISPEAKER_INFO" ]]; then
291
+ MODEL="${MULTISPEAKER_INFO%%:*}"
292
+ SPEAKER_ID="${MULTISPEAKER_INFO#*:}"
293
+
294
+ # Verify the model file exists
295
+ if [[ -f "$VOICE_DIR/${MODEL}.onnx" ]]; then
296
+ # Store speaker name in tts-voice.txt
297
+ echo "$VOICE_NAME" > "$VOICE_FILE"
298
+
299
+ # Store model and speaker ID separately for play-tts-piper.sh
300
+ echo "$MODEL" > "$CLAUDE_DIR/tts-piper-model.txt"
301
+ echo "$SPEAKER_ID" > "$CLAUDE_DIR/tts-piper-speaker-id.txt"
302
+
303
+ DESCRIPTION=$(get_multispeaker_description "$VOICE_NAME")
304
+ echo "✅ Multi-speaker voice switched to: $VOICE_NAME"
305
+ echo "🎤 Model: $MODEL.onnx (Speaker ID: $SPEAKER_ID)"
306
+ if [[ -n "$DESCRIPTION" ]]; then
307
+ echo "📝 Description: $DESCRIPTION"
308
+ fi
309
+
310
+ # Have the new voice introduce itself (unless silent mode)
311
+ if [[ "$SILENT_MODE" != "true" ]]; then
312
+ PLAY_TTS="$SCRIPT_DIR/play-tts.sh"
313
+ if [ -x "$PLAY_TTS" ]; then
314
+ "$PLAY_TTS" "Hi, I'm $VOICE_NAME. I'll be your voice assistant moving forward." > /dev/null 2>&1 &
315
+ fi
316
+
317
+ echo ""
318
+ echo "💡 Tip: To hear automatic TTS narration, enable the Agent Vibes output style:"
319
+ echo " /output-style Agent Vibes"
320
+ fi
321
+ exit 0
322
+ else
323
+ echo "❌ Multi-speaker model not found: $MODEL.onnx"
324
+ echo ""
325
+ echo "Download it with: /agent-vibes:provider download"
326
+ exit 1
327
+ fi
328
+ fi
329
+ fi
330
+
331
+ if [[ -z "$FOUND" ]]; then
332
+ echo "❌ Piper voice not found: $VOICE_NAME"
333
+ echo ""
334
+ echo "Available Piper voices:"
335
+ shopt -s nullglob
336
+ for onnx_file in "$VOICE_DIR"/*.onnx; do
337
+ if [[ -f "$onnx_file" ]]; then
338
+ echo " - $(basename "$onnx_file" .onnx)"
339
+ fi
340
+ done | sort
341
+ shopt -u nullglob
342
+ echo ""
343
+ if [[ -f "$SCRIPT_DIR/piper-multispeaker-registry.sh" ]]; then
344
+ echo "Multi-speaker voices (requires 16Speakers.onnx):"
345
+ source "$SCRIPT_DIR/piper-multispeaker-registry.sh"
346
+ for entry in "${MULTISPEAKER_VOICES[@]}"; do
347
+ name="${entry%%:*}"
348
+ echo " - $name"
349
+ done | sort
350
+ echo ""
351
+ fi
352
+ echo "Download extra voices with: /agent-vibes:provider download"
353
+ exit 1
354
+ fi
355
+ else
356
+ # ElevenLabs voice lookup
357
+ # Check if input is a number
358
+ if [[ "$VOICE_NAME" =~ ^[0-9]+$ ]]; then
359
+ # Get voice array
360
+ VOICE_ARRAY=()
361
+ for voice in "${!VOICES[@]}"; do
362
+ VOICE_ARRAY+=("$voice")
363
+ done
364
+
365
+ # Sort the array
366
+ IFS=$'\n' SORTED_VOICES=($(sort <<<"${VOICE_ARRAY[*]}"))
367
+ unset IFS
368
+
369
+ # Get voice by number (adjust for 0-based index)
370
+ INDEX=$((VOICE_NAME - 1))
371
+
372
+ if [[ $INDEX -ge 0 && $INDEX -lt ${#SORTED_VOICES[@]} ]]; then
373
+ VOICE_NAME="${SORTED_VOICES[$INDEX]}"
374
+ FOUND="${SORTED_VOICES[$INDEX]}"
375
+ else
376
+ echo "❌ Invalid number. Please choose between 1 and ${#SORTED_VOICES[@]}"
377
+ exit 1
378
+ fi
379
+ else
380
+ # Check if voice exists (case-insensitive)
381
+ FOUND=""
382
+ for voice in "${!VOICES[@]}"; do
383
+ if [[ "${voice,,}" == "${VOICE_NAME,,}" ]]; then
384
+ FOUND="$voice"
385
+ break
386
+ fi
387
+ done
388
+ fi
389
+
390
+ if [[ -z "$FOUND" ]]; then
391
+ echo "❌ Unknown voice: $VOICE_NAME"
392
+ echo ""
393
+ echo "Available voices:"
394
+ for voice in "${!VOICES[@]}"; do
395
+ echo " - $voice"
396
+ done | sort
397
+ exit 1
398
+ fi
399
+ fi
400
+
401
+ echo "$FOUND" > "$VOICE_FILE"
402
+ echo "✅ Voice switched to: $FOUND"
403
+
404
+ # Show voice ID only for ElevenLabs voices
405
+ if [[ "$ACTIVE_PROVIDER" != "piper" ]] && [[ -n "${VOICES[$FOUND]}" ]]; then
406
+ echo "🎤 Voice ID: ${VOICES[$FOUND]}"
407
+ fi
408
+
409
+ # Have the new voice introduce itself (unless silent mode)
410
+ if [[ "$SILENT_MODE" != "true" ]]; then
411
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
412
+ PLAY_TTS="$SCRIPT_DIR/play-tts.sh"
413
+ if [ -x "$PLAY_TTS" ]; then
414
+ "$PLAY_TTS" "Hi, I'm $FOUND. I'll be your voice assistant moving forward." "$FOUND" > /dev/null 2>&1 &
415
+ fi
416
+
417
+ echo ""
418
+ echo "💡 Tip: To hear automatic TTS narration, enable the Agent Vibes output style:"
419
+ echo " /output-style Agent Vibes"
420
+ fi
421
+ ;;
422
+
423
+ get)
424
+ if [ -f "$VOICE_FILE" ]; then
425
+ cat "$VOICE_FILE"
426
+ else
427
+ echo "Cowboy Bob"
428
+ fi
429
+ ;;
430
+
431
+ whoami)
432
+ echo "🎤 Current Voice Configuration"
433
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
434
+
435
+ # Get active TTS provider
436
+ PROVIDER_FILE="$CLAUDE_DIR/tts-provider.txt"
437
+ if [[ ! -f "$PROVIDER_FILE" ]]; then
438
+ PROVIDER_FILE="$HOME/.claude/tts-provider.txt"
439
+ fi
440
+
441
+ if [ -f "$PROVIDER_FILE" ]; then
442
+ ACTIVE_PROVIDER=$(cat "$PROVIDER_FILE")
443
+ if [[ "$ACTIVE_PROVIDER" == "elevenlabs" ]]; then
444
+ echo "Provider: ElevenLabs (Premium AI)"
445
+ elif [[ "$ACTIVE_PROVIDER" == "piper" ]]; then
446
+ echo "Provider: Piper TTS (Free, Offline)"
447
+ else
448
+ echo "Provider: $ACTIVE_PROVIDER"
449
+ fi
450
+ else
451
+ # Default to ElevenLabs if no provider file
452
+ echo "Provider: ElevenLabs (Premium AI)"
453
+ fi
454
+
455
+ # Get current voice
456
+ if [ -f "$VOICE_FILE" ]; then
457
+ CURRENT_VOICE=$(cat "$VOICE_FILE")
458
+ else
459
+ CURRENT_VOICE="Cowboy Bob"
460
+ fi
461
+ echo "Voice: $CURRENT_VOICE"
462
+
463
+ # Get current sentiment (priority)
464
+ if [ -f "$HOME/.claude/tts-sentiment.txt" ]; then
465
+ SENTIMENT=$(cat "$HOME/.claude/tts-sentiment.txt")
466
+ echo "Sentiment: $SENTIMENT (active)"
467
+
468
+ # Also show personality if set
469
+ if [ -f "$HOME/.claude/tts-personality.txt" ]; then
470
+ PERSONALITY=$(cat "$HOME/.claude/tts-personality.txt")
471
+ echo "Personality: $PERSONALITY (overridden by sentiment)"
472
+ fi
473
+ else
474
+ # No sentiment, check personality
475
+ if [ -f "$HOME/.claude/tts-personality.txt" ]; then
476
+ PERSONALITY=$(cat "$HOME/.claude/tts-personality.txt")
477
+ echo "Personality: $PERSONALITY (active)"
478
+ else
479
+ echo "Personality: normal"
480
+ fi
481
+ fi
482
+
483
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
484
+ ;;
485
+
486
+ list-simple)
487
+ # Simple list for AI to parse and display
488
+ # Get active provider
489
+ PROVIDER_FILE="$CLAUDE_DIR/tts-provider.txt"
490
+ if [[ ! -f "$PROVIDER_FILE" ]]; then
491
+ PROVIDER_FILE="$HOME/.claude/tts-provider.txt"
492
+ fi
493
+
494
+ ACTIVE_PROVIDER="elevenlabs" # default
495
+ if [ -f "$PROVIDER_FILE" ]; then
496
+ ACTIVE_PROVIDER=$(cat "$PROVIDER_FILE")
497
+ fi
498
+
499
+ if [[ "$ACTIVE_PROVIDER" == "piper" ]]; then
500
+ # List downloaded Piper voices
501
+ if [[ -f "$SCRIPT_DIR/piper-voice-manager.sh" ]]; then
502
+ source "$SCRIPT_DIR/piper-voice-manager.sh"
503
+ VOICE_DIR=$(get_voice_storage_dir)
504
+ for onnx_file in "$VOICE_DIR"/*.onnx; do
505
+ if [[ -f "$onnx_file" ]]; then
506
+ basename "$onnx_file" .onnx
507
+ fi
508
+ done | sort
509
+ fi
510
+ else
511
+ # List ElevenLabs voices
512
+ for voice in "${!VOICES[@]}"; do
513
+ echo "$voice"
514
+ done | sort
515
+ fi
516
+ ;;
517
+
518
+ replay)
519
+ # Replay recent TTS audio from history
520
+ # Use project-local directory with same logic as play-tts.sh
521
+ if [[ -n "$CLAUDE_PROJECT_DIR" ]]; then
522
+ AUDIO_DIR="$CLAUDE_PROJECT_DIR/.claude/audio"
523
+ else
524
+ # Fallback: try to find .claude directory in current path
525
+ CURRENT_DIR="$PWD"
526
+ while [[ "$CURRENT_DIR" != "/" ]]; do
527
+ if [[ -d "$CURRENT_DIR/.claude" ]]; then
528
+ AUDIO_DIR="$CURRENT_DIR/.claude/audio"
529
+ break
530
+ fi
531
+ CURRENT_DIR=$(dirname "$CURRENT_DIR")
532
+ done
533
+ # Final fallback to global if no project .claude found
534
+ if [[ -z "$AUDIO_DIR" ]]; then
535
+ AUDIO_DIR="$HOME/.claude/audio"
536
+ fi
537
+ fi
538
+
539
+ # Default to replay last audio (N=1)
540
+ N="${2:-1}"
541
+
542
+ # Validate N is a number
543
+ if ! [[ "$N" =~ ^[0-9]+$ ]]; then
544
+ echo "❌ Invalid argument. Please use a number (1-10)"
545
+ echo "Usage: /agent-vibes:replay [N]"
546
+ echo " N=1 - Last audio (default)"
547
+ echo " N=2 - Second-to-last"
548
+ echo " N=3 - Third-to-last"
549
+ exit 1
550
+ fi
551
+
552
+ # Check bounds
553
+ if [[ $N -lt 1 || $N -gt 10 ]]; then
554
+ echo "❌ Number out of range. Please choose 1-10"
555
+ exit 1
556
+ fi
557
+
558
+ # Get list of audio files sorted by time (newest first)
559
+ if [[ ! -d "$AUDIO_DIR" ]]; then
560
+ echo "❌ No audio history found"
561
+ echo "Audio files are stored in: $AUDIO_DIR"
562
+ exit 1
563
+ fi
564
+
565
+ # Get the Nth most recent file
566
+ AUDIO_FILE=$(ls -t "$AUDIO_DIR"/tts-*.mp3 2>/dev/null | sed -n "${N}p")
567
+
568
+ if [[ -z "$AUDIO_FILE" ]]; then
569
+ TOTAL=$(ls -t "$AUDIO_DIR"/tts-*.mp3 2>/dev/null | wc -l)
570
+ echo "❌ Audio #$N not found in history"
571
+ echo "Total audio files available: $TOTAL"
572
+ exit 1
573
+ fi
574
+
575
+ echo "🔊 Replaying audio #$N:"
576
+ echo " File: $(basename "$AUDIO_FILE")"
577
+ echo " Path: $AUDIO_FILE"
578
+
579
+ # Play the audio file in background
580
+ (paplay "$AUDIO_FILE" 2>/dev/null || aplay "$AUDIO_FILE" 2>/dev/null || mpg123 "$AUDIO_FILE" 2>/dev/null) &
581
+ ;;
582
+
583
+ *)
584
+ echo "Usage: voice-manager.sh [list|switch|get|replay|whoami] [voice_name]"
585
+ echo ""
586
+ echo "Commands:"
587
+ echo " list - List all available voices"
588
+ echo " switch <voice_name> - Switch to a different voice"
589
+ echo " get - Get current voice name"
590
+ echo " replay [N] - Replay Nth most recent audio (default: 1)"
591
+ echo " whoami - Show current voice and personality"
592
+ exit 1
593
+ ;;
594
+ esac
@@ -0,0 +1,70 @@
1
+ #!/bin/bash
2
+ #
3
+ # File: .claude/hooks/voices-config.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, including but not limited to the warranties of
26
+ # merchantability, fitness for a particular purpose and noninfringement.
27
+ # In no event shall the authors or copyright holders be liable for any claim,
28
+ # damages or other liability, whether in an action of contract, tort or
29
+ # otherwise, arising from, out of or in connection with the software or the
30
+ # use or other dealings in the software.
31
+ #
32
+ # ---
33
+ #
34
+ # @fileoverview ElevenLabs Voice Configuration - Single source of truth for voice ID mappings
35
+ # @context Maps human-readable voice names to ElevenLabs API voice IDs for consistency
36
+ # @architecture Associative array (bash hash map) sourced by multiple scripts
37
+ # @dependencies None (pure data structure)
38
+ # @entrypoints Sourced by voice-manager.sh, play-tts-elevenlabs.sh, and personality managers
39
+ # @patterns Centralized configuration, DRY principle for voice mappings
40
+ # @related voice-manager.sh, play-tts-elevenlabs.sh, personality/*.md files
41
+
42
+ declare -A VOICES=(
43
+ ["Amy"]="bhJUNIXWQQ94l8eI2VUf"
44
+ ["Antoni"]="ErXwobaYiN019PkySvjV"
45
+ ["Archer"]="L0Dsvb3SLTyegXwtm47J"
46
+ ["Aria"]="TC0Zp7WVFzhA8zpTlRqV"
47
+ ["Bella"]="EXAVITQu4vr4xnSDxMaL"
48
+ ["Burt Reynolds"]="4YYIPFl9wE5c4L2eu2Gb"
49
+ ["Charlotte"]="XB0fDUnXU5powFXDhCwa"
50
+ ["Cowboy Bob"]="KTPVrSVAEUSJRClDzBw7"
51
+ ["Demon Monster"]="vfaqCOvlrKi4Zp7C2IAm"
52
+ ["Domi"]="AZnzlk1XvdvUeBnXmlld"
53
+ ["Dr. Von Fusion"]="yjJ45q8TVCrtMhEKurxY"
54
+ ["Drill Sergeant"]="vfaqCOvlrKi4Zp7C2IAm"
55
+ ["Grandpa Spuds Oxley"]="NOpBlnGInO9m6vDvFkFC"
56
+ ["Grandpa Werthers"]="MKlLqCItoCkvdhrxgtLv"
57
+ ["Jessica Anne Bogart"]="flHkNRp1BlvT73UL6gyz"
58
+ ["Juniper"]="aMSt68OGf4xUZAnLpTU8"
59
+ ["Lutz Laugh"]="9yzdeviXkFddZ4Oz8Mok"
60
+ ["Matilda"]="XrExE9yKIg1WjnnlVkGX"
61
+ ["Matthew Schmitz"]="0SpgpJ4D3MpHCiWdyTg3"
62
+ ["Michael"]="U1Vk2oyatMdYs096Ety7"
63
+ ["Ms. Walker"]="DLsHlh26Ugcm6ELvS0qi"
64
+ ["Northern Terry"]="wo6udizrrtpIxWGp2qJk"
65
+ ["Pirate Marshal"]="PPzYpIqttlTYA83688JI"
66
+ ["Rachel"]="21m00Tcm4TlvDq8ikWAM"
67
+ ["Ralf Eisend"]="A9evEp8yGjv4c3WsIKuY"
68
+ ["Tiffany"]="6aDn1KB0hjpdcocrUkmq"
69
+ ["Tom"]="DYkrAHD8iwork3YSUBbs"
70
+ )