bmad-method 6.0.0-alpha.3 → 6.0.0-alpha.5

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 (540) hide show
  1. package/.claude/commands/bmad/bmm/agents/analyst.md +67 -0
  2. package/.claude/commands/bmad/bmm/agents/architect.md +72 -0
  3. package/.claude/commands/bmad/bmm/agents/dev.md +69 -0
  4. package/.claude/commands/bmad/bmm/agents/paige.md +82 -0
  5. package/.claude/commands/bmad/bmm/agents/pm.md +76 -0
  6. package/.claude/commands/bmad/bmm/agents/sm.md +85 -0
  7. package/.claude/commands/bmad/bmm/agents/tea.md +72 -0
  8. package/.claude/commands/bmad/bmm/agents/tech-writer.md +82 -0
  9. package/.claude/commands/bmad/bmm/agents/ux-designer.md +71 -0
  10. package/.claude/commands/bmad/bmm/workflows/README.md +132 -0
  11. package/.claude/commands/bmad/bmm/workflows/architecture.md +15 -0
  12. package/.claude/commands/bmad/bmm/workflows/brainstorm-project.md +15 -0
  13. package/.claude/commands/bmad/bmm/workflows/code-review.md +15 -0
  14. package/.claude/commands/bmad/bmm/workflows/correct-course.md +15 -0
  15. package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +15 -0
  16. package/.claude/commands/bmad/bmm/workflows/create-story.md +15 -0
  17. package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +15 -0
  18. package/.claude/commands/bmad/bmm/workflows/dev-story.md +15 -0
  19. package/.claude/commands/bmad/bmm/workflows/document-project.md +15 -0
  20. package/.claude/commands/bmad/bmm/workflows/epic-tech-context.md +15 -0
  21. package/.claude/commands/bmad/bmm/workflows/narrative.md +15 -0
  22. package/.claude/commands/bmad/bmm/workflows/prd.md +15 -0
  23. package/.claude/commands/bmad/bmm/workflows/product-brief.md +15 -0
  24. package/.claude/commands/bmad/bmm/workflows/research.md +15 -0
  25. package/.claude/commands/bmad/bmm/workflows/retrospective.md +15 -0
  26. package/.claude/commands/bmad/bmm/workflows/solutioning-gate-check.md +15 -0
  27. package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +15 -0
  28. package/.claude/commands/bmad/bmm/workflows/story-context.md +15 -0
  29. package/.claude/commands/bmad/bmm/workflows/story-done.md +15 -0
  30. package/.claude/commands/bmad/bmm/workflows/story-ready.md +15 -0
  31. package/.claude/commands/bmad/bmm/workflows/tech-spec-sm.md +15 -0
  32. package/.claude/commands/bmad/bmm/workflows/tech-spec.md +15 -0
  33. package/.claude/commands/bmad/bmm/workflows/workflow-init.md +15 -0
  34. package/.claude/commands/bmad/bmm/workflows/workflow-status.md +15 -0
  35. package/.claude/commands/bmad/cis/agents/README.md +104 -0
  36. package/.claude/commands/bmad/cis/agents/brainstorming-coach.md +62 -0
  37. package/.claude/commands/bmad/cis/agents/creative-problem-solver.md +62 -0
  38. package/.claude/commands/bmad/cis/agents/design-thinking-coach.md +62 -0
  39. package/.claude/commands/bmad/cis/agents/innovation-strategist.md +62 -0
  40. package/.claude/commands/bmad/cis/agents/storyteller.md +59 -0
  41. package/.claude/commands/bmad/cis/workflows/README.md +37 -0
  42. package/.claude/commands/bmad/cis/workflows/design-thinking.md +15 -0
  43. package/.claude/commands/bmad/cis/workflows/innovation-strategy.md +15 -0
  44. package/.claude/commands/bmad/cis/workflows/problem-solving.md +15 -0
  45. package/.claude/commands/bmad/cis/workflows/storytelling.md +15 -0
  46. package/.claude/commands/bmad/core/workflows/README.md +10 -0
  47. package/.claude/settings.local.json +7 -42
  48. package/CHANGELOG.md +544 -0
  49. package/README.md +266 -101
  50. package/bmad/_cfg/agent-manifest.csv +13 -3
  51. package/bmad/_cfg/agents/bmm-dev.customize.yaml +42 -0
  52. package/bmad/_cfg/agents/bmm-paige.customize.yaml +42 -0
  53. package/bmad/_cfg/agents/bmm-pm.customize.yaml +42 -0
  54. package/bmad/_cfg/agents/bmm-sm.customize.yaml +42 -0
  55. package/bmad/_cfg/agents/bmm-tea.customize.yaml +42 -0
  56. package/bmad/_cfg/agents/bmm-tech-writer.customize.yaml +42 -0
  57. package/bmad/_cfg/agents/bmm-ux-designer.customize.yaml +42 -0
  58. package/bmad/_cfg/agents/cis-brainstorming-coach.customize.yaml +42 -0
  59. package/bmad/_cfg/agents/cis-creative-problem-solver.customize.yaml +42 -0
  60. package/bmad/_cfg/agents/cis-design-thinking-coach.customize.yaml +42 -0
  61. package/bmad/_cfg/agents/cis-innovation-strategist.customize.yaml +42 -0
  62. package/bmad/_cfg/agents/cis-storyteller.customize.yaml +42 -0
  63. package/bmad/_cfg/files-manifest.csv +267 -22
  64. package/bmad/_cfg/ides/claude-code.yaml +6 -0
  65. package/bmad/_cfg/manifest.yaml +5 -5
  66. package/bmad/_cfg/task-manifest.csv +5 -0
  67. package/bmad/_cfg/tool-manifest.csv +1 -0
  68. package/bmad/_cfg/workflow-manifest.csv +37 -2
  69. package/bmad/bmb/README.md +135 -73
  70. package/bmad/bmb/agents/bmad-builder.md.bak +70 -0
  71. package/bmad/bmb/config.yaml +2 -2
  72. package/bmad/bmb/workflows/audit-workflow/instructions.md +1 -1
  73. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +3 -1
  74. package/bmad/bmb/workflows/create-agent/README.md +126 -243
  75. package/bmad/bmb/workflows/create-agent/instructions.md +25 -12
  76. package/bmad/bmb/workflows/create-module/README.md +163 -154
  77. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +2 -0
  78. package/bmad/bmb/workflows/create-workflow/instructions.md +16 -8
  79. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +158 -0
  80. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +2 -0
  81. package/bmad/bmb/workflows/edit-agent/workflow.yaml.bak +33 -0
  82. package/bmad/bmb/workflows/edit-module/workflow.yaml.bak +34 -0
  83. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +2 -0
  84. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +2 -0
  85. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +1 -0
  86. package/bmad/bmm/README.md +128 -0
  87. package/bmad/bmm/README.md.bak +169 -0
  88. package/bmad/bmm/agents/analyst.md +67 -0
  89. package/bmad/bmm/agents/analyst.md.bak +67 -0
  90. package/bmad/bmm/agents/architect.md +72 -0
  91. package/bmad/bmm/agents/architect.md.bak +73 -0
  92. package/bmad/bmm/agents/dev.md +69 -0
  93. package/bmad/bmm/agents/dev.md.bak +69 -0
  94. package/bmad/bmm/agents/paige.md.bak +82 -0
  95. package/bmad/bmm/agents/pm.md +76 -0
  96. package/bmad/bmm/agents/pm.md.bak +76 -0
  97. package/bmad/bmm/agents/sm.md +85 -0
  98. package/bmad/bmm/agents/sm.md.bak +85 -0
  99. package/bmad/bmm/agents/tea.md +72 -0
  100. package/bmad/bmm/agents/tea.md.bak +72 -0
  101. package/bmad/bmm/agents/tech-writer.md +82 -0
  102. package/bmad/bmm/agents/ux-designer.md +71 -0
  103. package/bmad/bmm/agents/ux-designer.md.bak +71 -0
  104. package/bmad/bmm/config.yaml +17 -0
  105. package/bmad/bmm/docs/README.md +235 -0
  106. package/bmad/bmm/docs/agents-guide.md +1057 -0
  107. package/bmad/bmm/docs/brownfield-guide.md +759 -0
  108. package/bmad/bmm/docs/enterprise-agentic-development.md +680 -0
  109. package/bmad/bmm/docs/faq.md +589 -0
  110. package/bmad/bmm/docs/glossary.md +321 -0
  111. package/bmad/bmm/docs/party-mode.md +224 -0
  112. package/bmad/bmm/docs/quick-spec-flow.md +652 -0
  113. package/{docs/BMad-Method-V6-Quick-Start.md → bmad/bmm/docs/quick-start.md} +72 -47
  114. package/bmad/bmm/docs/scale-adaptive-system.md +599 -0
  115. package/bmad/bmm/docs/troubleshooting.md +680 -0
  116. package/{src/modules/bmm/workflows/3-solutioning/architecture/README.md → bmad/bmm/docs/workflow-architecture-reference.md} +130 -77
  117. package/{src/modules/bmm/workflows/document-project/README.md → bmad/bmm/docs/workflow-document-project-reference.md} +45 -2
  118. package/bmad/bmm/docs/workflows-analysis.md +670 -0
  119. package/bmad/bmm/docs/workflows-implementation.md +1758 -0
  120. package/bmad/bmm/docs/workflows-planning.md +1086 -0
  121. package/bmad/bmm/docs/workflows-solutioning.md +726 -0
  122. package/bmad/bmm/tasks/daily-standup.xml +85 -0
  123. package/bmad/bmm/teams/team-fullstack.yaml +11 -0
  124. package/bmad/bmm/teams/team-gamedev.yaml +14 -0
  125. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  126. package/bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
  127. package/bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
  128. package/bmad/bmm/testarch/knowledge/data-factories.md +500 -0
  129. package/bmad/bmm/testarch/knowledge/email-auth.md +721 -0
  130. package/bmad/bmm/testarch/knowledge/error-handling.md +725 -0
  131. package/bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
  132. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  133. package/bmad/bmm/testarch/knowledge/network-first.md +486 -0
  134. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  135. package/bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
  136. package/bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
  137. package/bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
  138. package/bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
  139. package/bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
  140. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  141. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  142. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  143. package/bmad/bmm/testarch/knowledge/test-quality.md +664 -0
  144. package/bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
  145. package/bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
  146. package/bmad/bmm/testarch/tea-index.csv +22 -0
  147. package/bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md +110 -0
  148. package/bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
  149. package/bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +26 -0
  150. package/bmad/bmm/workflows/1-analysis/domain-research/instructions.md +423 -0
  151. package/bmad/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  152. package/bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +36 -0
  153. package/bmad/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
  154. package/bmad/bmm/workflows/1-analysis/product-brief/instructions.md +524 -0
  155. package/bmad/bmm/workflows/1-analysis/product-brief/template.md +181 -0
  156. package/bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml +45 -0
  157. package/bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  158. package/bmad/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  159. package/bmad/bmm/workflows/1-analysis/research/checklist.md +299 -0
  160. package/bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
  161. package/bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +439 -0
  162. package/bmad/bmm/workflows/1-analysis/research/instructions-market.md +679 -0
  163. package/bmad/bmm/workflows/1-analysis/research/instructions-router.md +133 -0
  164. package/bmad/bmm/workflows/1-analysis/research/instructions-technical.md +538 -0
  165. package/bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
  166. package/bmad/bmm/workflows/1-analysis/research/template-market.md +347 -0
  167. package/bmad/bmm/workflows/1-analysis/research/template-technical.md +245 -0
  168. package/bmad/bmm/workflows/1-analysis/research/workflow.yaml +44 -0
  169. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
  170. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1319 -0
  171. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
  172. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +64 -0
  173. package/bmad/bmm/workflows/2-plan-workflows/narrative/checklist.md +139 -0
  174. package/bmad/bmm/workflows/2-plan-workflows/narrative/instructions-narrative.md +608 -0
  175. package/bmad/bmm/workflows/2-plan-workflows/narrative/narrative-template.md +195 -0
  176. package/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +29 -0
  177. package/bmad/bmm/workflows/2-plan-workflows/prd/checklist.md +349 -0
  178. package/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +395 -0
  179. package/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +33 -0
  180. package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  181. package/bmad/bmm/workflows/2-plan-workflows/prd/instructions.md +423 -0
  182. package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +237 -0
  183. package/bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  184. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml +46 -0
  185. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +214 -0
  186. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +58 -0
  187. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +200 -0
  188. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +451 -0
  189. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +1133 -0
  190. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +181 -0
  191. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +87 -0
  192. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +60 -0
  193. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml.bak +60 -0
  194. package/bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +347 -0
  195. package/bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
  196. package/bmad/bmm/workflows/3-solutioning/architecture/checklist.md +244 -0
  197. package/bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
  198. package/bmad/bmm/workflows/3-solutioning/architecture/instructions.md +715 -0
  199. package/bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
  200. package/bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml +67 -0
  201. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +175 -0
  202. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +322 -0
  203. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +146 -0
  204. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +189 -0
  205. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +64 -0
  206. package/bmad/bmm/workflows/4-implementation/code-review/backlog_template.md +12 -0
  207. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +22 -0
  208. package/bmad/bmm/workflows/4-implementation/code-review/instructions.md +420 -0
  209. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +74 -0
  210. package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  211. package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +201 -0
  212. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +43 -0
  213. package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +240 -0
  214. package/bmad/bmm/workflows/4-implementation/create-story/instructions.md +283 -0
  215. package/bmad/bmm/workflows/4-implementation/create-story/template.md +51 -0
  216. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +74 -0
  217. package/bmad/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +367 -0
  218. package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
  219. package/bmad/bmm/workflows/4-implementation/dev-story/instructions.md +262 -0
  220. package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +26 -0
  221. package/bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md +17 -0
  222. package/bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md +189 -0
  223. package/bmad/bmm/workflows/4-implementation/epic-tech-context/template.md +76 -0
  224. package/bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +58 -0
  225. package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1460 -0
  226. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +71 -0
  227. package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  228. package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +238 -0
  229. package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  230. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -0
  231. package/bmad/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
  232. package/bmad/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
  233. package/bmad/bmm/workflows/4-implementation/story-context/instructions.md +234 -0
  234. package/bmad/bmm/workflows/4-implementation/story-context/workflow.yaml +57 -0
  235. package/bmad/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
  236. package/bmad/bmm/workflows/4-implementation/story-done/workflow.yaml +25 -0
  237. package/bmad/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
  238. package/bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml +25 -0
  239. package/bmad/bmm/workflows/document-project/checklist.md +245 -0
  240. package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  241. package/bmad/bmm/workflows/document-project/instructions.md +222 -0
  242. package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  243. package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  244. package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  245. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  246. package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  247. package/bmad/bmm/workflows/document-project/workflow.yaml +34 -0
  248. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  249. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  250. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  251. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  252. package/bmad/bmm/workflows/techdoc/documentation-standards.md +239 -0
  253. package/bmad/bmm/workflows/techdoc/documentation-standards.md.bak +238 -0
  254. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  255. package/bmad/bmm/workflows/testarch/atdd/checklist.md +373 -0
  256. package/bmad/bmm/workflows/testarch/atdd/instructions.md +785 -0
  257. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +52 -0
  258. package/bmad/bmm/workflows/testarch/automate/checklist.md +580 -0
  259. package/bmad/bmm/workflows/testarch/automate/instructions.md +1303 -0
  260. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +61 -0
  261. package/bmad/bmm/workflows/testarch/ci/checklist.md +246 -0
  262. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
  263. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
  264. package/bmad/bmm/workflows/testarch/ci/instructions.md +517 -0
  265. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +53 -0
  266. package/bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
  267. package/bmad/bmm/workflows/testarch/framework/instructions.md +455 -0
  268. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +53 -0
  269. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
  270. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  271. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
  272. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +56 -0
  273. package/bmad/bmm/workflows/testarch/test-design/checklist.md +234 -0
  274. package/bmad/bmm/workflows/testarch/test-design/instructions.md +621 -0
  275. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
  276. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +52 -0
  277. package/bmad/bmm/workflows/testarch/test-review/checklist.md +470 -0
  278. package/bmad/bmm/workflows/testarch/test-review/instructions.md +608 -0
  279. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
  280. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +53 -0
  281. package/bmad/bmm/workflows/testarch/trace/checklist.md +654 -0
  282. package/bmad/bmm/workflows/testarch/trace/instructions.md +1045 -0
  283. package/bmad/bmm/workflows/testarch/trace/trace-template.md +673 -0
  284. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +66 -0
  285. package/bmad/bmm/workflows/workflow-status/init/instructions.md +771 -0
  286. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +27 -0
  287. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml.bak +27 -0
  288. package/bmad/bmm/workflows/workflow-status/instructions.md +386 -0
  289. package/bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +120 -0
  290. package/bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +108 -0
  291. package/bmad/bmm/workflows/workflow-status/paths/game-design.yaml +75 -0
  292. package/{src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml → bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml} +33 -31
  293. package/{src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml → bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml} +31 -21
  294. package/{src/modules/bmm/workflows/workflow-status/paths/brownfield-level-1.yaml → bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml} +18 -18
  295. package/{src/modules/bmm/workflows/workflow-status/paths/greenfield-level-1.yaml → bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml} +16 -18
  296. package/bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  297. package/bmad/bmm/workflows/workflow-status/sample-level-3-workflow.yaml +49 -0
  298. package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +31 -0
  299. package/bmad/bmm/workflows/workflow-status/workflow.yaml +28 -0
  300. package/bmad/cis/README.md +153 -0
  301. package/bmad/cis/agents/README.md +104 -0
  302. package/bmad/cis/agents/brainstorming-coach.md +62 -0
  303. package/bmad/cis/agents/brainstorming-coach.md.bak +62 -0
  304. package/bmad/cis/agents/creative-problem-solver.md +62 -0
  305. package/bmad/cis/agents/creative-problem-solver.md.bak +62 -0
  306. package/bmad/cis/agents/design-thinking-coach.md +62 -0
  307. package/bmad/cis/agents/design-thinking-coach.md.bak +62 -0
  308. package/bmad/cis/agents/innovation-strategist.md +62 -0
  309. package/bmad/cis/agents/innovation-strategist.md.bak +62 -0
  310. package/bmad/cis/agents/storyteller.md +59 -0
  311. package/bmad/cis/agents/storyteller.md.bak +59 -0
  312. package/bmad/{bmd → cis}/config.yaml +3 -3
  313. package/bmad/cis/teams/creative-squad.yaml +6 -0
  314. package/bmad/cis/workflows/README.md +139 -0
  315. package/bmad/cis/workflows/design-thinking/README.md +56 -0
  316. package/bmad/cis/workflows/design-thinking/design-methods.csv +31 -0
  317. package/bmad/cis/workflows/design-thinking/instructions.md +200 -0
  318. package/bmad/cis/workflows/design-thinking/template.md +111 -0
  319. package/bmad/cis/workflows/design-thinking/workflow.yaml +32 -0
  320. package/bmad/cis/workflows/innovation-strategy/README.md +56 -0
  321. package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  322. package/bmad/cis/workflows/innovation-strategy/instructions.md +274 -0
  323. package/bmad/cis/workflows/innovation-strategy/template.md +189 -0
  324. package/bmad/cis/workflows/innovation-strategy/workflow.yaml +32 -0
  325. package/bmad/cis/workflows/problem-solving/README.md +56 -0
  326. package/bmad/cis/workflows/problem-solving/instructions.md +250 -0
  327. package/bmad/cis/workflows/problem-solving/solving-methods.csv +31 -0
  328. package/bmad/cis/workflows/problem-solving/template.md +165 -0
  329. package/bmad/cis/workflows/problem-solving/workflow.yaml +32 -0
  330. package/bmad/cis/workflows/storytelling/README.md +58 -0
  331. package/bmad/cis/workflows/storytelling/instructions.md +291 -0
  332. package/bmad/cis/workflows/storytelling/story-types.csv +26 -0
  333. package/bmad/cis/workflows/storytelling/template.md +113 -0
  334. package/bmad/cis/workflows/storytelling/workflow.yaml +32 -0
  335. package/bmad/core/agents/bmad-master.md.bak +71 -0
  336. package/bmad/core/config.yaml +2 -2
  337. package/bmad/core/tasks/workflow.xml +1 -19
  338. package/bmad/core/tools/shard-doc.xml +8 -43
  339. package/docs/document-sharding-guide.md +447 -0
  340. package/docs/index.md +37 -41
  341. package/package.json +1 -1
  342. package/src/core/tasks/workflow.xml +1 -11
  343. package/src/core/tools/shard-doc.xml +8 -43
  344. package/src/modules/bmb/workflows/audit-workflow/instructions.md +1 -1
  345. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +158 -0
  346. package/src/modules/bmm/README.md +79 -95
  347. package/src/modules/bmm/agents/architect.agent.yaml +0 -4
  348. package/src/modules/bmm/agents/game-designer.agent.yaml +2 -2
  349. package/src/modules/bmm/agents/game-dev.agent.yaml +8 -12
  350. package/src/modules/bmm/agents/pm.agent.yaml +11 -1
  351. package/src/modules/bmm/agents/sm.agent.yaml +1 -1
  352. package/src/modules/bmm/agents/tech-writer.agent.yaml +69 -0
  353. package/src/modules/bmm/docs/README.md +235 -0
  354. package/src/modules/bmm/docs/agents-guide.md +1057 -0
  355. package/src/modules/bmm/docs/brownfield-guide.md +759 -0
  356. package/src/modules/bmm/docs/enterprise-agentic-development.md +680 -0
  357. package/src/modules/bmm/docs/faq.md +589 -0
  358. package/src/modules/bmm/docs/glossary.md +321 -0
  359. package/src/modules/bmm/docs/party-mode.md +224 -0
  360. package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
  361. package/src/modules/bmm/docs/quick-start.md +366 -0
  362. package/src/modules/bmm/docs/scale-adaptive-system.md +599 -0
  363. package/src/modules/bmm/docs/troubleshooting.md +680 -0
  364. package/src/modules/bmm/docs/workflow-architecture-reference.md +371 -0
  365. package/src/modules/bmm/docs/workflow-document-project-reference.md +487 -0
  366. package/src/modules/bmm/docs/workflows-analysis.md +670 -0
  367. package/src/modules/bmm/docs/workflows-implementation.md +1758 -0
  368. package/src/modules/bmm/docs/workflows-planning.md +1086 -0
  369. package/src/modules/bmm/docs/workflows-solutioning.md +726 -0
  370. package/src/modules/bmm/tasks/daily-standup.xml +1 -1
  371. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +423 -0
  372. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  373. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +36 -0
  374. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +405 -213
  375. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +93 -77
  376. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +14 -0
  377. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  378. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  379. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +154 -57
  380. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +45 -29
  381. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +181 -104
  382. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +24 -32
  383. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +94 -46
  384. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +37 -1
  385. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +36 -1
  386. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +13 -0
  387. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1 -1
  388. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +22 -0
  389. package/src/modules/bmm/workflows/2-plan-workflows/gdd/instructions-gdd.md +18 -0
  390. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +14 -0
  391. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +296 -63
  392. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md +52 -0
  393. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +169 -0
  394. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +55 -0
  395. package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  396. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +268 -291
  397. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +198 -23
  398. package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  399. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +26 -8
  400. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +138 -31
  401. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +73 -4
  402. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +50 -17
  403. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +199 -26
  404. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +971 -109
  405. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +132 -6
  406. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +54 -20
  407. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +23 -2
  408. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +1 -1
  409. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +40 -32
  410. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +17 -4
  411. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +1 -0
  412. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +32 -6
  413. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +29 -0
  414. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +20 -0
  415. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +29 -0
  416. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +27 -0
  417. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +29 -0
  418. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +32 -6
  419. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +1222 -241
  420. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +28 -0
  421. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +17 -0
  422. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +8 -0
  423. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +31 -1
  424. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +27 -0
  425. package/src/modules/bmm/workflows/techdoc/documentation-standards.md +239 -0
  426. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +623 -242
  427. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +120 -0
  428. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +108 -0
  429. package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-4.yaml → method-brownfield.yaml} +35 -26
  430. package/src/modules/bmm/workflows/workflow-status/paths/{greenfield-level-3.yaml → method-greenfield.yaml} +32 -17
  431. package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-0.yaml → quick-flow-brownfield.yaml} +23 -19
  432. package/src/modules/bmm/workflows/workflow-status/paths/{greenfield-level-0.yaml → quick-flow-greenfield.yaml} +18 -16
  433. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +4 -4
  434. package/tools/cli/commands/install.js +1 -1
  435. package/.claude/commands/bmad/bmd/agents/cli-chief.md +0 -108
  436. package/.claude/commands/bmad/bmd/agents/doc-keeper.md +0 -115
  437. package/.claude/commands/bmad/bmd/agents/release-chief.md +0 -109
  438. package/.claude/hooks/bmad-tts-injector.sh +0 -415
  439. package/.claude/hooks/bmad-voice-manager.sh +0 -511
  440. package/.claude/hooks/check-output-style.sh +0 -112
  441. package/.claude/hooks/download-extra-voices.sh +0 -244
  442. package/.claude/hooks/github-star-reminder.sh +0 -154
  443. package/.claude/hooks/language-manager.sh +0 -392
  444. package/.claude/hooks/learn-manager.sh +0 -475
  445. package/.claude/hooks/personality-manager.sh +0 -438
  446. package/.claude/hooks/piper-download-voices.sh +0 -165
  447. package/.claude/hooks/piper-installer.sh +0 -178
  448. package/.claude/hooks/piper-multispeaker-registry.sh +0 -165
  449. package/.claude/hooks/piper-voice-manager.sh +0 -293
  450. package/.claude/hooks/play-tts-elevenlabs.sh +0 -404
  451. package/.claude/hooks/play-tts-piper.sh +0 -338
  452. package/.claude/hooks/play-tts.sh +0 -100
  453. package/.claude/hooks/provider-commands.sh +0 -540
  454. package/.claude/hooks/provider-manager.sh +0 -298
  455. package/.claude/hooks/replay-target-audio.sh +0 -95
  456. package/.claude/hooks/sentiment-manager.sh +0 -201
  457. package/.claude/hooks/speed-manager.sh +0 -291
  458. package/.claude/hooks/voice-manager.sh +0 -594
  459. package/.claude/hooks/voices-config.sh +0 -70
  460. package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +0 -32
  461. package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +0 -412
  462. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +0 -759
  463. package/bmad/bmb/workflows/create-module/README.md.bak +0 -218
  464. package/bmad/bmb/workflows/create-module/checklist.md.bak +0 -245
  465. package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +0 -231
  466. package/bmad/bmb/workflows/create-module/instructions.md.bak +0 -521
  467. package/bmad/bmb/workflows/create-module/module-structure.md.bak +0 -310
  468. package/bmad/bmd/README.md +0 -193
  469. package/bmad/bmd/README.md.bak +0 -193
  470. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  471. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +0 -102
  472. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  473. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +0 -68
  474. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  475. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +0 -123
  476. package/bmad/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  477. package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +0 -53
  478. package/bmad/bmd/agents/cli-chief.md +0 -108
  479. package/bmad/bmd/agents/cli-chief.md.bak +0 -108
  480. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  481. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +0 -177
  482. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  483. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +0 -81
  484. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  485. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +0 -88
  486. package/bmad/bmd/agents/doc-keeper.md +0 -115
  487. package/bmad/bmd/agents/doc-keeper.md.bak +0 -115
  488. package/bmad/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  489. package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +0 -164
  490. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  491. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +0 -82
  492. package/bmad/bmd/agents/release-chief-sidecar/memories.md +0 -73
  493. package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +0 -73
  494. package/bmad/bmd/agents/release-chief.md +0 -109
  495. package/bmad/bmd/agents/release-chief.md.bak +0 -109
  496. package/bmad/docs/codex-instructions.md +0 -21
  497. package/docs/bmad-brownfield-guide.md +0 -1260
  498. package/docs/conversion-report-shard-doc-2025-10-26.md +0 -188
  499. package/src/modules/bmm/tasks/retrospective.xml +0 -104
  500. package/src/modules/bmm/testarch/README.md +0 -311
  501. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +0 -38
  502. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +0 -113
  503. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +0 -221
  504. package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +0 -180
  505. package/src/modules/bmm/workflows/1-analysis/research/README.md +0 -454
  506. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +0 -259
  507. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +0 -190
  508. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +0 -337
  509. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +0 -107
  510. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +0 -329
  511. package/src/modules/bmm/workflows/2-plan-workflows/README.md +0 -258
  512. package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +0 -222
  513. package/src/modules/bmm/workflows/3-solutioning/README.md +0 -1
  514. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +0 -177
  515. package/src/modules/bmm/workflows/4-implementation/README.md +0 -221
  516. package/src/modules/bmm/workflows/4-implementation/code-review/README.md +0 -69
  517. package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +0 -73
  518. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +0 -146
  519. package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +0 -206
  520. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +0 -195
  521. package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +0 -77
  522. package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +0 -156
  523. package/src/modules/bmm/workflows/4-implementation/story-context/README.md +0 -234
  524. package/src/modules/bmm/workflows/README.md +0 -215
  525. package/src/modules/bmm/workflows/document-project/templates/README.md +0 -38
  526. package/src/modules/bmm/workflows/testarch/README.md +0 -26
  527. package/src/modules/bmm/workflows/testarch/atdd/README.md +0 -672
  528. package/src/modules/bmm/workflows/testarch/automate/README.md +0 -869
  529. package/src/modules/bmm/workflows/testarch/ci/README.md +0 -493
  530. package/src/modules/bmm/workflows/testarch/framework/README.md +0 -340
  531. package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +0 -469
  532. package/src/modules/bmm/workflows/testarch/test-design/README.md +0 -493
  533. package/src/modules/bmm/workflows/testarch/test-review/README.md +0 -775
  534. package/src/modules/bmm/workflows/testarch/trace/README.md +0 -802
  535. package/src/modules/bmm/workflows/workflow-status/README.md +0 -260
  536. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +0 -76
  537. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +0 -75
  538. /package/bmad/_cfg/agents/{bmd-doc-keeper.customize.yaml → bmm-analyst.customize.yaml} +0 -0
  539. /package/bmad/_cfg/agents/{bmd-release-chief.customize.yaml → bmm-architect.customize.yaml} +0 -0
  540. /package/{src/modules/bmm/workflows/2-plan-workflows/prd → bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories}/epics-template.md +0 -0
@@ -1,594 +0,0 @@
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
@@ -1,70 +0,0 @@
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
- )
@@ -1,32 +0,0 @@
1
- # Personal Customization File for Scott (CLI Chief)
2
- # Changes here merge with the core agent at build time
3
- # Experiment freely - this is your playground!
4
-
5
- agent:
6
- metadata:
7
- name: "" # Try nicknames! "Scotty", "Chief", etc.
8
- # title: '' # Uncomment to override title
9
- # icon: '' # Uncomment to try different emoji
10
-
11
- persona:
12
- role: "" # Override the role description
13
- identity: "" # Add to or replace the identity
14
- communication_style: "" # Switch styles anytime - try Film Noir, Zen Master, etc!
15
- principles: [] # Add your own principles or override existing ones
16
-
17
- critical_actions: []
18
- # Add custom startup actions
19
- # - Remember my custom preferences
20
- # - Load additional context files
21
-
22
- prompts: []
23
- # Add custom prompts for special operations
24
- # - id: custom-diagnostic
25
- # prompt: |
26
- # My special diagnostic routine...
27
-
28
- menu: []
29
- # Add personal commands that merge with core commands
30
- # - trigger: my-custom-command
31
- # action: Do something special
32
- # description: My custom operation