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

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 (521) hide show
  1. package/.claude/commands/bmad/bmm/agents/analyst.md +67 -0
  2. package/.claude/commands/bmad/bmm/agents/architect.md +73 -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/ux-designer.md +71 -0
  9. package/.claude/commands/bmad/bmm/workflows/README.md +132 -0
  10. package/.claude/commands/bmad/bmm/workflows/architecture.md +15 -0
  11. package/.claude/commands/bmad/bmm/workflows/brainstorm-project.md +15 -0
  12. package/.claude/commands/bmad/bmm/workflows/code-review.md +15 -0
  13. package/.claude/commands/bmad/bmm/workflows/correct-course.md +15 -0
  14. package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +15 -0
  15. package/.claude/commands/bmad/bmm/workflows/create-story.md +15 -0
  16. package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +15 -0
  17. package/.claude/commands/bmad/bmm/workflows/dev-story.md +15 -0
  18. package/.claude/commands/bmad/bmm/workflows/document-project.md +15 -0
  19. package/.claude/commands/bmad/bmm/workflows/narrative.md +15 -0
  20. package/.claude/commands/bmad/bmm/workflows/prd.md +15 -0
  21. package/.claude/commands/bmad/bmm/workflows/product-brief.md +15 -0
  22. package/.claude/commands/bmad/bmm/workflows/research.md +15 -0
  23. package/.claude/commands/bmad/bmm/workflows/retrospective.md +15 -0
  24. package/.claude/commands/bmad/bmm/workflows/solutioning-gate-check.md +15 -0
  25. package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +15 -0
  26. package/.claude/commands/bmad/bmm/workflows/story-context.md +15 -0
  27. package/.claude/commands/bmad/bmm/workflows/story-done.md +15 -0
  28. package/.claude/commands/bmad/bmm/workflows/story-ready.md +15 -0
  29. package/.claude/commands/bmad/bmm/workflows/tech-spec-sm.md +15 -0
  30. package/.claude/commands/bmad/bmm/workflows/tech-spec.md +15 -0
  31. package/.claude/commands/bmad/bmm/workflows/workflow-init.md +15 -0
  32. package/.claude/commands/bmad/bmm/workflows/workflow-status.md +15 -0
  33. package/.claude/commands/bmad/cis/agents/README.md +104 -0
  34. package/.claude/commands/bmad/cis/agents/brainstorming-coach.md +62 -0
  35. package/.claude/commands/bmad/cis/agents/creative-problem-solver.md +62 -0
  36. package/.claude/commands/bmad/cis/agents/design-thinking-coach.md +62 -0
  37. package/.claude/commands/bmad/cis/agents/innovation-strategist.md +62 -0
  38. package/.claude/commands/bmad/cis/agents/storyteller.md +59 -0
  39. package/.claude/commands/bmad/cis/workflows/README.md +37 -0
  40. package/.claude/commands/bmad/cis/workflows/design-thinking.md +15 -0
  41. package/.claude/commands/bmad/cis/workflows/innovation-strategy.md +15 -0
  42. package/.claude/commands/bmad/cis/workflows/problem-solving.md +15 -0
  43. package/.claude/commands/bmad/cis/workflows/storytelling.md +15 -0
  44. package/.claude/settings.local.json +10 -31
  45. package/CHANGELOG.md +239 -0
  46. package/README.md +210 -146
  47. package/bmad/_cfg/agent-manifest.csv +13 -4
  48. package/bmad/_cfg/agents/bmm-dev.customize.yaml +42 -0
  49. package/bmad/_cfg/agents/bmm-paige.customize.yaml +42 -0
  50. package/bmad/_cfg/agents/bmm-pm.customize.yaml +42 -0
  51. package/bmad/_cfg/agents/bmm-sm.customize.yaml +42 -0
  52. package/bmad/_cfg/agents/bmm-tea.customize.yaml +42 -0
  53. package/bmad/_cfg/agents/bmm-ux-designer.customize.yaml +42 -0
  54. package/bmad/_cfg/agents/cis-brainstorming-coach.customize.yaml +42 -0
  55. package/bmad/_cfg/agents/cis-creative-problem-solver.customize.yaml +42 -0
  56. package/bmad/_cfg/agents/cis-design-thinking-coach.customize.yaml +42 -0
  57. package/bmad/_cfg/agents/cis-innovation-strategist.customize.yaml +42 -0
  58. package/bmad/_cfg/agents/cis-storyteller.customize.yaml +42 -0
  59. package/bmad/_cfg/files-manifest.csv +289 -22
  60. package/bmad/_cfg/ides/claude-code.yaml +6 -0
  61. package/bmad/_cfg/manifest.yaml +5 -6
  62. package/bmad/_cfg/task-manifest.csv +2 -0
  63. package/bmad/_cfg/workflow-manifest.csv +35 -2
  64. package/bmad/bmb/README.md +135 -73
  65. package/bmad/bmb/agents/bmad-builder.md.bak +70 -0
  66. package/bmad/bmb/config.yaml +2 -2
  67. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +3 -1
  68. package/bmad/bmb/workflows/create-agent/README.md +126 -243
  69. package/bmad/bmb/workflows/create-agent/instructions.md +25 -12
  70. package/bmad/bmb/workflows/create-module/README.md +163 -154
  71. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +2 -0
  72. package/bmad/bmb/workflows/create-workflow/instructions.md +16 -8
  73. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +158 -0
  74. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +2 -0
  75. package/bmad/bmb/workflows/edit-agent/workflow.yaml.bak +33 -0
  76. package/bmad/bmb/workflows/edit-module/workflow.yaml.bak +34 -0
  77. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +2 -0
  78. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +2 -0
  79. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +1 -0
  80. package/bmad/bmm/README.md +169 -0
  81. package/bmad/bmm/agents/analyst.md +67 -0
  82. package/bmad/bmm/agents/architect.md +73 -0
  83. package/bmad/bmm/agents/dev.md +69 -0
  84. package/bmad/bmm/agents/paige.md +82 -0
  85. package/bmad/bmm/agents/pm.md +76 -0
  86. package/bmad/bmm/agents/sm.md +85 -0
  87. package/bmad/bmm/agents/tea.md +72 -0
  88. package/bmad/bmm/agents/ux-designer.md +71 -0
  89. package/bmad/bmm/config.yaml +17 -0
  90. package/bmad/bmm/docs/quick-spec-flow.md +645 -0
  91. package/bmad/bmm/docs/quick-start.md +341 -0
  92. package/bmad/bmm/docs/scale-adaptive-system.md +1045 -0
  93. package/bmad/bmm/tasks/daily-standup.xml +85 -0
  94. package/bmad/bmm/teams/team-fullstack.yaml +11 -0
  95. package/bmad/bmm/teams/team-gamedev.yaml +14 -0
  96. package/bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  97. package/bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
  98. package/bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
  99. package/bmad/bmm/testarch/knowledge/data-factories.md +500 -0
  100. package/bmad/bmm/testarch/knowledge/email-auth.md +721 -0
  101. package/bmad/bmm/testarch/knowledge/error-handling.md +725 -0
  102. package/bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
  103. package/bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  104. package/bmad/bmm/testarch/knowledge/network-first.md +486 -0
  105. package/bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  106. package/bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
  107. package/bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
  108. package/bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
  109. package/bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
  110. package/bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
  111. package/bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  112. package/bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  113. package/bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  114. package/bmad/bmm/testarch/knowledge/test-quality.md +664 -0
  115. package/bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
  116. package/bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
  117. package/bmad/bmm/testarch/tea-index.csv +22 -0
  118. package/bmad/bmm/workflows/1-analysis/brainstorm-project/README.md +113 -0
  119. package/bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md +110 -0
  120. package/bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
  121. package/bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +26 -0
  122. package/bmad/bmm/workflows/1-analysis/domain-research/instructions.md +423 -0
  123. package/bmad/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  124. package/bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +36 -0
  125. package/bmad/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
  126. package/bmad/bmm/workflows/1-analysis/product-brief/instructions.md +524 -0
  127. package/bmad/bmm/workflows/1-analysis/product-brief/template.md +181 -0
  128. package/bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml +45 -0
  129. package/bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  130. package/bmad/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  131. package/bmad/bmm/workflows/1-analysis/research/checklist.md +299 -0
  132. package/bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
  133. package/bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +439 -0
  134. package/bmad/bmm/workflows/1-analysis/research/instructions-market.md +679 -0
  135. package/bmad/bmm/workflows/1-analysis/research/instructions-router.md +133 -0
  136. package/bmad/bmm/workflows/1-analysis/research/instructions-technical.md +538 -0
  137. package/bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
  138. package/bmad/bmm/workflows/1-analysis/research/template-market.md +347 -0
  139. package/bmad/bmm/workflows/1-analysis/research/template-technical.md +245 -0
  140. package/bmad/bmm/workflows/1-analysis/research/workflow.yaml +44 -0
  141. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
  142. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1319 -0
  143. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
  144. package/bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +64 -0
  145. package/bmad/bmm/workflows/2-plan-workflows/narrative/checklist.md +139 -0
  146. package/bmad/bmm/workflows/2-plan-workflows/narrative/instructions-narrative.md +608 -0
  147. package/bmad/bmm/workflows/2-plan-workflows/narrative/narrative-template.md +195 -0
  148. package/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml +29 -0
  149. package/bmad/bmm/workflows/2-plan-workflows/prd/checklist.md +349 -0
  150. package/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +395 -0
  151. package/bmad/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +33 -0
  152. package/bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  153. package/bmad/bmm/workflows/2-plan-workflows/prd/instructions.md +423 -0
  154. package/bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +237 -0
  155. package/bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  156. package/bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml +46 -0
  157. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +214 -0
  158. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +58 -0
  159. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +200 -0
  160. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +451 -0
  161. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +1133 -0
  162. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +181 -0
  163. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +87 -0
  164. package/bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +60 -0
  165. package/bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +347 -0
  166. package/bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
  167. package/bmad/bmm/workflows/3-solutioning/architecture/checklist.md +244 -0
  168. package/bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
  169. package/bmad/bmm/workflows/3-solutioning/architecture/instructions.md +715 -0
  170. package/bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
  171. package/bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml +67 -0
  172. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/checklist.md +175 -0
  173. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +322 -0
  174. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/template.md +146 -0
  175. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +189 -0
  176. package/bmad/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +64 -0
  177. package/bmad/bmm/workflows/4-implementation/code-review/backlog_template.md +12 -0
  178. package/bmad/bmm/workflows/4-implementation/code-review/checklist.md +22 -0
  179. package/bmad/bmm/workflows/4-implementation/code-review/instructions.md +420 -0
  180. package/bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +74 -0
  181. package/bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  182. package/bmad/bmm/workflows/4-implementation/correct-course/instructions.md +201 -0
  183. package/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +43 -0
  184. package/bmad/bmm/workflows/4-implementation/create-story/README.md +146 -0
  185. package/bmad/bmm/workflows/4-implementation/create-story/checklist.md +240 -0
  186. package/bmad/bmm/workflows/4-implementation/create-story/instructions.md +283 -0
  187. package/bmad/bmm/workflows/4-implementation/create-story/template.md +51 -0
  188. package/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +74 -0
  189. package/bmad/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +367 -0
  190. package/bmad/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
  191. package/bmad/bmm/workflows/4-implementation/dev-story/instructions.md +262 -0
  192. package/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +26 -0
  193. package/bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md +17 -0
  194. package/bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md +189 -0
  195. package/bmad/bmm/workflows/4-implementation/epic-tech-context/template.md +76 -0
  196. package/bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +58 -0
  197. package/bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1460 -0
  198. package/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +71 -0
  199. package/bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  200. package/bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +238 -0
  201. package/bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  202. package/bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +47 -0
  203. package/bmad/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
  204. package/bmad/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
  205. package/bmad/bmm/workflows/4-implementation/story-context/instructions.md +234 -0
  206. package/bmad/bmm/workflows/4-implementation/story-context/workflow.yaml +57 -0
  207. package/bmad/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
  208. package/bmad/bmm/workflows/4-implementation/story-done/workflow.yaml +25 -0
  209. package/bmad/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
  210. package/bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml +25 -0
  211. package/bmad/bmm/workflows/README.md +256 -0
  212. package/bmad/bmm/workflows/document-project/checklist.md +245 -0
  213. package/bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  214. package/bmad/bmm/workflows/document-project/instructions.md +222 -0
  215. package/bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  216. package/bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  217. package/bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  218. package/bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  219. package/bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  220. package/bmad/bmm/workflows/document-project/workflow.yaml +34 -0
  221. package/bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  222. package/bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  223. package/bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  224. package/bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  225. package/bmad/bmm/workflows/techdoc/documentation-standards.md +238 -0
  226. package/bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  227. package/bmad/bmm/workflows/testarch/atdd/checklist.md +373 -0
  228. package/bmad/bmm/workflows/testarch/atdd/instructions.md +785 -0
  229. package/bmad/bmm/workflows/testarch/atdd/workflow.yaml +52 -0
  230. package/bmad/bmm/workflows/testarch/automate/checklist.md +580 -0
  231. package/bmad/bmm/workflows/testarch/automate/instructions.md +1303 -0
  232. package/bmad/bmm/workflows/testarch/automate/workflow.yaml +61 -0
  233. package/bmad/bmm/workflows/testarch/ci/checklist.md +246 -0
  234. package/bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
  235. package/bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
  236. package/bmad/bmm/workflows/testarch/ci/instructions.md +517 -0
  237. package/bmad/bmm/workflows/testarch/ci/workflow.yaml +53 -0
  238. package/bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
  239. package/bmad/bmm/workflows/testarch/framework/instructions.md +455 -0
  240. package/bmad/bmm/workflows/testarch/framework/workflow.yaml +53 -0
  241. package/bmad/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
  242. package/bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  243. package/bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
  244. package/bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +56 -0
  245. package/bmad/bmm/workflows/testarch/test-design/checklist.md +234 -0
  246. package/bmad/bmm/workflows/testarch/test-design/instructions.md +621 -0
  247. package/bmad/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
  248. package/bmad/bmm/workflows/testarch/test-design/workflow.yaml +52 -0
  249. package/bmad/bmm/workflows/testarch/test-review/checklist.md +470 -0
  250. package/bmad/bmm/workflows/testarch/test-review/instructions.md +608 -0
  251. package/bmad/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
  252. package/bmad/bmm/workflows/testarch/test-review/workflow.yaml +53 -0
  253. package/bmad/bmm/workflows/testarch/trace/checklist.md +654 -0
  254. package/bmad/bmm/workflows/testarch/trace/instructions.md +1045 -0
  255. package/bmad/bmm/workflows/testarch/trace/trace-template.md +673 -0
  256. package/bmad/bmm/workflows/testarch/trace/workflow.yaml +66 -0
  257. package/{src/modules → bmad}/bmm/workflows/workflow-status/README.md +38 -19
  258. package/bmad/bmm/workflows/workflow-status/init/instructions.md +390 -0
  259. package/bmad/bmm/workflows/workflow-status/init/workflow.yaml +27 -0
  260. package/bmad/bmm/workflows/workflow-status/instructions.md +386 -0
  261. package/bmad/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +54 -0
  262. package/bmad/bmm/workflows/workflow-status/paths/brownfield-level-1.yaml +58 -0
  263. package/bmad/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +76 -0
  264. package/bmad/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +95 -0
  265. package/bmad/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +88 -0
  266. package/bmad/bmm/workflows/workflow-status/paths/game-design.yaml +75 -0
  267. package/bmad/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +45 -0
  268. package/bmad/bmm/workflows/workflow-status/paths/greenfield-level-1.yaml +49 -0
  269. package/bmad/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +78 -0
  270. package/bmad/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +73 -0
  271. package/bmad/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +75 -0
  272. package/bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  273. package/bmad/bmm/workflows/workflow-status/sample-level-3-workflow.yaml +49 -0
  274. package/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +31 -0
  275. package/bmad/bmm/workflows/workflow-status/workflow.yaml +28 -0
  276. package/bmad/cis/README.md +153 -0
  277. package/bmad/cis/agents/README.md +104 -0
  278. package/bmad/cis/agents/brainstorming-coach.md +62 -0
  279. package/bmad/cis/agents/creative-problem-solver.md +62 -0
  280. package/bmad/cis/agents/design-thinking-coach.md +62 -0
  281. package/bmad/cis/agents/innovation-strategist.md +62 -0
  282. package/bmad/cis/agents/storyteller.md +59 -0
  283. package/bmad/{bmd → cis}/config.yaml +3 -3
  284. package/bmad/cis/teams/creative-squad.yaml +6 -0
  285. package/bmad/cis/workflows/README.md +139 -0
  286. package/bmad/cis/workflows/design-thinking/README.md +56 -0
  287. package/bmad/cis/workflows/design-thinking/design-methods.csv +31 -0
  288. package/bmad/cis/workflows/design-thinking/instructions.md +200 -0
  289. package/bmad/cis/workflows/design-thinking/template.md +111 -0
  290. package/bmad/cis/workflows/design-thinking/workflow.yaml +32 -0
  291. package/bmad/cis/workflows/innovation-strategy/README.md +56 -0
  292. package/bmad/cis/workflows/innovation-strategy/innovation-frameworks.csv +31 -0
  293. package/bmad/cis/workflows/innovation-strategy/instructions.md +274 -0
  294. package/bmad/cis/workflows/innovation-strategy/template.md +189 -0
  295. package/bmad/cis/workflows/innovation-strategy/workflow.yaml +32 -0
  296. package/bmad/cis/workflows/problem-solving/README.md +56 -0
  297. package/bmad/cis/workflows/problem-solving/instructions.md +250 -0
  298. package/bmad/cis/workflows/problem-solving/solving-methods.csv +31 -0
  299. package/bmad/cis/workflows/problem-solving/template.md +165 -0
  300. package/bmad/cis/workflows/problem-solving/workflow.yaml +32 -0
  301. package/bmad/cis/workflows/storytelling/README.md +58 -0
  302. package/bmad/cis/workflows/storytelling/instructions.md +291 -0
  303. package/bmad/cis/workflows/storytelling/story-types.csv +26 -0
  304. package/bmad/cis/workflows/storytelling/template.md +113 -0
  305. package/bmad/cis/workflows/storytelling/workflow.yaml +32 -0
  306. package/bmad/core/agents/bmad-master.md.bak +69 -0
  307. package/bmad/core/config.yaml +2 -2
  308. package/bmad/core/tasks/workflow.xml +0 -8
  309. package/bmad/core/tools/shard-doc.xml +8 -43
  310. package/docs/document-sharding-guide.md +447 -0
  311. package/docs/index.md +225 -0
  312. package/docs/v4-to-v6-upgrade.md +9 -7
  313. package/package.json +1 -1
  314. package/src/core/tools/shard-doc.xml +8 -43
  315. package/src/modules/bmb/README.md +135 -73
  316. package/src/modules/bmb/workflows/create-agent/README.md +126 -243
  317. package/src/modules/bmb/workflows/create-agent/instructions.md +25 -12
  318. package/src/modules/bmb/workflows/create-module/README.md +163 -154
  319. package/src/modules/bmb/workflows/create-workflow/instructions.md +16 -8
  320. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +158 -0
  321. package/src/modules/bmm/README.md +79 -92
  322. package/src/modules/bmm/agents/game-designer.agent.yaml +2 -2
  323. package/src/modules/bmm/agents/paige.agent.yaml +69 -0
  324. package/src/modules/bmm/agents/pm.agent.yaml +11 -1
  325. package/src/modules/bmm/docs/README.md +235 -0
  326. package/src/modules/bmm/docs/agents-guide.md +1109 -0
  327. package/src/modules/bmm/docs/brownfield-guide.md +638 -0
  328. package/src/modules/bmm/docs/brownfield-guide.md.backup +1324 -0
  329. package/src/modules/bmm/docs/enterprise-agentic-development.md +1040 -0
  330. package/src/modules/bmm/docs/faq.md +589 -0
  331. package/src/modules/bmm/docs/glossary.md +327 -0
  332. package/src/modules/bmm/docs/party-mode.md +1236 -0
  333. package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
  334. package/src/modules/bmm/docs/quick-start.md +366 -0
  335. package/src/modules/bmm/docs/scale-adaptive-system.md +749 -0
  336. package/src/modules/bmm/docs/troubleshooting.md +680 -0
  337. package/src/modules/bmm/docs/workflow-architecture-reference.md +371 -0
  338. package/src/modules/bmm/docs/workflow-document-project-reference.md +487 -0
  339. package/src/modules/bmm/docs/workflows-analysis.md +670 -0
  340. package/src/modules/bmm/docs/workflows-implementation.md +1759 -0
  341. package/src/modules/bmm/docs/workflows-planning.md +1086 -0
  342. package/src/modules/bmm/docs/workflows-solutioning.md +726 -0
  343. package/src/modules/bmm/docs/workflows-testing.md +1572 -0
  344. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +45 -26
  345. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +42 -23
  346. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +423 -0
  347. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  348. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +36 -0
  349. package/src/modules/bmm/workflows/1-analysis/game-brief/instructions.md +42 -28
  350. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +434 -231
  351. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +93 -77
  352. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +14 -0
  353. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  354. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  355. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +154 -57
  356. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +68 -62
  357. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +203 -137
  358. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +53 -45
  359. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +116 -79
  360. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +37 -1
  361. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +36 -1
  362. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +13 -0
  363. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +58 -22
  364. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +22 -0
  365. package/src/modules/bmm/workflows/2-plan-workflows/gdd/instructions-gdd.md +52 -21
  366. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +14 -0
  367. package/src/modules/bmm/workflows/2-plan-workflows/narrative/instructions-narrative.md +73 -22
  368. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +295 -63
  369. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/epics-template.md +63 -0
  370. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/instructions.md +395 -0
  371. package/src/modules/bmm/workflows/2-plan-workflows/prd/create-epics-and-stories/workflow.yaml +43 -0
  372. package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  373. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +295 -321
  374. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +198 -23
  375. package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  376. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +24 -6
  377. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +138 -31
  378. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +51 -4
  379. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +50 -17
  380. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +199 -26
  381. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +1005 -141
  382. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +132 -6
  383. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +36 -5
  384. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +21 -0
  385. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +1 -1
  386. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +91 -79
  387. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +17 -4
  388. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +94 -45
  389. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +26 -0
  390. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +29 -0
  391. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +20 -0
  392. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +31 -0
  393. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +27 -0
  394. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +29 -0
  395. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +31 -5
  396. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +1222 -241
  397. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +28 -0
  398. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +17 -0
  399. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +8 -0
  400. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +34 -1
  401. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +27 -0
  402. package/src/modules/bmm/workflows/techdoc/documentation-standards.md +239 -0
  403. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +117 -24
  404. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +2 -2
  405. package/src/modules/bmm/workflows/workflow-status/instructions.md +173 -111
  406. package/src/modules/bmm/workflows/workflow-status/sample-level-3-workflow.yaml +49 -0
  407. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +31 -0
  408. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +3 -3
  409. package/src/modules/cis/README.md +153 -0
  410. package/src/modules/cis/workflows/README.md +102 -30
  411. package/src/modules/cis/workflows/storytelling/instructions.md +10 -2
  412. package/tools/cli/commands/install.js +1 -1
  413. package/tools/cli/installers/lib/core/manifest-generator.js +4 -1
  414. package/.claude/commands/bmad/bmd/agents/cli-chief.md +0 -108
  415. package/.claude/commands/bmad/bmd/agents/doc-keeper.md +0 -115
  416. package/.claude/commands/bmad/bmd/agents/release-chief.md +0 -109
  417. package/.claude/hooks/bmad-tts-injector.sh +0 -415
  418. package/.claude/hooks/bmad-voice-manager.sh +0 -511
  419. package/.claude/hooks/check-output-style.sh +0 -112
  420. package/.claude/hooks/download-extra-voices.sh +0 -244
  421. package/.claude/hooks/github-star-reminder.sh +0 -154
  422. package/.claude/hooks/language-manager.sh +0 -392
  423. package/.claude/hooks/learn-manager.sh +0 -475
  424. package/.claude/hooks/personality-manager.sh +0 -438
  425. package/.claude/hooks/piper-download-voices.sh +0 -165
  426. package/.claude/hooks/piper-installer.sh +0 -178
  427. package/.claude/hooks/piper-multispeaker-registry.sh +0 -165
  428. package/.claude/hooks/piper-voice-manager.sh +0 -293
  429. package/.claude/hooks/play-tts-elevenlabs.sh +0 -404
  430. package/.claude/hooks/play-tts-piper.sh +0 -338
  431. package/.claude/hooks/play-tts.sh +0 -100
  432. package/.claude/hooks/provider-commands.sh +0 -540
  433. package/.claude/hooks/provider-manager.sh +0 -298
  434. package/.claude/hooks/replay-target-audio.sh +0 -95
  435. package/.claude/hooks/sentiment-manager.sh +0 -201
  436. package/.claude/hooks/speed-manager.sh +0 -291
  437. package/.claude/hooks/voice-manager.sh +0 -594
  438. package/.claude/hooks/voices-config.sh +0 -70
  439. package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +0 -32
  440. package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +0 -412
  441. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +0 -759
  442. package/bmad/bmb/workflows/create-module/README.md.bak +0 -218
  443. package/bmad/bmb/workflows/create-module/checklist.md.bak +0 -245
  444. package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +0 -231
  445. package/bmad/bmb/workflows/create-module/instructions.md.bak +0 -521
  446. package/bmad/bmb/workflows/create-module/module-structure.md.bak +0 -310
  447. package/bmad/bmd/README.md +0 -193
  448. package/bmad/bmd/README.md.bak +0 -193
  449. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  450. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +0 -102
  451. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  452. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +0 -68
  453. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  454. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +0 -123
  455. package/bmad/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  456. package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +0 -53
  457. package/bmad/bmd/agents/cli-chief.md +0 -108
  458. package/bmad/bmd/agents/cli-chief.md.bak +0 -108
  459. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  460. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +0 -177
  461. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  462. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +0 -81
  463. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  464. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +0 -88
  465. package/bmad/bmd/agents/doc-keeper.md +0 -115
  466. package/bmad/bmd/agents/doc-keeper.md.bak +0 -115
  467. package/bmad/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  468. package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +0 -164
  469. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  470. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +0 -82
  471. package/bmad/bmd/agents/release-chief-sidecar/memories.md +0 -73
  472. package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +0 -73
  473. package/bmad/bmd/agents/release-chief.md +0 -109
  474. package/bmad/bmd/agents/release-chief.md.bak +0 -109
  475. package/bmad/docs/codex-instructions.md +0 -21
  476. package/docs/conversion-report-shard-doc-2025-10-26.md +0 -188
  477. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +0 -38
  478. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +0 -29
  479. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +0 -221
  480. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +0 -259
  481. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +0 -190
  482. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +0 -337
  483. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +0 -107
  484. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +0 -329
  485. package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +0 -222
  486. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +0 -129
  487. package/src/modules/bmm/workflows/README.md +0 -577
  488. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +0 -30
  489. package/src/modules/cis/readme.md +0 -86
  490. /package/bmad/_cfg/agents/{bmd-doc-keeper.customize.yaml → bmm-analyst.customize.yaml} +0 -0
  491. /package/bmad/_cfg/agents/{bmd-release-chief.customize.yaml → bmm-architect.customize.yaml} +0 -0
  492. /package/{docs/bmad-brownfield-guide.md → bmad/bmm/docs/brownfield-guide.md} +0 -0
  493. /package/{src/modules → bmad}/bmm/tasks/retrospective.xml +0 -0
  494. /package/{src/modules → bmad}/bmm/testarch/README.md +0 -0
  495. /package/{src/modules → bmad}/bmm/workflows/1-analysis/product-brief/README.md +0 -0
  496. /package/{src/modules → bmad}/bmm/workflows/1-analysis/research/README.md +0 -0
  497. /package/{src/modules → bmad}/bmm/workflows/2-plan-workflows/README.md +0 -0
  498. /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
  499. /package/{src/modules → bmad}/bmm/workflows/3-solutioning/README.md +0 -0
  500. /package/{src/modules/bmm/workflows/3-solutioning/architecture/readme.md → bmad/bmm/workflows/3-solutioning/architecture/README.md} +0 -0
  501. /package/{src/modules → bmad}/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +0 -0
  502. /package/{src/modules → bmad}/bmm/workflows/4-implementation/README.md +0 -0
  503. /package/{src/modules → bmad}/bmm/workflows/4-implementation/code-review/README.md +0 -0
  504. /package/{src/modules → bmad}/bmm/workflows/4-implementation/correct-course/README.md +0 -0
  505. /package/{src/modules → bmad}/bmm/workflows/4-implementation/dev-story/README.md +0 -0
  506. /package/{src/modules → bmad}/bmm/workflows/4-implementation/epic-tech-context/README.md +0 -0
  507. /package/{src/modules → bmad}/bmm/workflows/4-implementation/retrospective/README.md +0 -0
  508. /package/{src/modules → bmad}/bmm/workflows/4-implementation/sprint-planning/README.md +0 -0
  509. /package/{src/modules → bmad}/bmm/workflows/4-implementation/story-context/README.md +0 -0
  510. /package/{src/modules → bmad}/bmm/workflows/document-project/README.md +0 -0
  511. /package/{src/modules → bmad}/bmm/workflows/document-project/templates/README.md +0 -0
  512. /package/{src/modules → bmad}/bmm/workflows/testarch/README.md +0 -0
  513. /package/{src/modules → bmad}/bmm/workflows/testarch/atdd/README.md +0 -0
  514. /package/{src/modules → bmad}/bmm/workflows/testarch/automate/README.md +0 -0
  515. /package/{src/modules → bmad}/bmm/workflows/testarch/ci/README.md +0 -0
  516. /package/{src/modules → bmad}/bmm/workflows/testarch/framework/README.md +0 -0
  517. /package/{src/modules → bmad}/bmm/workflows/testarch/nfr-assess/README.md +0 -0
  518. /package/{src/modules → bmad}/bmm/workflows/testarch/test-design/README.md +0 -0
  519. /package/{src/modules → bmad}/bmm/workflows/testarch/test-review/README.md +0 -0
  520. /package/{src/modules → bmad}/bmm/workflows/testarch/trace/README.md +0 -0
  521. /package/src/modules/bmm/sub-modules/claude-code/{readme.md → README.md} +0 -0
@@ -1,404 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # File: .claude/hooks/play-tts-elevenlabs.sh
4
- #
5
- # AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
6
- # Website: https://agentvibes.org
7
- # Repository: https://github.com/paulpreibisch/AgentVibes
8
- #
9
- # Co-created by Paul Preibisch with Claude AI
10
- # Copyright (c) 2025 Paul Preibisch
11
- #
12
- # Licensed under the Apache License, Version 2.0 (the "License");
13
- # you may not use this file except in compliance with the License.
14
- # You may obtain a copy of the License at
15
- #
16
- # http://www.apache.org/licenses/LICENSE-2.0
17
- #
18
- # Unless required by applicable law or agreed to in writing, software
19
- # distributed under the License is distributed on an "AS IS" BASIS,
20
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- # See the License for the specific language governing permissions and
22
- # limitations under the License.
23
- #
24
- # DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
- # express or implied. Use at your own risk. See the Apache License for details.
26
- #
27
- # ---
28
- #
29
- # @fileoverview ElevenLabs TTS Provider Implementation - Premium cloud-based TTS
30
- # @context Provider-specific implementation for ElevenLabs API integration with multilingual support
31
- # @architecture Part of multi-provider TTS system - implements provider interface contract
32
- # @dependencies Requires ELEVENLABS_API_KEY, curl, ffmpeg, paplay/aplay/mpg123, jq
33
- # @entrypoints Called by play-tts.sh router with ($1=text, $2=voice_name) when provider=elevenlabs
34
- # @patterns Follows provider contract: accept text/voice, output audio file path, API error handling, SSH audio optimization
35
- # @related play-tts.sh, provider-manager.sh, voices-config.sh, language-manager.sh, GitHub Issue #25
36
- #
37
-
38
- # Fix locale warnings
39
- export LC_ALL=C
40
-
41
- TEXT="$1"
42
- VOICE_OVERRIDE="$2" # Optional: voice name or direct voice ID
43
- API_KEY="${ELEVENLABS_API_KEY}"
44
-
45
- # Check for project-local pretext configuration
46
- CONFIG_DIR="${CLAUDE_PROJECT_DIR:-.}/.claude/config"
47
- CONFIG_FILE="$CONFIG_DIR/agentvibes.json"
48
-
49
- if [[ -f "$CONFIG_FILE" ]] && command -v jq &> /dev/null; then
50
- PRETEXT=$(jq -r '.pretext // empty' "$CONFIG_FILE" 2>/dev/null)
51
- if [[ -n "$PRETEXT" ]]; then
52
- TEXT="$PRETEXT: $TEXT"
53
- fi
54
- fi
55
-
56
- # Limit text length to prevent API issues (max 500 chars for safety)
57
- if [ ${#TEXT} -gt 500 ]; then
58
- TEXT="${TEXT:0:497}..."
59
- echo "⚠️ Text truncated to 500 characters for API safety"
60
- fi
61
-
62
- # Source the single voice configuration file
63
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
64
- source "$SCRIPT_DIR/voices-config.sh"
65
- source "$SCRIPT_DIR/language-manager.sh"
66
-
67
- # @function determine_voice_and_language
68
- # @intent Resolve voice name/ID and language for multilingual support
69
- # @why Supports both voice names and direct IDs, plus language-specific voices
70
- # @param $VOICE_OVERRIDE {string} Voice name or ID (optional)
71
- # @returns Sets $VOICE_ID and $LANGUAGE_CODE global variables
72
- # @sideeffects None
73
- # @edgecases Handles unknown voices, falls back to default
74
- VOICE_ID=""
75
- LANGUAGE_CODE="en" # Default to English
76
-
77
- # Get current language setting
78
- CURRENT_LANGUAGE=$(get_language_code)
79
-
80
- # Get language code for API
81
- # ElevenLabs uses 2-letter ISO codes
82
- case "$CURRENT_LANGUAGE" in
83
- spanish) LANGUAGE_CODE="es" ;;
84
- french) LANGUAGE_CODE="fr" ;;
85
- german) LANGUAGE_CODE="de" ;;
86
- italian) LANGUAGE_CODE="it" ;;
87
- portuguese) LANGUAGE_CODE="pt" ;;
88
- chinese) LANGUAGE_CODE="zh" ;;
89
- japanese) LANGUAGE_CODE="ja" ;;
90
- korean) LANGUAGE_CODE="ko" ;;
91
- russian) LANGUAGE_CODE="ru" ;;
92
- polish) LANGUAGE_CODE="pl" ;;
93
- dutch) LANGUAGE_CODE="nl" ;;
94
- turkish) LANGUAGE_CODE="tr" ;;
95
- arabic) LANGUAGE_CODE="ar" ;;
96
- hindi) LANGUAGE_CODE="hi" ;;
97
- swedish) LANGUAGE_CODE="sv" ;;
98
- danish) LANGUAGE_CODE="da" ;;
99
- norwegian) LANGUAGE_CODE="no" ;;
100
- finnish) LANGUAGE_CODE="fi" ;;
101
- czech) LANGUAGE_CODE="cs" ;;
102
- romanian) LANGUAGE_CODE="ro" ;;
103
- ukrainian) LANGUAGE_CODE="uk" ;;
104
- greek) LANGUAGE_CODE="el" ;;
105
- bulgarian) LANGUAGE_CODE="bg" ;;
106
- croatian) LANGUAGE_CODE="hr" ;;
107
- slovak) LANGUAGE_CODE="sk" ;;
108
- english|*) LANGUAGE_CODE="en" ;;
109
- esac
110
-
111
- if [[ -n "$VOICE_OVERRIDE" ]]; then
112
- # Check if override is a voice name (lookup in mapping)
113
- if [[ -n "${VOICES[$VOICE_OVERRIDE]}" ]]; then
114
- VOICE_ID="${VOICES[$VOICE_OVERRIDE]}"
115
- echo "🎤 Using voice: $VOICE_OVERRIDE (session-specific)"
116
- # Check if override looks like a voice ID (alphanumeric string ~20 chars)
117
- elif [[ "$VOICE_OVERRIDE" =~ ^[a-zA-Z0-9]{15,30}$ ]]; then
118
- VOICE_ID="$VOICE_OVERRIDE"
119
- echo "🎤 Using custom voice ID (session-specific)"
120
- else
121
- echo "⚠️ Unknown voice '$VOICE_OVERRIDE', trying language-specific voice"
122
- fi
123
- fi
124
-
125
- # If no override or invalid override, use language-specific voice
126
- if [[ -z "$VOICE_ID" ]]; then
127
- # Try to get voice for current language
128
- LANG_VOICE=$(get_voice_for_language "$CURRENT_LANGUAGE" "elevenlabs" 2>/dev/null)
129
-
130
- if [[ -n "$LANG_VOICE" ]] && [[ -n "${VOICES[$LANG_VOICE]}" ]]; then
131
- VOICE_ID="${VOICES[$LANG_VOICE]}"
132
- echo "🌍 Using $CURRENT_LANGUAGE voice: $LANG_VOICE"
133
- else
134
- # Fall back to voice manager
135
- VOICE_MANAGER_SCRIPT="$(dirname "$0")/voice-manager.sh"
136
- if [[ -f "$VOICE_MANAGER_SCRIPT" ]]; then
137
- VOICE_NAME=$("$VOICE_MANAGER_SCRIPT" get)
138
- VOICE_ID="${VOICES[$VOICE_NAME]}"
139
- fi
140
-
141
- # Final fallback to default
142
- if [[ -z "$VOICE_ID" ]]; then
143
- echo "⚠️ No voice configured, using default"
144
- VOICE_ID="${VOICES[Aria]}"
145
- fi
146
- fi
147
- fi
148
-
149
- # @function validate_inputs
150
- # @intent Check required parameters and API key
151
- # @why Fail fast with clear errors if inputs missing
152
- # @exitcode 1=missing text, 2=missing API key
153
- if [ -z "$TEXT" ]; then
154
- echo "Usage: $0 \"text to speak\" [voice_name_or_id]"
155
- exit 1
156
- fi
157
-
158
- if [ -z "$API_KEY" ]; then
159
- echo "Error: ELEVENLABS_API_KEY not set"
160
- echo "Set your API key: export ELEVENLABS_API_KEY=your_key_here"
161
- exit 2
162
- fi
163
-
164
- # @function determine_audio_directory
165
- # @intent Find appropriate directory for audio file storage
166
- # @why Supports project-local and global storage
167
- # @returns Sets $AUDIO_DIR global variable
168
- # @sideeffects None
169
- # @edgecases Handles missing directories, creates if needed
170
- # AI NOTE: Check project dir first, then search up tree, finally fall back to global
171
- if [[ -n "$CLAUDE_PROJECT_DIR" ]]; then
172
- AUDIO_DIR="$CLAUDE_PROJECT_DIR/.claude/audio"
173
- else
174
- # Fallback: try to find .claude directory in current path
175
- CURRENT_DIR="$PWD"
176
- while [[ "$CURRENT_DIR" != "/" ]]; do
177
- if [[ -d "$CURRENT_DIR/.claude" ]]; then
178
- AUDIO_DIR="$CURRENT_DIR/.claude/audio"
179
- break
180
- fi
181
- CURRENT_DIR=$(dirname "$CURRENT_DIR")
182
- done
183
- # Final fallback to global if no project .claude found
184
- if [[ -z "$AUDIO_DIR" ]]; then
185
- AUDIO_DIR="$HOME/.claude/audio"
186
- fi
187
- fi
188
-
189
- mkdir -p "$AUDIO_DIR"
190
- TEMP_FILE="$AUDIO_DIR/tts-$(date +%s).mp3"
191
-
192
- # @function synthesize_with_elevenlabs
193
- # @intent Call ElevenLabs API to generate speech
194
- # @why Encapsulates API call with error handling
195
- # @param Uses globals: $TEXT, $VOICE_ID, $API_KEY
196
- # @returns Creates audio file at $TEMP_FILE
197
- # @exitcode 0=success, 3=API error
198
- # @sideeffects Creates MP3 file in audio directory
199
- # @edgecases Handles network failures, API errors, rate limiting
200
- # Choose model based on language
201
- if [[ "$LANGUAGE_CODE" == "en" ]]; then
202
- MODEL_ID="eleven_monolingual_v1"
203
- else
204
- MODEL_ID="eleven_multilingual_v2"
205
- fi
206
-
207
- # @function get_speech_speed
208
- # @intent Read speed config and map to ElevenLabs API range (0.7-1.2)
209
- # @why ElevenLabs only supports 0.7 (slower) to 1.2 (faster), must map user scale
210
- # @returns Speed value for ElevenLabs API (clamped to 0.7-1.2)
211
- get_speech_speed() {
212
- local config_dir=""
213
-
214
- # Determine config directory
215
- if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
216
- config_dir="$CLAUDE_PROJECT_DIR/.claude/config"
217
- else
218
- # Try to find .claude in current path
219
- local current_dir="$PWD"
220
- while [[ "$current_dir" != "/" ]]; do
221
- if [[ -d "$current_dir/.claude" ]]; then
222
- config_dir="$current_dir/.claude/config"
223
- break
224
- fi
225
- current_dir=$(dirname "$current_dir")
226
- done
227
- # Fallback to global
228
- if [[ -z "$config_dir" ]]; then
229
- config_dir="$HOME/.claude/config"
230
- fi
231
- fi
232
-
233
- local main_speed_file="$config_dir/tts-speech-rate.txt"
234
- local target_speed_file="$config_dir/tts-target-speech-rate.txt"
235
-
236
- # Legacy file paths for backward compatibility
237
- local legacy_main_speed_file="$config_dir/piper-speech-rate.txt"
238
- local legacy_target_speed_file="$config_dir/piper-target-speech-rate.txt"
239
-
240
- local user_speed="1.0"
241
-
242
- # If this is a non-English voice and target config exists, use it
243
- if [[ "$CURRENT_LANGUAGE" != "english" ]]; then
244
- if [[ -f "$target_speed_file" ]]; then
245
- user_speed=$(cat "$target_speed_file" 2>/dev/null || echo "1.0")
246
- elif [[ -f "$legacy_target_speed_file" ]]; then
247
- user_speed=$(cat "$legacy_target_speed_file" 2>/dev/null || echo "1.0")
248
- else
249
- user_speed="0.5" # Default slower for learning
250
- fi
251
- else
252
- # Otherwise use main config if available
253
- if [[ -f "$main_speed_file" ]]; then
254
- user_speed=$(grep -v '^#' "$main_speed_file" 2>/dev/null | grep -v '^$' | tail -1 || echo "1.0")
255
- elif [[ -f "$legacy_main_speed_file" ]]; then
256
- user_speed=$(grep -v '^#' "$legacy_main_speed_file" 2>/dev/null | grep -v '^$' | tail -1 || echo "1.0")
257
- fi
258
- fi
259
-
260
- # Map user scale (0.5=slower, 1.0=normal, 2.0=faster, 3.0=very fast)
261
- # to ElevenLabs range (0.7=slower, 1.0=normal, 1.2=faster)
262
- # Formula: elevenlabs_speed = 0.7 + (user_speed - 0.5) * 0.2
263
- # This maps: 0.5→0.7, 1.0→0.8, 2.0→1.0, 3.0→1.2
264
- # Actually, let's use a better mapping:
265
- # 0.5x → 0.7 (slowest ElevenLabs)
266
- # 1.0x → 1.0 (normal)
267
- # 2.0x → 1.15
268
- # 3.0x → 1.2 (fastest ElevenLabs)
269
-
270
- if command -v bc &> /dev/null; then
271
- local eleven_speed
272
- if (( $(echo "$user_speed <= 0.5" | bc -l) )); then
273
- eleven_speed="0.7"
274
- elif (( $(echo "$user_speed >= 3.0" | bc -l) )); then
275
- eleven_speed="1.2"
276
- elif (( $(echo "$user_speed <= 1.0" | bc -l) )); then
277
- # Map 0.5-1.0 to 0.7-1.0
278
- eleven_speed=$(echo "scale=2; 0.7 + ($user_speed - 0.5) * 0.6" | bc -l)
279
- else
280
- # Map 1.0-3.0 to 1.0-1.2
281
- eleven_speed=$(echo "scale=2; 1.0 + ($user_speed - 1.0) * 0.1" | bc -l)
282
- fi
283
- echo "$eleven_speed"
284
- else
285
- # Fallback without bc: just clamp to safe values
286
- if (( $(awk 'BEGIN {print ("'$user_speed'" <= 0.5)}') )); then
287
- echo "0.7"
288
- elif (( $(awk 'BEGIN {print ("'$user_speed'" >= 2.0)}') )); then
289
- echo "1.2"
290
- else
291
- echo "1.0"
292
- fi
293
- fi
294
- }
295
-
296
- SPEECH_SPEED=$(get_speech_speed)
297
-
298
- # Build JSON payload with jq for proper escaping
299
- PAYLOAD=$(jq -n \
300
- --arg text "$TEXT" \
301
- --arg model "$MODEL_ID" \
302
- --arg lang "$LANGUAGE_CODE" \
303
- --argjson speed "$SPEECH_SPEED" \
304
- '{
305
- text: $text,
306
- model_id: $model,
307
- language_code: $lang,
308
- voice_settings: {
309
- stability: 0.5,
310
- similarity_boost: 0.75,
311
- speed: $speed
312
- }
313
- }')
314
-
315
- curl -s -X POST "https://api.elevenlabs.io/v1/text-to-speech/${VOICE_ID}" \
316
- -H "xi-api-key: ${API_KEY}" \
317
- -H "Content-Type: application/json" \
318
- -d "$PAYLOAD" \
319
- -o "${TEMP_FILE}"
320
-
321
- # @function add_silence_padding
322
- # @intent Add silence to beginning of audio to prevent WSL static
323
- # @why WSL audio subsystem cuts off first ~200ms, causing static/clipping
324
- # @param Uses global: $TEMP_FILE
325
- # @returns Updates $TEMP_FILE to padded version
326
- # @sideeffects Modifies audio file, removes original
327
- # @edgecases Gracefully falls back to unpadded if ffmpeg unavailable
328
- # Add silence padding to prevent WSL audio static
329
- if [ -f "${TEMP_FILE}" ]; then
330
- # Check if ffmpeg is available for adding padding
331
- if command -v ffmpeg &> /dev/null; then
332
- PADDED_FILE="$AUDIO_DIR/tts-padded-$(date +%s).mp3"
333
- # Add 200ms of silence at the beginning to prevent static
334
- # Note: ElevenLabs returns mono audio, so we use mono silence
335
- ffmpeg -f lavfi -i anullsrc=r=44100:cl=mono:d=0.2 -i "${TEMP_FILE}" \
336
- -filter_complex "[0:a][1:a]concat=n=2:v=0:a=1[out]" \
337
- -map "[out]" -c:a libmp3lame -b:a 128k -y "${PADDED_FILE}" 2>/dev/null
338
-
339
- if [ -f "${PADDED_FILE}" ]; then
340
- # Use padded file and clean up original
341
- rm -f "${TEMP_FILE}"
342
- TEMP_FILE="${PADDED_FILE}"
343
- fi
344
- # If padding failed, just use original file
345
- fi
346
-
347
- # @function play_audio
348
- # @intent Play generated audio file using available player with sequential playback
349
- # @why Support multiple audio players and prevent overlapping audio in learning mode
350
- # @param Uses global: $TEMP_FILE, $CURRENT_LANGUAGE
351
- # @sideeffects Plays audio with lock mechanism for sequential playback
352
- # @edgecases Falls through players until one works
353
- LOCK_FILE="/tmp/agentvibes-audio.lock"
354
-
355
- # Wait for previous audio to finish (max 30 seconds)
356
- for i in {1..60}; do
357
- if [ ! -f "$LOCK_FILE" ]; then
358
- break
359
- fi
360
- sleep 0.5
361
- done
362
-
363
- # Track last target language audio for replay command
364
- if [[ "$CURRENT_LANGUAGE" != "english" ]]; then
365
- TARGET_AUDIO_FILE="${CLAUDE_PROJECT_DIR:-.}/.claude/last-target-audio.txt"
366
- echo "${TEMP_FILE}" > "$TARGET_AUDIO_FILE"
367
- fi
368
-
369
- # Create lock and play audio
370
- touch "$LOCK_FILE"
371
-
372
- # Get audio duration for proper lock timing
373
- DURATION=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "${TEMP_FILE}" 2>/dev/null)
374
- DURATION=${DURATION%.*} # Round to integer
375
- DURATION=${DURATION:-1} # Default to 1 second if detection fails
376
-
377
- # Convert to 48kHz stereo WAV for better SSH tunnel compatibility
378
- # ElevenLabs returns 44.1kHz mono MP3, which causes static over SSH audio tunnels
379
- # Converting to 48kHz stereo (Windows/PulseAudio native format) eliminates the static
380
- if [[ -n "$SSH_CONNECTION" ]] || [[ -n "$SSH_CLIENT" ]] || [[ -n "$VSCODE_IPC_HOOK_CLI" ]]; then
381
- CONVERTED_FILE="${TEMP_FILE%.mp3}.wav"
382
- if ffmpeg -i "${TEMP_FILE}" -ar 48000 -ac 2 "${CONVERTED_FILE}" -y 2>/dev/null; then
383
- TEMP_FILE="${CONVERTED_FILE}"
384
- fi
385
- fi
386
-
387
- # Play audio (WSL/Linux) in background to avoid blocking, fully detached (skip if in test mode)
388
- if [[ "${AGENTVIBES_TEST_MODE:-false}" != "true" ]]; then
389
- (paplay "${TEMP_FILE}" || aplay "${TEMP_FILE}" || mpg123 "${TEMP_FILE}") >/dev/null 2>&1 &
390
- PLAYER_PID=$!
391
- fi
392
-
393
- # Wait for audio to finish, then release lock
394
- (sleep $DURATION; rm -f "$LOCK_FILE") &
395
- disown
396
-
397
- # Keep temp files for later review - cleaned up weekly by cron
398
- echo "🎵 Saved to: ${TEMP_FILE}"
399
- echo "🎤 Voice used: ${VOICE_NAME} (${VOICE_ID})"
400
- else
401
- echo "❌ Failed to generate audio - API may be unavailable"
402
- echo "Check your API key and network connection"
403
- exit 3
404
- fi