bmad-method 6.0.0-alpha.1 → 6.0.0-alpha.10

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 (678) hide show
  1. package/.github/ISSUE_TEMPLATE/idea_submission.md +1 -1
  2. package/.github/workflows/bundle-latest.yaml +277 -0
  3. package/.github/workflows/manual-release.yaml +64 -17
  4. package/.github/workflows/{lint.yaml → quality.yaml} +19 -2
  5. package/.husky/pre-commit +4 -0
  6. package/.prettierignore +4 -0
  7. package/.vscode/settings.json +3 -1
  8. package/CHANGELOG.md +1203 -0
  9. package/CONTRIBUTING.md +1 -13
  10. package/README.md +330 -149
  11. package/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  12. package/docs/agent-customization-guide.md +208 -0
  13. package/docs/document-sharding-guide.md +449 -0
  14. package/docs/ide-info/crush.md +1 -1
  15. package/docs/ide-info/cursor.md +7 -7
  16. package/docs/ide-info/iflow.md +3 -3
  17. package/docs/ide-info/opencode.md +1 -1
  18. package/docs/index.md +227 -0
  19. package/docs/installers-bundlers/ide-injections.md +2 -2
  20. package/docs/installers-bundlers/installers-modules-platforms-reference.md +80 -19
  21. package/docs/v4-to-v6-upgrade.md +21 -19
  22. package/docs/web-bundles-gemini-gpt-guide.md +473 -0
  23. package/eslint.config.mjs +2 -0
  24. package/package.json +5 -3
  25. package/src/core/_module-installer/install-config.yaml +17 -10
  26. package/src/core/_module-installer/installer.js +0 -8
  27. package/src/core/agents/bmad-master.agent.yaml +5 -5
  28. package/src/core/agents/bmad-web-orchestrator.agent.xml +8 -17
  29. package/src/core/tasks/advanced-elicitation-methods.csv +21 -0
  30. package/{bmad/core/tasks/adv-elicit.xml → src/core/tasks/advanced-elicitation.xml} +6 -4
  31. package/src/core/tasks/index-docs.xml +1 -1
  32. package/src/core/tasks/validate-workflow.xml +1 -1
  33. package/src/core/tasks/workflow.xml +126 -22
  34. package/src/core/tools/shard-doc.xml +54 -45
  35. package/src/core/workflows/brainstorming/README.md +6 -16
  36. package/src/core/workflows/brainstorming/instructions.md +6 -5
  37. package/src/core/workflows/brainstorming/template.md +4 -0
  38. package/src/core/workflows/brainstorming/workflow.yaml +8 -13
  39. package/src/core/workflows/party-mode/instructions.md +2 -7
  40. package/src/core/workflows/party-mode/workflow.yaml +11 -6
  41. package/src/modules/bmb/README.md +135 -73
  42. package/src/modules/bmb/_module-installer/install-config.yaml +9 -4
  43. package/src/modules/bmb/agents/bmad-builder.agent.yaml +11 -12
  44. package/src/modules/bmb/workflows/audit-workflow/checklist.md +5 -6
  45. package/src/modules/bmb/workflows/audit-workflow/instructions.md +6 -6
  46. package/src/modules/bmb/workflows/audit-workflow/workflow.yaml +2 -2
  47. package/src/modules/bmb/workflows/convert-legacy/README.md +5 -5
  48. package/src/modules/bmb/workflows/convert-legacy/checklist.md +2 -2
  49. package/src/modules/bmb/workflows/convert-legacy/instructions.md +17 -17
  50. package/src/modules/bmb/workflows/convert-legacy/workflow.yaml +6 -10
  51. package/src/modules/bmb/workflows/create-agent/README.md +126 -243
  52. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +15 -19
  53. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +28 -28
  54. package/src/modules/bmb/workflows/create-agent/agent-types.md +15 -15
  55. package/src/modules/bmb/workflows/create-agent/checklist.md +3 -3
  56. package/src/modules/bmb/workflows/create-agent/instructions.md +67 -39
  57. package/src/modules/bmb/workflows/create-agent/workflow.yaml +14 -15
  58. package/src/modules/bmb/workflows/create-module/README.md +163 -154
  59. package/src/modules/bmb/workflows/create-module/checklist.md +1 -10
  60. package/src/modules/bmb/workflows/create-module/installer-templates/install-config.yaml +1 -1
  61. package/src/modules/bmb/workflows/create-module/instructions.md +13 -17
  62. package/src/modules/bmb/workflows/create-module/module-structure.md +39 -5
  63. package/src/modules/bmb/workflows/create-module/workflow.yaml +21 -13
  64. package/src/modules/bmb/workflows/create-workflow/README.md +4 -4
  65. package/src/modules/bmb/workflows/create-workflow/checklist.md +1 -1
  66. package/src/modules/bmb/workflows/create-workflow/instructions.md +46 -37
  67. package/src/modules/bmb/workflows/create-workflow/workflow-creation-guide.md +219 -42
  68. package/src/modules/bmb/workflows/create-workflow/workflow-template/instructions.md +4 -2
  69. package/src/modules/bmb/workflows/create-workflow/workflow-template/workflow.yaml +12 -16
  70. package/src/modules/bmb/workflows/create-workflow/workflow.yaml +7 -8
  71. package/src/modules/bmb/workflows/edit-agent/checklist.md +1 -1
  72. package/src/modules/bmb/workflows/edit-agent/instructions.md +2 -2
  73. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +10 -12
  74. package/src/modules/bmb/workflows/edit-module/README.md +2 -2
  75. package/src/modules/bmb/workflows/edit-module/checklist.md +2 -2
  76. package/src/modules/bmb/workflows/edit-module/instructions.md +7 -5
  77. package/src/modules/bmb/workflows/edit-module/workflow.yaml +11 -13
  78. package/src/modules/bmb/workflows/edit-workflow/instructions.md +4 -4
  79. package/src/modules/bmb/workflows/edit-workflow/workflow.yaml +6 -8
  80. package/src/modules/bmb/workflows/module-brief/README.md +2 -2
  81. package/src/modules/bmb/workflows/module-brief/checklist.md +2 -2
  82. package/src/modules/bmb/workflows/module-brief/instructions.md +3 -2
  83. package/src/modules/bmb/workflows/module-brief/workflow.yaml +12 -7
  84. package/src/modules/bmb/workflows/redoc/README.md +5 -5
  85. package/src/modules/bmb/workflows/redoc/instructions.md +1 -1
  86. package/src/modules/bmb/workflows/redoc/workflow.yaml +1 -1
  87. package/src/modules/bmgd/README.md +208 -0
  88. package/src/modules/bmgd/_module-installer/install-config.yaml +54 -0
  89. package/src/modules/bmgd/agents/game-architect.agent.yaml +33 -0
  90. package/src/modules/bmgd/agents/game-designer.agent.yaml +40 -0
  91. package/src/modules/bmgd/agents/game-dev.agent.yaml +40 -0
  92. package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +75 -0
  93. package/src/modules/bmgd/teams/default-party.csv +10 -0
  94. package/src/modules/{bmm → bmgd}/teams/team-gamedev.yaml +5 -1
  95. package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/instructions.md +130 -0
  96. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/workflow.yaml +10 -10
  97. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/instructions.md +44 -28
  98. package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/workflow.yaml +9 -17
  99. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/instructions-gdd.md +58 -31
  100. package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +81 -0
  101. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/instructions-narrative.md +75 -28
  102. package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/workflow.yaml +6 -12
  103. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-patterns.yaml +321 -0
  104. package/src/modules/bmgd/workflows/3-technical/game-architecture/architecture-template.md +103 -0
  105. package/src/modules/bmgd/workflows/3-technical/game-architecture/checklist.md +240 -0
  106. package/src/modules/bmgd/workflows/3-technical/game-architecture/decision-catalog.yaml +222 -0
  107. package/src/modules/bmgd/workflows/3-technical/game-architecture/instructions.md +701 -0
  108. package/src/modules/bmgd/workflows/3-technical/game-architecture/pattern-categories.csv +13 -0
  109. package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +69 -0
  110. package/src/modules/bmgd/workflows/4-production/code-review/backlog_template.md +12 -0
  111. package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +22 -0
  112. package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +398 -0
  113. package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +61 -0
  114. package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +279 -0
  115. package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +206 -0
  116. package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +58 -0
  117. package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +240 -0
  118. package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +256 -0
  119. package/src/modules/bmgd/workflows/4-production/create-story/template.md +51 -0
  120. package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +74 -0
  121. package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +38 -0
  122. package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +267 -0
  123. package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +58 -0
  124. package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +17 -0
  125. package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +164 -0
  126. package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +76 -0
  127. package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +58 -0
  128. package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +1443 -0
  129. package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +57 -0
  130. package/src/modules/bmgd/workflows/4-production/sprint-planning/checklist.md +33 -0
  131. package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +234 -0
  132. package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +55 -0
  133. package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +51 -0
  134. package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +16 -0
  135. package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +34 -0
  136. package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +209 -0
  137. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +63 -0
  138. package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +111 -0
  139. package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +28 -0
  140. package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +117 -0
  141. package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +25 -0
  142. package/src/modules/bmm/README.md +79 -92
  143. package/src/modules/bmm/_module-installer/install-config.yaml +9 -23
  144. package/src/modules/bmm/_module-installer/installer.js +2 -2
  145. package/src/modules/bmm/agents/analyst.agent.yaml +25 -19
  146. package/src/modules/bmm/agents/architect.agent.yaml +20 -19
  147. package/src/modules/bmm/agents/dev.agent.yaml +12 -15
  148. package/src/modules/bmm/agents/frame-expert.agent.yaml +42 -0
  149. package/src/modules/bmm/agents/pm.agent.yaml +36 -22
  150. package/src/modules/bmm/agents/sm.agent.yaml +30 -24
  151. package/src/modules/bmm/agents/tea.agent.yaml +25 -17
  152. package/src/modules/bmm/agents/tech-writer.agent.yaml +68 -0
  153. package/src/modules/bmm/agents/ux-designer.agent.yaml +18 -12
  154. package/src/modules/bmm/docs/README.md +236 -0
  155. package/src/modules/bmm/docs/agents-guide.md +1058 -0
  156. package/src/modules/bmm/docs/brownfield-guide.md +762 -0
  157. package/src/modules/bmm/docs/enterprise-agentic-development.md +686 -0
  158. package/src/modules/bmm/docs/faq.md +588 -0
  159. package/src/modules/bmm/docs/glossary.md +320 -0
  160. package/src/modules/bmm/docs/party-mode.md +224 -0
  161. package/src/modules/bmm/docs/quick-spec-flow.md +652 -0
  162. package/src/modules/bmm/docs/quick-start.md +376 -0
  163. package/src/modules/bmm/docs/scale-adaptive-system.md +612 -0
  164. package/src/modules/bmm/docs/test-architecture.md +396 -0
  165. package/src/modules/bmm/{workflows/3-solutioning/architecture/readme.md → docs/workflow-architecture-reference.md} +132 -84
  166. package/src/modules/bmm/{workflows/document-project/README.md → docs/workflow-document-project-reference.md} +49 -4
  167. package/src/modules/bmm/docs/workflows-analysis.md +370 -0
  168. package/src/modules/bmm/docs/workflows-implementation.md +286 -0
  169. package/src/modules/bmm/docs/workflows-planning.md +612 -0
  170. package/src/modules/bmm/docs/workflows-solutioning.md +554 -0
  171. package/src/modules/bmm/teams/default-party.csv +20 -0
  172. package/src/modules/bmm/teams/team-fullstack.yaml +2 -0
  173. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/instructions.md +45 -24
  174. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +8 -8
  175. package/src/modules/bmm/workflows/1-analysis/domain-research/instructions.md +425 -0
  176. package/src/modules/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  177. package/src/modules/bmm/workflows/1-analysis/domain-research/workflow.yaml +56 -0
  178. package/src/modules/bmm/workflows/1-analysis/product-brief/instructions.md +435 -232
  179. package/src/modules/bmm/workflows/1-analysis/product-brief/template.md +93 -77
  180. package/src/modules/bmm/workflows/1-analysis/product-brief/workflow.yaml +32 -14
  181. package/src/modules/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  182. package/src/modules/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  183. package/src/modules/bmm/workflows/1-analysis/research/checklist.md +156 -59
  184. package/src/modules/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +70 -65
  185. package/src/modules/bmm/workflows/1-analysis/research/instructions-market.md +205 -143
  186. package/src/modules/bmm/workflows/1-analysis/research/instructions-router.md +55 -46
  187. package/src/modules/bmm/workflows/1-analysis/research/instructions-technical.md +116 -83
  188. package/src/modules/bmm/workflows/1-analysis/research/template-market.md +37 -1
  189. package/src/modules/bmm/workflows/1-analysis/research/template-technical.md +36 -1
  190. package/src/modules/bmm/workflows/1-analysis/research/workflow.yaml +25 -12
  191. package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/epics-template.md +80 -0
  192. package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/instructions.md +616 -0
  193. package/src/modules/bmm/workflows/2-plan-workflows/create-epics-and-stories/workflow.yaml +63 -0
  194. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +51 -26
  195. package/src/modules/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +67 -16
  196. package/src/modules/bmm/workflows/2-plan-workflows/prd/checklist.md +292 -63
  197. package/src/modules/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  198. package/src/modules/bmm/workflows/2-plan-workflows/prd/instructions.md +544 -290
  199. package/src/modules/bmm/workflows/2-plan-workflows/prd/prd-template.md +165 -23
  200. package/src/modules/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  201. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +50 -18
  202. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +146 -36
  203. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +67 -4
  204. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +436 -0
  205. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +874 -163
  206. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +132 -6
  207. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +54 -20
  208. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +36 -28
  209. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +0 -26
  210. package/src/modules/bmm/workflows/3-solutioning/architecture/architecture-template.md +1 -1
  211. package/src/modules/bmm/workflows/3-solutioning/architecture/checklist.md +5 -9
  212. package/src/modules/bmm/workflows/3-solutioning/architecture/instructions.md +215 -150
  213. package/src/modules/bmm/workflows/3-solutioning/architecture/workflow.yaml +72 -26
  214. package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/checklist.md +7 -13
  215. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
  216. package/src/modules/bmm/workflows/3-solutioning/{solutioning-gate-check → implementation-readiness}/template.md +1 -1
  217. package/src/modules/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +64 -0
  218. package/src/modules/bmm/workflows/4-implementation/code-review/instructions.md +25 -18
  219. package/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +31 -26
  220. package/src/modules/bmm/workflows/4-implementation/correct-course/checklist.md +1 -1
  221. package/src/modules/bmm/workflows/4-implementation/correct-course/instructions.md +7 -2
  222. package/src/modules/bmm/workflows/4-implementation/correct-course/workflow.yaml +38 -25
  223. package/src/modules/bmm/workflows/4-implementation/create-story/instructions.md +22 -18
  224. package/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +38 -14
  225. package/src/modules/bmm/workflows/4-implementation/dev-story/instructions.md +8 -3
  226. package/src/modules/bmm/workflows/4-implementation/dev-story/workflow.yaml +35 -5
  227. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/checklist.md +1 -1
  228. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/instructions.md +10 -6
  229. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +40 -16
  230. package/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +1207 -243
  231. package/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +38 -26
  232. package/src/modules/bmm/workflows/4-implementation/sprint-planning/instructions.md +28 -15
  233. package/src/modules/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +1 -1
  234. package/src/modules/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +16 -6
  235. package/src/modules/bmm/workflows/4-implementation/story-context/checklist.md +1 -1
  236. package/src/modules/bmm/workflows/4-implementation/story-context/context-template.xml +1 -1
  237. package/src/modules/bmm/workflows/4-implementation/story-context/instructions.md +23 -15
  238. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +39 -8
  239. package/src/modules/bmm/workflows/4-implementation/story-done/instructions.md +1 -1
  240. package/src/modules/bmm/workflows/4-implementation/story-done/workflow.yaml +5 -4
  241. package/src/modules/bmm/workflows/4-implementation/story-ready/instructions.md +6 -6
  242. package/src/modules/bmm/workflows/4-implementation/story-ready/workflow.yaml +5 -7
  243. package/src/modules/bmm/workflows/document-project/checklist.md +1 -1
  244. package/src/modules/bmm/workflows/document-project/instructions.md +5 -5
  245. package/src/modules/bmm/workflows/document-project/workflow.yaml +2 -7
  246. package/src/modules/bmm/workflows/document-project/workflows/deep-dive-instructions.md +4 -4
  247. package/src/modules/bmm/workflows/document-project/workflows/deep-dive.yaml +5 -5
  248. package/src/modules/bmm/workflows/document-project/workflows/full-scan-instructions.md +13 -13
  249. package/src/modules/bmm/workflows/document-project/workflows/full-scan.yaml +5 -5
  250. package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-helpers.md +127 -0
  251. package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-library.json +90 -0
  252. package/src/modules/bmm/workflows/frame-expert/_shared/excalidraw-templates.yaml +127 -0
  253. package/src/modules/bmm/workflows/frame-expert/_shared/validate-json-instructions.md +79 -0
  254. package/src/modules/bmm/workflows/frame-expert/create-dataflow/checklist.md +39 -0
  255. package/src/modules/bmm/workflows/frame-expert/create-dataflow/instructions.md +131 -0
  256. package/src/modules/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +24 -0
  257. package/src/modules/bmm/workflows/frame-expert/create-diagram/checklist.md +43 -0
  258. package/src/modules/bmm/workflows/frame-expert/create-diagram/instructions.md +142 -0
  259. package/src/modules/bmm/workflows/frame-expert/create-diagram/workflow.yaml +25 -0
  260. package/src/modules/bmm/workflows/frame-expert/create-flowchart/checklist.md +49 -0
  261. package/src/modules/bmm/workflows/frame-expert/create-flowchart/instructions.md +242 -0
  262. package/src/modules/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +28 -0
  263. package/src/modules/bmm/workflows/frame-expert/create-wireframe/checklist.md +38 -0
  264. package/src/modules/bmm/workflows/frame-expert/create-wireframe/instructions.md +133 -0
  265. package/src/modules/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +24 -0
  266. package/src/modules/bmm/workflows/techdoc/documentation-standards.md +262 -0
  267. package/src/modules/bmm/workflows/testarch/atdd/atdd-checklist-template.md +2 -2
  268. package/src/modules/bmm/workflows/testarch/atdd/instructions.md +2 -2
  269. package/src/modules/bmm/workflows/testarch/atdd/workflow.yaml +2 -9
  270. package/src/modules/bmm/workflows/testarch/automate/instructions.md +2 -2
  271. package/src/modules/bmm/workflows/testarch/automate/workflow.yaml +2 -11
  272. package/src/modules/bmm/workflows/testarch/ci/checklist.md +4 -4
  273. package/src/modules/bmm/workflows/testarch/ci/instructions.md +2 -2
  274. package/src/modules/bmm/workflows/testarch/ci/workflow.yaml +2 -10
  275. package/src/modules/bmm/workflows/testarch/framework/checklist.md +4 -4
  276. package/src/modules/bmm/workflows/testarch/framework/instructions.md +2 -2
  277. package/src/modules/bmm/workflows/testarch/framework/workflow.yaml +2 -8
  278. package/src/modules/bmm/workflows/testarch/nfr-assess/instructions.md +1 -1
  279. package/src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml +2 -11
  280. package/src/modules/bmm/workflows/testarch/test-design/checklist.md +4 -4
  281. package/src/modules/bmm/workflows/testarch/test-design/instructions.md +175 -14
  282. package/src/modules/bmm/workflows/testarch/test-design/test-design-template.md +4 -4
  283. package/src/modules/bmm/workflows/testarch/test-design/workflow.yaml +7 -11
  284. package/src/modules/bmm/workflows/testarch/test-review/instructions.md +1 -1
  285. package/src/modules/bmm/workflows/testarch/test-review/workflow.yaml +2 -9
  286. package/src/modules/bmm/workflows/testarch/trace/instructions.md +9 -9
  287. package/src/modules/bmm/workflows/testarch/trace/workflow.yaml +2 -13
  288. package/src/modules/bmm/workflows/workflow-status/init/instructions.md +249 -212
  289. package/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +6 -5
  290. package/src/modules/bmm/workflows/workflow-status/instructions.md +177 -113
  291. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +138 -0
  292. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +126 -0
  293. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +42 -65
  294. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +122 -0
  295. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +113 -0
  296. package/src/modules/bmm/workflows/workflow-status/paths/{brownfield-level-1.yaml → quick-flow-brownfield.yaml} +18 -18
  297. package/src/modules/bmm/workflows/workflow-status/paths/{greenfield-level-1.yaml → quick-flow-greenfield.yaml} +16 -18
  298. package/src/modules/bmm/workflows/workflow-status/project-levels.yaml +1 -1
  299. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  300. package/src/modules/bmm/workflows/workflow-status/workflow.yaml +5 -5
  301. package/src/modules/cis/README.md +153 -0
  302. package/src/modules/cis/_module-installer/install-config.yaml +6 -4
  303. package/src/modules/cis/agents/README.md +1 -1
  304. package/src/modules/cis/agents/brainstorming-coach.agent.yaml +13 -8
  305. package/src/modules/cis/agents/creative-problem-solver.agent.yaml +13 -8
  306. package/src/modules/cis/agents/design-thinking-coach.agent.yaml +13 -8
  307. package/src/modules/cis/agents/innovation-strategist.agent.yaml +13 -8
  308. package/src/modules/cis/agents/storyteller.agent.yaml +13 -8
  309. package/src/modules/cis/teams/creative-squad.yaml +1 -0
  310. package/src/modules/cis/teams/default-party.csv +11 -0
  311. package/src/modules/cis/workflows/README.md +102 -30
  312. package/src/modules/cis/workflows/design-thinking/instructions.md +4 -2
  313. package/src/modules/cis/workflows/design-thinking/workflow.yaml +7 -12
  314. package/src/modules/cis/workflows/innovation-strategy/instructions.md +7 -5
  315. package/src/modules/cis/workflows/innovation-strategy/template.md +3 -3
  316. package/src/modules/cis/workflows/innovation-strategy/workflow.yaml +7 -12
  317. package/src/modules/cis/workflows/problem-solving/instructions.md +4 -2
  318. package/src/modules/cis/workflows/problem-solving/workflow.yaml +7 -12
  319. package/src/modules/cis/workflows/storytelling/instructions.md +14 -4
  320. package/src/modules/cis/workflows/storytelling/workflow.yaml +7 -12
  321. package/src/utility/models/action-command-header.md +0 -0
  322. package/src/utility/models/agent-activation-ide.xml +3 -3
  323. package/src/utility/models/agent-activation-web.xml +4 -4
  324. package/src/utility/models/agent-command-header.md +1 -0
  325. package/src/utility/models/fragments/activation-steps.xml +3 -2
  326. package/src/utility/models/fragments/handler-validate-workflow.xml +1 -1
  327. package/src/utility/models/fragments/handler-workflow.xml +1 -1
  328. package/src/utility/models/fragments/web-bundle-activation-steps.xml +3 -3
  329. package/test/test-installation-components.js +214 -0
  330. package/tools/bmad-npx-wrapper.js +10 -98
  331. package/tools/cli/README.md +50 -32
  332. package/tools/cli/bundlers/web-bundler.js +322 -26
  333. package/tools/cli/commands/install.js +2 -5
  334. package/tools/cli/installers/lib/core/config-collector.js +279 -39
  335. package/tools/cli/installers/lib/core/detector.js +62 -7
  336. package/tools/cli/installers/lib/core/ide-config-manager.js +3 -1
  337. package/tools/cli/installers/lib/core/installer.js +219 -46
  338. package/tools/cli/installers/lib/core/manifest-generator.js +33 -117
  339. package/tools/cli/installers/lib/core/manifest.js +6 -2
  340. package/tools/cli/installers/lib/ide/_base-ide.js +57 -3
  341. package/tools/cli/installers/lib/ide/auggie.js +81 -238
  342. package/tools/cli/installers/lib/ide/claude-code.js +47 -25
  343. package/tools/cli/installers/lib/ide/cline.js +15 -18
  344. package/tools/cli/installers/lib/ide/codex.js +17 -48
  345. package/tools/cli/installers/lib/ide/crush.js +14 -50
  346. package/tools/cli/installers/lib/ide/cursor.js +68 -8
  347. package/tools/cli/installers/lib/ide/gemini.js +87 -37
  348. package/tools/cli/installers/lib/ide/github-copilot.js +47 -35
  349. package/tools/cli/installers/lib/ide/iflow.js +13 -30
  350. package/tools/cli/installers/lib/ide/kilo.js +20 -16
  351. package/tools/cli/installers/lib/ide/manager.js +15 -0
  352. package/tools/cli/installers/lib/ide/opencode.js +16 -17
  353. package/tools/cli/installers/lib/ide/qwen.js +39 -11
  354. package/tools/cli/installers/lib/ide/roo.js +27 -62
  355. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +90 -0
  356. package/tools/cli/installers/lib/ide/{task-tool-command-generator.js → shared/task-tool-command-generator.js} +1 -1
  357. package/tools/cli/installers/lib/ide/{workflow-command-generator.js → shared/workflow-command-generator.js} +11 -9
  358. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  359. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  360. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  361. package/tools/cli/installers/lib/ide/{workflow-command-template.md → templates/workflow-command-template.md} +3 -5
  362. package/tools/cli/installers/lib/ide/trae.js +20 -32
  363. package/tools/cli/installers/lib/ide/windsurf.js +18 -8
  364. package/tools/cli/installers/lib/modules/manager.js +213 -7
  365. package/tools/cli/lib/cli-utils.js +52 -50
  366. package/tools/cli/lib/config.js +3 -1
  367. package/tools/cli/lib/ui.js +34 -17
  368. package/tools/cli/lib/xml-handler.js +1 -0
  369. package/tools/cli/lib/yaml-format.js +2 -1
  370. package/tools/cli/lib/yaml-xml-builder.js +76 -8
  371. package/tools/schema/agent.js +12 -3
  372. package/v6-open-items.md +3 -9
  373. package/.claude/commands/bmad/bmb/agents/bmad-builder.md +0 -70
  374. package/.claude/commands/bmad/bmb/workflows/README.md +0 -67
  375. package/.claude/commands/bmad/bmb/workflows/audit-workflow.md +0 -15
  376. package/.claude/commands/bmad/bmb/workflows/convert-legacy.md +0 -15
  377. package/.claude/commands/bmad/bmb/workflows/create-agent.md +0 -15
  378. package/.claude/commands/bmad/bmb/workflows/create-module.md +0 -15
  379. package/.claude/commands/bmad/bmb/workflows/create-workflow.md +0 -15
  380. package/.claude/commands/bmad/bmb/workflows/edit-agent.md +0 -15
  381. package/.claude/commands/bmad/bmb/workflows/edit-module.md +0 -15
  382. package/.claude/commands/bmad/bmb/workflows/edit-workflow.md +0 -15
  383. package/.claude/commands/bmad/bmb/workflows/module-brief.md +0 -15
  384. package/.claude/commands/bmad/bmb/workflows/redoc.md +0 -15
  385. package/.claude/commands/bmad/bmd/agents/cli-chief.md +0 -108
  386. package/.claude/commands/bmad/bmd/agents/doc-keeper.md +0 -115
  387. package/.claude/commands/bmad/bmd/agents/release-chief.md +0 -109
  388. package/.claude/commands/bmad/core/agents/bmad-master.md +0 -71
  389. package/.claude/commands/bmad/core/tasks/index-docs.md +0 -9
  390. package/.claude/commands/bmad/core/tools/shard-doc.md +0 -9
  391. package/.claude/commands/bmad/core/workflows/README.md +0 -27
  392. package/.claude/commands/bmad/core/workflows/brainstorming.md +0 -15
  393. package/.claude/commands/bmad/core/workflows/party-mode.md +0 -15
  394. package/.claude/hooks/bmad-tts-injector.sh +0 -415
  395. package/.claude/hooks/bmad-voice-manager.sh +0 -511
  396. package/.claude/hooks/check-output-style.sh +0 -112
  397. package/.claude/hooks/download-extra-voices.sh +0 -244
  398. package/.claude/hooks/github-star-reminder.sh +0 -154
  399. package/.claude/hooks/language-manager.sh +0 -392
  400. package/.claude/hooks/learn-manager.sh +0 -475
  401. package/.claude/hooks/personality-manager.sh +0 -438
  402. package/.claude/hooks/piper-download-voices.sh +0 -165
  403. package/.claude/hooks/piper-installer.sh +0 -178
  404. package/.claude/hooks/piper-multispeaker-registry.sh +0 -165
  405. package/.claude/hooks/piper-voice-manager.sh +0 -293
  406. package/.claude/hooks/play-tts-elevenlabs.sh +0 -404
  407. package/.claude/hooks/play-tts-piper.sh +0 -338
  408. package/.claude/hooks/play-tts.sh +0 -100
  409. package/.claude/hooks/provider-commands.sh +0 -540
  410. package/.claude/hooks/provider-manager.sh +0 -298
  411. package/.claude/hooks/replay-target-audio.sh +0 -95
  412. package/.claude/hooks/sentiment-manager.sh +0 -201
  413. package/.claude/hooks/speed-manager.sh +0 -291
  414. package/.claude/hooks/voice-manager.sh +0 -594
  415. package/.claude/hooks/voices-config.sh +0 -70
  416. package/.claude/settings.local.json +0 -41
  417. package/bmad/_cfg/agent-manifest.csv +0 -7
  418. package/bmad/_cfg/agents/bmb-bmad-builder.customize.yaml +0 -42
  419. package/bmad/_cfg/agents/bmd-cli-chief.customize.yaml +0 -32
  420. package/bmad/_cfg/agents/bmd-doc-keeper.customize.yaml +0 -42
  421. package/bmad/_cfg/agents/bmd-release-chief.customize.yaml +0 -42
  422. package/bmad/_cfg/agents/core-bmad-master.customize.yaml +0 -42
  423. package/bmad/_cfg/files-manifest.csv +0 -83
  424. package/bmad/_cfg/manifest.yaml +0 -12
  425. package/bmad/_cfg/task-manifest.csv +0 -5
  426. package/bmad/_cfg/tool-manifest.csv +0 -2
  427. package/bmad/_cfg/workflow-manifest.csv +0 -15
  428. package/bmad/bmb/README.md +0 -132
  429. package/bmad/bmb/agents/bmad-builder.md +0 -70
  430. package/bmad/bmb/config.yaml +0 -14
  431. package/bmad/bmb/workflows/audit-workflow/checklist.md +0 -143
  432. package/bmad/bmb/workflows/audit-workflow/instructions.md +0 -341
  433. package/bmad/bmb/workflows/audit-workflow/template.md +0 -118
  434. package/bmad/bmb/workflows/audit-workflow/workflow.yaml +0 -23
  435. package/bmad/bmb/workflows/audit-workflow/workflow.yaml.bak +0 -21
  436. package/bmad/bmb/workflows/convert-legacy/README.md +0 -262
  437. package/bmad/bmb/workflows/convert-legacy/checklist.md +0 -205
  438. package/bmad/bmb/workflows/convert-legacy/instructions.md +0 -377
  439. package/bmad/bmb/workflows/convert-legacy/workflow.yaml +0 -32
  440. package/bmad/bmb/workflows/create-agent/README.md +0 -320
  441. package/bmad/bmb/workflows/create-agent/agent-architecture.md +0 -419
  442. package/bmad/bmb/workflows/create-agent/agent-architecture.md.bak +0 -412
  443. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  444. package/bmad/bmb/workflows/create-agent/agent-command-patterns.md.bak +0 -759
  445. package/bmad/bmb/workflows/create-agent/agent-types.md +0 -292
  446. package/bmad/bmb/workflows/create-agent/brainstorm-context.md +0 -174
  447. package/bmad/bmb/workflows/create-agent/checklist.md +0 -62
  448. package/bmad/bmb/workflows/create-agent/communication-styles.md +0 -202
  449. package/bmad/bmb/workflows/create-agent/instructions.md +0 -430
  450. package/bmad/bmb/workflows/create-agent/workflow.yaml +0 -37
  451. package/bmad/bmb/workflows/create-module/README.md +0 -220
  452. package/bmad/bmb/workflows/create-module/README.md.bak +0 -218
  453. package/bmad/bmb/workflows/create-module/brainstorm-context.md +0 -137
  454. package/bmad/bmb/workflows/create-module/checklist.md +0 -244
  455. package/bmad/bmb/workflows/create-module/checklist.md.bak +0 -245
  456. package/bmad/bmb/workflows/create-module/installer-templates/install-config.yaml +0 -92
  457. package/bmad/bmb/workflows/create-module/installer-templates/installer.js +0 -231
  458. package/bmad/bmb/workflows/create-module/installer-templates/installer.js.bak +0 -231
  459. package/bmad/bmb/workflows/create-module/instructions.md +0 -581
  460. package/bmad/bmb/workflows/create-module/instructions.md.bak +0 -521
  461. package/bmad/bmb/workflows/create-module/module-structure.md +0 -366
  462. package/bmad/bmb/workflows/create-module/module-structure.md.bak +0 -310
  463. package/bmad/bmb/workflows/create-module/workflow.yaml +0 -42
  464. package/bmad/bmb/workflows/create-module/workflow.yaml.bak +0 -40
  465. package/bmad/bmb/workflows/create-workflow/README.md +0 -277
  466. package/bmad/bmb/workflows/create-workflow/brainstorm-context.md +0 -197
  467. package/bmad/bmb/workflows/create-workflow/checklist.md +0 -94
  468. package/bmad/bmb/workflows/create-workflow/instructions.md +0 -716
  469. package/bmad/bmb/workflows/create-workflow/workflow-creation-guide.md +0 -1150
  470. package/bmad/bmb/workflows/create-workflow/workflow-template/checklist.md +0 -24
  471. package/bmad/bmb/workflows/create-workflow/workflow-template/instructions.md +0 -13
  472. package/bmad/bmb/workflows/create-workflow/workflow-template/template.md +0 -9
  473. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml +0 -39
  474. package/bmad/bmb/workflows/create-workflow/workflow-template/workflow.yaml.bak +0 -39
  475. package/bmad/bmb/workflows/create-workflow/workflow.yaml +0 -40
  476. package/bmad/bmb/workflows/create-workflow/workflow.yaml.bak +0 -38
  477. package/bmad/bmb/workflows/edit-agent/README.md +0 -112
  478. package/bmad/bmb/workflows/edit-agent/checklist.md +0 -112
  479. package/bmad/bmb/workflows/edit-agent/instructions.md +0 -290
  480. package/bmad/bmb/workflows/edit-agent/workflow.yaml +0 -33
  481. package/bmad/bmb/workflows/edit-module/README.md +0 -187
  482. package/bmad/bmb/workflows/edit-module/checklist.md +0 -165
  483. package/bmad/bmb/workflows/edit-module/instructions.md +0 -339
  484. package/bmad/bmb/workflows/edit-module/workflow.yaml +0 -34
  485. package/bmad/bmb/workflows/edit-workflow/README.md +0 -119
  486. package/bmad/bmb/workflows/edit-workflow/checklist.md +0 -70
  487. package/bmad/bmb/workflows/edit-workflow/instructions.md +0 -342
  488. package/bmad/bmb/workflows/edit-workflow/workflow.yaml +0 -27
  489. package/bmad/bmb/workflows/edit-workflow/workflow.yaml.bak +0 -25
  490. package/bmad/bmb/workflows/module-brief/README.md +0 -264
  491. package/bmad/bmb/workflows/module-brief/checklist.md +0 -116
  492. package/bmad/bmb/workflows/module-brief/instructions.md +0 -267
  493. package/bmad/bmb/workflows/module-brief/template.md +0 -275
  494. package/bmad/bmb/workflows/module-brief/workflow.yaml +0 -29
  495. package/bmad/bmb/workflows/module-brief/workflow.yaml.bak +0 -27
  496. package/bmad/bmb/workflows/redoc/README.md +0 -87
  497. package/bmad/bmb/workflows/redoc/checklist.md +0 -99
  498. package/bmad/bmb/workflows/redoc/instructions.md +0 -265
  499. package/bmad/bmb/workflows/redoc/workflow.yaml +0 -32
  500. package/bmad/bmb/workflows/redoc/workflow.yaml.bak +0 -31
  501. package/bmad/bmd/README.md +0 -193
  502. package/bmad/bmd/README.md.bak +0 -193
  503. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  504. package/bmad/bmd/agents/cli-chief-sidecar/instructions.md.bak +0 -102
  505. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  506. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/README.md.bak +0 -68
  507. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  508. package/bmad/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md.bak +0 -123
  509. package/bmad/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  510. package/bmad/bmd/agents/cli-chief-sidecar/memories.md.bak +0 -53
  511. package/bmad/bmd/agents/cli-chief.md +0 -108
  512. package/bmad/bmd/agents/cli-chief.md.bak +0 -108
  513. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  514. package/bmad/bmd/agents/doc-keeper-sidecar/instructions.md.bak +0 -177
  515. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  516. package/bmad/bmd/agents/doc-keeper-sidecar/knowledge/README.md.bak +0 -81
  517. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  518. package/bmad/bmd/agents/doc-keeper-sidecar/memories.md.bak +0 -88
  519. package/bmad/bmd/agents/doc-keeper.md +0 -115
  520. package/bmad/bmd/agents/doc-keeper.md.bak +0 -115
  521. package/bmad/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  522. package/bmad/bmd/agents/release-chief-sidecar/instructions.md.bak +0 -164
  523. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  524. package/bmad/bmd/agents/release-chief-sidecar/knowledge/README.md.bak +0 -82
  525. package/bmad/bmd/agents/release-chief-sidecar/memories.md +0 -73
  526. package/bmad/bmd/agents/release-chief-sidecar/memories.md.bak +0 -73
  527. package/bmad/bmd/agents/release-chief.md +0 -109
  528. package/bmad/bmd/agents/release-chief.md.bak +0 -109
  529. package/bmad/bmd/config.yaml +0 -10
  530. package/bmad/core/agents/bmad-master.md +0 -71
  531. package/bmad/core/agents/bmad-web-orchestrator.agent.xml +0 -122
  532. package/bmad/core/config.yaml +0 -9
  533. package/bmad/core/tasks/adv-elicit-methods.csv +0 -39
  534. package/bmad/core/tasks/index-docs.xml +0 -65
  535. package/bmad/core/tasks/validate-workflow.xml +0 -89
  536. package/bmad/core/tasks/workflow.xml +0 -174
  537. package/bmad/core/tools/shard-doc.xml +0 -100
  538. package/bmad/core/workflows/brainstorming/README.md +0 -271
  539. package/bmad/core/workflows/brainstorming/brain-methods.csv +0 -36
  540. package/bmad/core/workflows/brainstorming/instructions.md +0 -314
  541. package/bmad/core/workflows/brainstorming/template.md +0 -102
  542. package/bmad/core/workflows/brainstorming/workflow.yaml +0 -43
  543. package/bmad/core/workflows/party-mode/instructions.md +0 -188
  544. package/bmad/core/workflows/party-mode/workflow.yaml +0 -23
  545. package/bmad/docs/claude-code-instructions.md +0 -25
  546. package/bmad/docs/codex-instructions.md +0 -21
  547. package/bmd/README.md +0 -193
  548. package/bmd/agents/cli-chief-sidecar/instructions.md +0 -102
  549. package/bmd/agents/cli-chief-sidecar/knowledge/README.md +0 -68
  550. package/bmd/agents/cli-chief-sidecar/knowledge/cli-reference.md +0 -123
  551. package/bmd/agents/cli-chief-sidecar/memories.md +0 -53
  552. package/bmd/agents/cli-chief.agent.yaml +0 -126
  553. package/bmd/agents/doc-keeper-sidecar/instructions.md +0 -177
  554. package/bmd/agents/doc-keeper-sidecar/knowledge/README.md +0 -81
  555. package/bmd/agents/doc-keeper-sidecar/memories.md +0 -88
  556. package/bmd/agents/doc-keeper.agent.yaml +0 -137
  557. package/bmd/agents/release-chief-sidecar/instructions.md +0 -164
  558. package/bmd/agents/release-chief-sidecar/knowledge/README.md +0 -82
  559. package/bmd/agents/release-chief-sidecar/memories.md +0 -73
  560. package/bmd/agents/release-chief.agent.yaml +0 -127
  561. package/bmd/bmad-custom-module-installer-plan.md +0 -1176
  562. package/bmd/config.yaml +0 -12
  563. package/docs/bmad-brownfield-guide.md +0 -1260
  564. package/docs/conversion-report-shard-doc-2025-10-26.md +0 -188
  565. package/src/core/tasks/adv-elicit.xml +0 -104
  566. package/src/modules/bmm/agents/game-architect.agent.yaml +0 -35
  567. package/src/modules/bmm/agents/game-designer.agent.yaml +0 -47
  568. package/src/modules/bmm/agents/game-dev.agent.yaml +0 -39
  569. package/src/modules/bmm/sub-modules/claude-code/config.yaml +0 -5
  570. package/src/modules/bmm/sub-modules/claude-code/injections.yaml +0 -242
  571. package/src/modules/bmm/sub-modules/claude-code/readme.md +0 -87
  572. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/api-documenter.md +0 -102
  573. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/codebase-analyzer.md +0 -82
  574. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/data-analyst.md +0 -101
  575. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-analysis/pattern-detector.md +0 -84
  576. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/dependency-mapper.md +0 -83
  577. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/epic-optimizer.md +0 -81
  578. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/requirements-analyst.md +0 -61
  579. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/technical-decisions-curator.md +0 -168
  580. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/trend-spotter.md +0 -115
  581. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-journey-mapper.md +0 -123
  582. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-planning/user-researcher.md +0 -72
  583. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/market-researcher.md +0 -51
  584. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-research/tech-debt-auditor.md +0 -106
  585. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/document-reviewer.md +0 -102
  586. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/technical-evaluator.md +0 -68
  587. package/src/modules/bmm/sub-modules/claude-code/sub-agents/bmad-review/test-coverage-analyzer.md +0 -108
  588. package/src/modules/bmm/tasks/daily-standup.xml +0 -85
  589. package/src/modules/bmm/tasks/retrospective.xml +0 -104
  590. package/src/modules/bmm/testarch/README.md +0 -311
  591. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/README.md +0 -38
  592. package/src/modules/bmm/workflows/1-analysis/brainstorm-game/instructions.md +0 -109
  593. package/src/modules/bmm/workflows/1-analysis/brainstorm-project/README.md +0 -29
  594. package/src/modules/bmm/workflows/1-analysis/game-brief/README.md +0 -221
  595. package/src/modules/bmm/workflows/1-analysis/product-brief/README.md +0 -180
  596. package/src/modules/bmm/workflows/1-analysis/research/README.md +0 -454
  597. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-competitor-analyzer.md +0 -259
  598. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-data-analyst.md +0 -190
  599. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-market-researcher.md +0 -337
  600. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-trend-spotter.md +0 -107
  601. package/src/modules/bmm/workflows/1-analysis/research/claude-code/sub-agents/bmm-user-researcher.md +0 -329
  602. package/src/modules/bmm/workflows/2-plan-workflows/README.md +0 -258
  603. package/src/modules/bmm/workflows/2-plan-workflows/gdd/README.md +0 -222
  604. package/src/modules/bmm/workflows/2-plan-workflows/gdd/workflow.yaml +0 -67
  605. package/src/modules/bmm/workflows/2-plan-workflows/prd/epics-template.md +0 -63
  606. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level0-story.md +0 -167
  607. package/src/modules/bmm/workflows/2-plan-workflows/tech-spec/instructions-level1-stories.md +0 -278
  608. package/src/modules/bmm/workflows/3-solutioning/README.md +0 -1
  609. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/README.md +0 -177
  610. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/instructions.md +0 -273
  611. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/validation-criteria.yaml +0 -189
  612. package/src/modules/bmm/workflows/3-solutioning/solutioning-gate-check/workflow.yaml +0 -40
  613. package/src/modules/bmm/workflows/4-implementation/README.md +0 -221
  614. package/src/modules/bmm/workflows/4-implementation/code-review/README.md +0 -69
  615. package/src/modules/bmm/workflows/4-implementation/correct-course/README.md +0 -73
  616. package/src/modules/bmm/workflows/4-implementation/create-story/README.md +0 -129
  617. package/src/modules/bmm/workflows/4-implementation/dev-story/AUDIT-REPORT.md +0 -367
  618. package/src/modules/bmm/workflows/4-implementation/dev-story/README.md +0 -206
  619. package/src/modules/bmm/workflows/4-implementation/epic-tech-context/README.md +0 -195
  620. package/src/modules/bmm/workflows/4-implementation/retrospective/README.md +0 -77
  621. package/src/modules/bmm/workflows/4-implementation/sprint-planning/README.md +0 -156
  622. package/src/modules/bmm/workflows/4-implementation/story-context/README.md +0 -234
  623. package/src/modules/bmm/workflows/README.md +0 -577
  624. package/src/modules/bmm/workflows/document-project/templates/README.md +0 -38
  625. package/src/modules/bmm/workflows/testarch/README.md +0 -26
  626. package/src/modules/bmm/workflows/testarch/atdd/README.md +0 -672
  627. package/src/modules/bmm/workflows/testarch/automate/README.md +0 -869
  628. package/src/modules/bmm/workflows/testarch/ci/README.md +0 -493
  629. package/src/modules/bmm/workflows/testarch/framework/README.md +0 -340
  630. package/src/modules/bmm/workflows/testarch/nfr-assess/README.md +0 -469
  631. package/src/modules/bmm/workflows/testarch/test-design/README.md +0 -493
  632. package/src/modules/bmm/workflows/testarch/test-review/README.md +0 -775
  633. package/src/modules/bmm/workflows/testarch/trace/README.md +0 -802
  634. package/src/modules/bmm/workflows/workflow-status/README.md +0 -241
  635. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-0.yaml +0 -54
  636. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-2.yaml +0 -76
  637. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-3.yaml +0 -95
  638. package/src/modules/bmm/workflows/workflow-status/paths/brownfield-level-4.yaml +0 -88
  639. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-0.yaml +0 -45
  640. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-2.yaml +0 -78
  641. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-3.yaml +0 -73
  642. package/src/modules/bmm/workflows/workflow-status/paths/greenfield-level-4.yaml +0 -75
  643. package/src/modules/bmm/workflows/workflow-status/workflow-status-template.md +0 -30
  644. package/src/modules/cis/readme.md +0 -86
  645. package/test/fixtures/agent-schema/invalid/persona/principles-as-string.agent.yaml +0 -23
  646. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-brain-methods.csv +0 -0
  647. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/brainstorm-game/game-context.md +0 -0
  648. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/checklist.md +0 -0
  649. /package/src/modules/{bmm/workflows/1-analysis → bmgd/workflows/1-preproduction}/game-brief/template.md +0 -0
  650. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/checklist.md +0 -0
  651. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/action-platformer.md +0 -0
  652. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/adventure.md +0 -0
  653. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/card-game.md +0 -0
  654. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/fighting.md +0 -0
  655. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/horror.md +0 -0
  656. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/idle-incremental.md +0 -0
  657. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/metroidvania.md +0 -0
  658. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/moba.md +0 -0
  659. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/party-game.md +0 -0
  660. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/puzzle.md +0 -0
  661. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/racing.md +0 -0
  662. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rhythm.md +0 -0
  663. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/roguelike.md +0 -0
  664. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/rpg.md +0 -0
  665. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sandbox.md +0 -0
  666. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/shooter.md +0 -0
  667. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/simulation.md +0 -0
  668. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/sports.md +0 -0
  669. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/strategy.md +0 -0
  670. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/survival.md +0 -0
  671. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/text-based.md +0 -0
  672. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/tower-defense.md +0 -0
  673. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/turn-based-tactics.md +0 -0
  674. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types/visual-novel.md +0 -0
  675. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/game-types.csv +0 -0
  676. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/gdd/gdd-template.md +0 -0
  677. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/checklist.md +0 -0
  678. /package/src/modules/{bmm/workflows/2-plan-workflows → bmgd/workflows/2-design}/narrative/narrative-template.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