agentvibes 2.5.0 β†’ 2.7.0

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 (385) hide show
  1. package/.bmad/_cfg/agent-manifest.csv +11 -0
  2. package/.bmad/_cfg/agents/bmm-analyst.customize.yaml +42 -0
  3. package/.bmad/_cfg/agents/bmm-architect.customize.yaml +42 -0
  4. package/.bmad/_cfg/agents/bmm-dev.customize.yaml +42 -0
  5. package/.bmad/_cfg/agents/bmm-frame-expert.customize.yaml +42 -0
  6. package/.bmad/_cfg/agents/bmm-pm.customize.yaml +42 -0
  7. package/.bmad/_cfg/agents/bmm-sm.customize.yaml +42 -0
  8. package/.bmad/_cfg/agents/bmm-tea.customize.yaml +42 -0
  9. package/.bmad/_cfg/agents/bmm-tech-writer.customize.yaml +42 -0
  10. package/.bmad/_cfg/agents/bmm-ux-designer.customize.yaml +42 -0
  11. package/.bmad/_cfg/agents/core-bmad-master.customize.yaml +42 -0
  12. package/.bmad/_cfg/files-manifest.csv +243 -0
  13. package/.bmad/_cfg/ides/claude-code.yaml +6 -0
  14. package/.bmad/_cfg/manifest.yaml +9 -0
  15. package/.bmad/_cfg/task-manifest.csv +5 -0
  16. package/.bmad/_cfg/tool-manifest.csv +2 -0
  17. package/.bmad/_cfg/workflow-manifest.csv +38 -0
  18. package/.bmad/bmm/README.md +128 -0
  19. package/.bmad/bmm/agents/analyst.md +79 -0
  20. package/.bmad/bmm/agents/analyst.md.backup-pre-tts +75 -0
  21. package/.bmad/bmm/agents/architect.md +80 -0
  22. package/.bmad/bmm/agents/dev.md +70 -0
  23. package/.bmad/bmm/agents/frame-expert.md +72 -0
  24. package/.bmad/bmm/agents/pm.md +84 -0
  25. package/.bmad/bmm/agents/sm.md +93 -0
  26. package/.bmad/bmm/agents/tea.md +80 -0
  27. package/.bmad/bmm/agents/tech-writer.md +84 -0
  28. package/.bmad/bmm/agents/ux-designer.md +79 -0
  29. package/.bmad/bmm/config.yaml +17 -0
  30. package/.bmad/bmm/docs/README.md +236 -0
  31. package/.bmad/bmm/docs/agents-guide.md +1058 -0
  32. package/.bmad/bmm/docs/brownfield-guide.md +762 -0
  33. package/.bmad/bmm/docs/enterprise-agentic-development.md +686 -0
  34. package/.bmad/bmm/docs/faq.md +588 -0
  35. package/.bmad/bmm/docs/glossary.md +320 -0
  36. package/.bmad/bmm/docs/party-mode.md +224 -0
  37. package/.bmad/bmm/docs/quick-spec-flow.md +652 -0
  38. package/.bmad/bmm/docs/quick-start.md +376 -0
  39. package/.bmad/bmm/docs/scale-adaptive-system.md +612 -0
  40. package/.bmad/bmm/docs/test-architecture.md +396 -0
  41. package/.bmad/bmm/docs/workflow-architecture-reference.md +366 -0
  42. package/.bmad/bmm/docs/workflow-document-project-reference.md +489 -0
  43. package/.bmad/bmm/docs/workflows-analysis.md +370 -0
  44. package/.bmad/bmm/docs/workflows-implementation.md +286 -0
  45. package/.bmad/bmm/docs/workflows-planning.md +612 -0
  46. package/.bmad/bmm/docs/workflows-solutioning.md +554 -0
  47. package/.bmad/bmm/teams/default-party.csv +20 -0
  48. package/.bmad/bmm/teams/team-fullstack.yaml +13 -0
  49. package/.bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  50. package/.bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
  51. package/.bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
  52. package/.bmad/bmm/testarch/knowledge/data-factories.md +500 -0
  53. package/.bmad/bmm/testarch/knowledge/email-auth.md +721 -0
  54. package/.bmad/bmm/testarch/knowledge/error-handling.md +725 -0
  55. package/.bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
  56. package/.bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  57. package/.bmad/bmm/testarch/knowledge/network-first.md +486 -0
  58. package/.bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  59. package/.bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
  60. package/.bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
  61. package/.bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
  62. package/.bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
  63. package/.bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
  64. package/.bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  65. package/.bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  66. package/.bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  67. package/.bmad/bmm/testarch/knowledge/test-quality.md +664 -0
  68. package/.bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
  69. package/.bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
  70. package/.bmad/bmm/testarch/tea-index.csv +22 -0
  71. package/.bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md +112 -0
  72. package/.bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
  73. package/.bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +26 -0
  74. package/.bmad/bmm/workflows/1-analysis/domain-research/instructions.md +425 -0
  75. package/.bmad/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  76. package/.bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +28 -0
  77. package/.bmad/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
  78. package/.bmad/bmm/workflows/1-analysis/product-brief/instructions.md +524 -0
  79. package/.bmad/bmm/workflows/1-analysis/product-brief/template.md +181 -0
  80. package/.bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml +45 -0
  81. package/.bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  82. package/.bmad/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  83. package/.bmad/bmm/workflows/1-analysis/research/checklist.md +299 -0
  84. package/.bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
  85. package/.bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +438 -0
  86. package/.bmad/bmm/workflows/1-analysis/research/instructions-market.md +675 -0
  87. package/.bmad/bmm/workflows/1-analysis/research/instructions-router.md +134 -0
  88. package/.bmad/bmm/workflows/1-analysis/research/instructions-technical.md +534 -0
  89. package/.bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
  90. package/.bmad/bmm/workflows/1-analysis/research/template-market.md +347 -0
  91. package/.bmad/bmm/workflows/1-analysis/research/template-technical.md +245 -0
  92. package/.bmad/bmm/workflows/1-analysis/research/workflow.yaml +44 -0
  93. package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/epics-template.md +80 -0
  94. package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/instructions.md +616 -0
  95. package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/workflow.yaml +53 -0
  96. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
  97. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1308 -0
  98. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
  99. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +61 -0
  100. package/.bmad/bmm/workflows/2-plan-workflows/prd/checklist.md +346 -0
  101. package/.bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  102. package/.bmad/bmm/workflows/2-plan-workflows/prd/instructions.md +703 -0
  103. package/.bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +204 -0
  104. package/.bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  105. package/.bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml +52 -0
  106. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +217 -0
  107. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +74 -0
  108. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +436 -0
  109. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +980 -0
  110. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +181 -0
  111. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +90 -0
  112. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +58 -0
  113. package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +321 -0
  114. package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
  115. package/.bmad/bmm/workflows/3-solutioning/architecture/checklist.md +240 -0
  116. package/.bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
  117. package/.bmad/bmm/workflows/3-solutioning/architecture/instructions.md +768 -0
  118. package/.bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
  119. package/.bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml +55 -0
  120. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/checklist.md +169 -0
  121. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
  122. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/template.md +146 -0
  123. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +62 -0
  124. package/.bmad/bmm/workflows/4-implementation/code-review/backlog_template.md +12 -0
  125. package/.bmad/bmm/workflows/4-implementation/code-review/checklist.md +22 -0
  126. package/.bmad/bmm/workflows/4-implementation/code-review/instructions.md +398 -0
  127. package/.bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +60 -0
  128. package/.bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  129. package/.bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  130. package/.bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +56 -0
  131. package/.bmad/bmm/workflows/4-implementation/create-story/checklist.md +240 -0
  132. package/.bmad/bmm/workflows/4-implementation/create-story/instructions.md +256 -0
  133. package/.bmad/bmm/workflows/4-implementation/create-story/template.md +51 -0
  134. package/.bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +71 -0
  135. package/.bmad/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
  136. package/.bmad/bmm/workflows/4-implementation/dev-story/instructions.md +267 -0
  137. package/.bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +56 -0
  138. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md +17 -0
  139. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md +164 -0
  140. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/template.md +76 -0
  141. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +57 -0
  142. package/.bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  143. package/.bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +56 -0
  144. package/.bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  145. package/.bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +234 -0
  146. package/.bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  147. package/.bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +49 -0
  148. package/.bmad/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
  149. package/.bmad/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
  150. package/.bmad/bmm/workflows/4-implementation/story-context/instructions.md +209 -0
  151. package/.bmad/bmm/workflows/4-implementation/story-context/workflow.yaml +61 -0
  152. package/.bmad/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
  153. package/.bmad/bmm/workflows/4-implementation/story-done/workflow.yaml +26 -0
  154. package/.bmad/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
  155. package/.bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml +23 -0
  156. package/.bmad/bmm/workflows/document-project/checklist.md +245 -0
  157. package/.bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  158. package/.bmad/bmm/workflows/document-project/instructions.md +222 -0
  159. package/.bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  160. package/.bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  161. package/.bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  162. package/.bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  163. package/.bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  164. package/.bmad/bmm/workflows/document-project/workflow.yaml +29 -0
  165. package/.bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  166. package/.bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  167. package/.bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  168. package/.bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  169. package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-helpers.md +127 -0
  170. package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-library.json +90 -0
  171. package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-templates.yaml +127 -0
  172. package/.bmad/bmm/workflows/frame-expert/_shared/validate-json-instructions.md +79 -0
  173. package/.bmad/bmm/workflows/frame-expert/create-dataflow/checklist.md +39 -0
  174. package/.bmad/bmm/workflows/frame-expert/create-dataflow/instructions.md +131 -0
  175. package/.bmad/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +23 -0
  176. package/.bmad/bmm/workflows/frame-expert/create-diagram/checklist.md +43 -0
  177. package/.bmad/bmm/workflows/frame-expert/create-diagram/instructions.md +142 -0
  178. package/.bmad/bmm/workflows/frame-expert/create-diagram/workflow.yaml +24 -0
  179. package/.bmad/bmm/workflows/frame-expert/create-flowchart/checklist.md +49 -0
  180. package/.bmad/bmm/workflows/frame-expert/create-flowchart/instructions.md +242 -0
  181. package/.bmad/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +27 -0
  182. package/.bmad/bmm/workflows/frame-expert/create-wireframe/checklist.md +38 -0
  183. package/.bmad/bmm/workflows/frame-expert/create-wireframe/instructions.md +133 -0
  184. package/.bmad/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +23 -0
  185. package/.bmad/bmm/workflows/techdoc/documentation-standards.md +262 -0
  186. package/.bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  187. package/.bmad/bmm/workflows/testarch/atdd/checklist.md +373 -0
  188. package/.bmad/bmm/workflows/testarch/atdd/instructions.md +785 -0
  189. package/.bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  190. package/.bmad/bmm/workflows/testarch/automate/checklist.md +580 -0
  191. package/.bmad/bmm/workflows/testarch/automate/instructions.md +1303 -0
  192. package/.bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  193. package/.bmad/bmm/workflows/testarch/ci/checklist.md +246 -0
  194. package/.bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
  195. package/.bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
  196. package/.bmad/bmm/workflows/testarch/ci/instructions.md +517 -0
  197. package/.bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  198. package/.bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
  199. package/.bmad/bmm/workflows/testarch/framework/instructions.md +455 -0
  200. package/.bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  201. package/.bmad/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
  202. package/.bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  203. package/.bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
  204. package/.bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  205. package/.bmad/bmm/workflows/testarch/test-design/checklist.md +234 -0
  206. package/.bmad/bmm/workflows/testarch/test-design/instructions.md +782 -0
  207. package/.bmad/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
  208. package/.bmad/bmm/workflows/testarch/test-design/workflow.yaml +48 -0
  209. package/.bmad/bmm/workflows/testarch/test-review/checklist.md +470 -0
  210. package/.bmad/bmm/workflows/testarch/test-review/instructions.md +608 -0
  211. package/.bmad/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
  212. package/.bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  213. package/.bmad/bmm/workflows/testarch/trace/checklist.md +654 -0
  214. package/.bmad/bmm/workflows/testarch/trace/instructions.md +1045 -0
  215. package/.bmad/bmm/workflows/testarch/trace/trace-template.md +673 -0
  216. package/.bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  217. package/.bmad/bmm/workflows/workflow-status/init/instructions.md +334 -0
  218. package/.bmad/bmm/workflows/workflow-status/init/workflow.yaml +28 -0
  219. package/.bmad/bmm/workflows/workflow-status/instructions.md +388 -0
  220. package/.bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +138 -0
  221. package/.bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +126 -0
  222. package/.bmad/bmm/workflows/workflow-status/paths/game-design.yaml +52 -0
  223. package/.bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +122 -0
  224. package/.bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +113 -0
  225. package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +58 -0
  226. package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +47 -0
  227. package/.bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  228. package/.bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  229. package/.bmad/bmm/workflows/workflow-status/workflow.yaml +28 -0
  230. package/.bmad/core/agents/bmad-master.md +72 -0
  231. package/.bmad/core/agents/bmad-web-orchestrator.agent.xml +113 -0
  232. package/.bmad/core/config.yaml +11 -0
  233. package/.bmad/core/tasks/adv-elicit-methods.csv +39 -0
  234. package/.bmad/core/tasks/advanced-elicitation-methods.csv +21 -0
  235. package/.bmad/core/tasks/advanced-elicitation.xml +106 -0
  236. package/.bmad/core/tasks/index-docs.xml +65 -0
  237. package/.bmad/core/tasks/validate-workflow.xml +89 -0
  238. package/.bmad/core/tasks/workflow.xml +270 -0
  239. package/.bmad/core/tools/shard-doc.xml +109 -0
  240. package/.bmad/core/workflows/brainstorming/README.md +261 -0
  241. package/.bmad/core/workflows/brainstorming/brain-methods.csv +36 -0
  242. package/.bmad/core/workflows/brainstorming/instructions.md +315 -0
  243. package/.bmad/core/workflows/brainstorming/template.md +106 -0
  244. package/.bmad/core/workflows/brainstorming/workflow.yaml +38 -0
  245. package/.bmad/core/workflows/party-mode/instructions.md +202 -0
  246. package/.bmad/core/workflows/party-mode/workflow.yaml +28 -0
  247. package/.bmad/docs/claude-code-instructions.md +25 -0
  248. package/.claude/commands/agent-vibes-bmad-party.md +117 -0
  249. package/.claude/commands/bmad/bmm/agents/analyst.md +14 -0
  250. package/.claude/commands/bmad/bmm/agents/architect.md +14 -0
  251. package/.claude/commands/bmad/bmm/agents/dev.md +14 -0
  252. package/.claude/commands/bmad/bmm/agents/frame-expert.md +14 -0
  253. package/.claude/commands/bmad/bmm/agents/pm.md +14 -0
  254. package/.claude/commands/bmad/bmm/agents/sm.md +14 -0
  255. package/.claude/commands/bmad/bmm/agents/tea.md +14 -0
  256. package/.claude/commands/bmad/bmm/agents/tech-writer.md +14 -0
  257. package/.claude/commands/bmad/bmm/agents/ux-designer.md +14 -0
  258. package/.claude/commands/bmad/bmm/workflows/architecture.md +13 -0
  259. package/.claude/commands/bmad/bmm/workflows/brainstorm-project.md +13 -0
  260. package/.claude/commands/bmad/bmm/workflows/code-review.md +13 -0
  261. package/.claude/commands/bmad/bmm/workflows/correct-course.md +13 -0
  262. package/.claude/commands/bmad/bmm/workflows/create-dataflow.md +13 -0
  263. package/.claude/commands/bmad/bmm/workflows/create-diagram.md +13 -0
  264. package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +13 -0
  265. package/.claude/commands/bmad/bmm/workflows/create-flowchart.md +13 -0
  266. package/.claude/commands/bmad/bmm/workflows/create-story.md +13 -0
  267. package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +13 -0
  268. package/.claude/commands/bmad/bmm/workflows/create-wireframe.md +13 -0
  269. package/.claude/commands/bmad/bmm/workflows/dev-story.md +13 -0
  270. package/.claude/commands/bmad/bmm/workflows/document-project.md +13 -0
  271. package/.claude/commands/bmad/bmm/workflows/domain-research.md +13 -0
  272. package/.claude/commands/bmad/bmm/workflows/epic-tech-context.md +13 -0
  273. package/.claude/commands/bmad/bmm/workflows/implementation-readiness.md +13 -0
  274. package/.claude/commands/bmad/bmm/workflows/prd.md +13 -0
  275. package/.claude/commands/bmad/bmm/workflows/product-brief.md +13 -0
  276. package/.claude/commands/bmad/bmm/workflows/research.md +13 -0
  277. package/.claude/commands/bmad/bmm/workflows/retrospective.md +13 -0
  278. package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +13 -0
  279. package/.claude/commands/bmad/bmm/workflows/story-context.md +13 -0
  280. package/.claude/commands/bmad/bmm/workflows/story-done.md +13 -0
  281. package/.claude/commands/bmad/bmm/workflows/story-ready.md +13 -0
  282. package/.claude/commands/bmad/bmm/workflows/tech-spec.md +13 -0
  283. package/.claude/commands/bmad/bmm/workflows/workflow-init.md +13 -0
  284. package/.claude/commands/bmad/bmm/workflows/workflow-status.md +13 -0
  285. package/.claude/commands/bmad/core/agents/bmad-master.md +14 -0
  286. package/.claude/commands/bmad/core/tasks/advanced-elicitation.md +9 -0
  287. package/.claude/commands/bmad/core/tasks/index-docs.md +9 -0
  288. package/.claude/commands/bmad/core/tools/shard-doc.md +9 -0
  289. package/.claude/commands/bmad/core/workflows/brainstorming.md +13 -0
  290. package/.claude/commands/bmad/core/workflows/party-mode.md +13 -0
  291. package/.claude/github-star-reminder.txt +1 -1
  292. package/.claude/hooks/README-TTS-QUEUE.md +135 -0
  293. package/.claude/hooks/bmad-party-manager.sh +225 -0
  294. package/.claude/hooks/bmad-speak.sh +110 -0
  295. package/.claude/hooks/bmad-tts-injector.sh +8 -3
  296. package/.claude/hooks/bmad-voice-manager.sh +61 -29
  297. package/.claude/hooks/play-tts.sh +5 -0
  298. package/.claude/hooks/stop.sh +221 -0
  299. package/.claude/hooks/tts-queue-worker.sh +68 -0
  300. package/.claude/hooks/tts-queue.sh +105 -0
  301. package/.claude/verbosity.txt +1 -0
  302. package/README.md +8 -8
  303. package/RELEASE_NOTES.md +171 -370
  304. package/package.json +1 -1
  305. package/src/bmad-detector.js +3 -3
  306. package/src/commands/bmad-voices.js +392 -0
  307. package/src/installer.js +243 -51
  308. package/.claude/hooks/user-prompt-output.sh +0 -111
  309. package/.claude/plugins/bmad-voices-enabled.flag +0 -0
  310. package/.claude/plugins/bmad-voices.md +0 -51
  311. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agent-teams/team-all.yaml +0 -0
  312. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agent-teams/team-fullstack.yaml +0 -0
  313. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agent-teams/team-ide-minimal.yaml +0 -0
  314. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agent-teams/team-no-ui.yaml +0 -0
  315. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/analyst.md +0 -0
  316. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/architect.md +0 -0
  317. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/bmad-master.md +0 -0
  318. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/bmad-orchestrator.md +0 -0
  319. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/dev.md +0 -0
  320. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/pm.md +0 -0
  321. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/po.md +0 -0
  322. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/qa.md +0 -0
  323. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/sm.md +0 -0
  324. /package/{.bmad-core β†’ v4-backup/.bmad-core}/agents/ux-expert.md +0 -0
  325. /package/{.bmad-core β†’ v4-backup/.bmad-core}/checklists/architect-checklist.md +0 -0
  326. /package/{.bmad-core β†’ v4-backup/.bmad-core}/checklists/change-checklist.md +0 -0
  327. /package/{.bmad-core β†’ v4-backup/.bmad-core}/checklists/pm-checklist.md +0 -0
  328. /package/{.bmad-core β†’ v4-backup/.bmad-core}/checklists/po-master-checklist.md +0 -0
  329. /package/{.bmad-core β†’ v4-backup/.bmad-core}/checklists/story-dod-checklist.md +0 -0
  330. /package/{.bmad-core β†’ v4-backup/.bmad-core}/checklists/story-draft-checklist.md +0 -0
  331. /package/{.bmad-core β†’ v4-backup/.bmad-core}/core-config.yaml +0 -0
  332. /package/{.bmad-core β†’ v4-backup/.bmad-core}/data/bmad-kb.md +0 -0
  333. /package/{.bmad-core β†’ v4-backup/.bmad-core}/data/brainstorming-techniques.md +0 -0
  334. /package/{.bmad-core β†’ v4-backup/.bmad-core}/data/elicitation-methods.md +0 -0
  335. /package/{.bmad-core β†’ v4-backup/.bmad-core}/data/technical-preferences.md +0 -0
  336. /package/{.bmad-core β†’ v4-backup/.bmad-core}/data/test-levels-framework.md +0 -0
  337. /package/{.bmad-core β†’ v4-backup/.bmad-core}/data/test-priorities-matrix.md +0 -0
  338. /package/{.bmad-core β†’ v4-backup/.bmad-core}/enhanced-ide-development-workflow.md +0 -0
  339. /package/{.bmad-core β†’ v4-backup/.bmad-core}/install-manifest.yaml +0 -0
  340. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/advanced-elicitation.md +0 -0
  341. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/apply-qa-fixes.md +0 -0
  342. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/brownfield-create-epic.md +0 -0
  343. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/brownfield-create-story.md +0 -0
  344. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/correct-course.md +0 -0
  345. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/create-brownfield-story.md +0 -0
  346. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/create-deep-research-prompt.md +0 -0
  347. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/create-doc.md +0 -0
  348. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/create-next-story.md +0 -0
  349. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/document-project.md +0 -0
  350. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/execute-checklist.md +0 -0
  351. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/facilitate-brainstorming-session.md +0 -0
  352. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/generate-ai-frontend-prompt.md +0 -0
  353. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/index-docs.md +0 -0
  354. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/kb-mode-interaction.md +0 -0
  355. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/nfr-assess.md +0 -0
  356. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/qa-gate.md +0 -0
  357. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/review-story.md +0 -0
  358. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/risk-profile.md +0 -0
  359. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/shard-doc.md +0 -0
  360. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/test-design.md +0 -0
  361. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/trace-requirements.md +0 -0
  362. /package/{.bmad-core β†’ v4-backup/.bmad-core}/tasks/validate-next-story.md +0 -0
  363. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/architecture-tmpl.yaml +0 -0
  364. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/brainstorming-output-tmpl.yaml +0 -0
  365. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/brownfield-architecture-tmpl.yaml +0 -0
  366. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/brownfield-prd-tmpl.yaml +0 -0
  367. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/competitor-analysis-tmpl.yaml +0 -0
  368. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/front-end-architecture-tmpl.yaml +0 -0
  369. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/front-end-spec-tmpl.yaml +0 -0
  370. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/fullstack-architecture-tmpl.yaml +0 -0
  371. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/market-research-tmpl.yaml +0 -0
  372. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/prd-tmpl.yaml +0 -0
  373. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/project-brief-tmpl.yaml +0 -0
  374. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/qa-gate-tmpl.yaml +0 -0
  375. /package/{.bmad-core β†’ v4-backup/.bmad-core}/templates/story-tmpl.yaml +0 -0
  376. /package/{.bmad-core β†’ v4-backup/.bmad-core}/user-guide.md +0 -0
  377. /package/{.bmad-core β†’ v4-backup/.bmad-core}/utils/bmad-doc-template.md +0 -0
  378. /package/{.bmad-core β†’ v4-backup/.bmad-core}/utils/workflow-management.md +0 -0
  379. /package/{.bmad-core β†’ v4-backup/.bmad-core}/workflows/brownfield-fullstack.yaml +0 -0
  380. /package/{.bmad-core β†’ v4-backup/.bmad-core}/workflows/brownfield-service.yaml +0 -0
  381. /package/{.bmad-core β†’ v4-backup/.bmad-core}/workflows/brownfield-ui.yaml +0 -0
  382. /package/{.bmad-core β†’ v4-backup/.bmad-core}/workflows/greenfield-fullstack.yaml +0 -0
  383. /package/{.bmad-core β†’ v4-backup/.bmad-core}/workflows/greenfield-service.yaml +0 -0
  384. /package/{.bmad-core β†’ v4-backup/.bmad-core}/workflows/greenfield-ui.yaml +0 -0
  385. /package/{.bmad-core β†’ v4-backup/.bmad-core}/working-in-the-brownfield.md +0 -0
@@ -0,0 +1,221 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/user-prompt-output.sh
4
+ #
5
+ # AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
6
+ # Website: https://agentvibes.org
7
+ # Repository: https://github.com/paulpreibisch/AgentVibes
8
+ #
9
+ # Co-created by Paul Preibisch with Claude AI
10
+ # Copyright (c) 2025 Paul Preibisch
11
+ #
12
+ # Licensed under the Apache License, Version 2.0 (the "License");
13
+ # you may not use this file except in compliance with the License.
14
+ # You may obtain a copy of the License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the License is distributed on an "AS IS" BASIS,
20
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ # See the License for the specific language governing permissions and
22
+ # limitations under the License.
23
+ #
24
+ # DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
+ # express or implied, including but not limited to the warranties of
26
+ # merchantability, fitness for a particular purpose and noninfringement.
27
+ # In no event shall the authors or copyright holders be liable for any claim,
28
+ # damages or other liability, whether in an action of contract, tort or
29
+ # otherwise, arising from, out of or in connection with the software or the
30
+ # use or other dealings in the software.
31
+ #
32
+ # ---
33
+ #
34
+ # @fileoverview Auto-detects emoji markers and BMAD party mode in Claude's output and triggers TTS
35
+ # @context Implements verbosity system by detecting πŸ’­ πŸ€” βœ“ markers and BMAD party mode agent dialogues
36
+ # @architecture Stdin reader, regex matcher, async TTS trigger, agent voice switching
37
+ # @dependencies play-tts.sh, tts-verbosity.txt, bmad-voice-manager.sh, .bmad/_cfg/agent-manifest.csv
38
+ # @entrypoints Called by Claude Code after each assistant response (user-prompt-output hook)
39
+ # @patterns Text stream processing, background job execution, marker-based triggers, party mode detection
40
+ # @related session-start-tts.sh, verbosity-manager.sh, bmad-voice-manager.sh, Issue #32, Issue #33
41
+ # @aiNotes This hook enables natural emoji-based TTS + BMAD party mode voice switching
42
+
43
+ # Fix locale warnings
44
+ export LC_ALL=C
45
+
46
+ # Get script directory and project root
47
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
48
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
49
+ PLAY_TTS="$SCRIPT_DIR/play-tts.sh"
50
+
51
+ # Read JSON input from stdin
52
+ INPUT=$(cat)
53
+
54
+ # Extract transcript path from JSON
55
+ TRANSCRIPT_PATH=$(echo "$INPUT" | grep -o '"transcript_path":"[^"]*"' | cut -d'"' -f4)
56
+
57
+ # If no transcript path, exit (shouldn't happen but be safe)
58
+ [[ -z "$TRANSCRIPT_PATH" || ! -f "$TRANSCRIPT_PATH" ]] && exit 0
59
+
60
+ # Get the last assistant message from transcript
61
+ # The transcript is JSONL format - each line is a JSON object
62
+ # Extract all text content blocks from the last message and join them
63
+ LAST_RESPONSE=$(tail -1 "$TRANSCRIPT_PATH" | jq -r '.message.content[] | select(.type == "text") | .text' 2>/dev/null)
64
+
65
+ # Get verbosity level
66
+ VERBOSITY=$(cat "$PROJECT_ROOT/.claude/tts-verbosity.txt" 2>/dev/null || cat ~/.claude/tts-verbosity.txt 2>/dev/null || echo "low")
67
+
68
+ # Exit early if play-tts.sh doesn't exist (AgentVibes not installed)
69
+ [[ ! -f "$PLAY_TTS" ]] && exit 0
70
+
71
+ #
72
+ # @function extract_and_speak
73
+ # @context Extracts text after emoji markers and triggers TTS asynchronously
74
+ # @architecture Uses grep to find markers, extracts text, launches TTS in background
75
+ # @dependencies play-tts.sh
76
+ # @entrypoints Called based on verbosity level
77
+ # @aiNotes Background execution (&) prevents blocking Claude's output
78
+ #
79
+ extract_and_speak() {
80
+ local pattern="$1"
81
+
82
+ # Extract lines matching the pattern
83
+ # Pattern format: "emoji text" or "emoji [text]"
84
+ while IFS= read -r line; do
85
+ # Try to extract text after emoji
86
+ # Handles formats: "πŸ’­ text", "πŸ’­ [text]", "πŸ’­text"
87
+ if echo "$line" | grep -qE "$pattern"; then
88
+ # Extract everything after the emoji (and optional space/bracket)
89
+ text=$(echo "$line" | sed -E "s/^.*($pattern)[[:space:]]*\[?[[:space:]]*//" | sed 's/\]$//')
90
+
91
+ # Skip if text is empty or too short
92
+ [[ -z "$text" || ${#text} -lt 3 ]] && continue
93
+
94
+ # Speak it in background (don't block)
95
+ bash "$PLAY_TTS" "$text" >/dev/null 2>&1 &
96
+ fi
97
+ done <<< "$LAST_RESPONSE"
98
+ }
99
+
100
+ #
101
+ # @function is_party_mode_enabled
102
+ # @context Check if BMAD party mode voice integration is enabled
103
+ # @architecture Auto-enable for BMAD users, opt-out via disable flag
104
+ # @dependencies .bmad/_cfg/agent-manifest.csv, .claude/plugins/bmad-voices-enabled.flag
105
+ # @returns 0=enabled, 1=disabled
106
+ # @aiNotes Auto-enabled when BMAD detected, respects opt-out flag for user control
107
+ #
108
+ is_party_mode_enabled() {
109
+ # Explicit opt-out takes precedence
110
+ [[ -f "$PROJECT_ROOT/.claude/plugins/bmad-party-mode-disabled.flag" ]] && return 1
111
+
112
+ # Auto-enable if BMAD detected + voice plugin enabled
113
+ if [[ -f "$PROJECT_ROOT/.bmad/_cfg/agent-manifest.csv" ]] && \
114
+ [[ -f "$PROJECT_ROOT/.claude/plugins/bmad-voices-enabled.flag" ]]; then
115
+ return 0
116
+ fi
117
+
118
+ return 1
119
+ }
120
+
121
+ #
122
+ # @function map_display_name_to_agent_id
123
+ # @context Map BMAD agent display name to agent ID for voice lookup
124
+ # @architecture Parses agent-manifest.csv, matches displayName column to name column
125
+ # @dependencies .bmad/_cfg/agent-manifest.csv
126
+ # @param $1 Display name (e.g., "Winston", "John", "Amelia")
127
+ # @returns Agent ID (e.g., "architect", "pm", "dev") or empty string if not found
128
+ # @aiNotes Case-insensitive matching, handles quoted CSV values
129
+ #
130
+ map_display_name_to_agent_id() {
131
+ local display_name="$1"
132
+
133
+ # Check for BMAD v6 manifest
134
+ if [[ ! -f "$PROJECT_ROOT/.bmad/_cfg/agent-manifest.csv" ]]; then
135
+ return 1
136
+ fi
137
+
138
+ # CSV format: name,displayName,title,icon,role,...
139
+ # Extract 'name' (column 1) where displayName (column 2) matches
140
+ # Case-insensitive grep, remove quotes, get first match
141
+ local agent_id=$(grep -i ",\"*${display_name}\"*," "$PROJECT_ROOT/.bmad/_cfg/agent-manifest.csv" | \
142
+ head -1 | \
143
+ cut -d',' -f1 | \
144
+ tr -d '"')
145
+
146
+ echo "$agent_id"
147
+ }
148
+
149
+ #
150
+ # @function detect_and_speak_party_mode_dialogue
151
+ # @context Detect BMAD party mode agent responses and speak with agent-specific voices
152
+ # @architecture Pattern matches [Agent Name]: format, maps to agent voice, triggers TTS
153
+ # @dependencies map_display_name_to_agent_id, bmad-voice-manager.sh, play-tts.sh
154
+ # @aiNotes Runs in background to avoid blocking, graceful fallback for unmapped agents
155
+ #
156
+ detect_and_speak_party_mode_dialogue() {
157
+ # Pattern: [Agent Name]: dialogue
158
+ # Must start at beginning of line, agent name can include spaces/hyphens
159
+ while IFS= read -r line; do
160
+ if echo "$line" | grep -qE '^\[([A-Za-z\s-]+)\]:'; then
161
+ # Extract agent display name and dialogue
162
+ local agent_name=$(echo "$line" | sed -E 's/^\[([A-Za-z\s-]+)\]:.*/\1/')
163
+ local dialogue=$(echo "$line" | sed -E 's/^\[[^]]+\]:[[:space:]]*//')
164
+
165
+ # Skip if dialogue is empty or too short
166
+ [[ -z "$dialogue" || ${#dialogue} -lt 3 ]] && continue
167
+
168
+ # Map display name to agent ID
169
+ local agent_id=$(map_display_name_to_agent_id "$agent_name")
170
+
171
+ # Get agent's voice from bmad-voice-manager.sh
172
+ local agent_voice=""
173
+ if [[ -n "$agent_id" ]] && [[ -f "$SCRIPT_DIR/bmad-voice-manager.sh" ]]; then
174
+ agent_voice=$("$SCRIPT_DIR/bmad-voice-manager.sh" get-voice "$agent_id" 2>/dev/null)
175
+ fi
176
+
177
+ # Speak with agent's voice (or default if not mapped)
178
+ # Run in foreground to ensure audio completes
179
+ if [[ -n "$agent_voice" ]]; then
180
+ bash "$PLAY_TTS" "$dialogue" "$agent_voice" &
181
+ else
182
+ # Fallback to default voice if agent not in voice mapping
183
+ bash "$PLAY_TTS" "$dialogue" &
184
+ fi
185
+ fi
186
+ done
187
+ }
188
+
189
+ # Process based on verbosity level
190
+ case "$VERBOSITY" in
191
+ high)
192
+ # HIGH: Speak ALL markers (πŸ’­ πŸ€” βœ“)
193
+ # Don't speak βœ… here - that's handled by manual TTS completion call
194
+ extract_and_speak "πŸ’­|πŸ€”|βœ“"
195
+ ;;
196
+
197
+ medium)
198
+ # MEDIUM: Speak decisions and findings (πŸ€” βœ“)
199
+ extract_and_speak "πŸ€”|βœ“"
200
+ ;;
201
+
202
+ low)
203
+ # LOW: No automatic extraction (only manual ACK/COMPLETE TTS calls)
204
+ # Don't process any markers
205
+ ;;
206
+ esac
207
+
208
+ # BMAD Party Mode Integration (Issue #33)
209
+ # Auto-enabled for BMAD users, opt-out available
210
+ if is_party_mode_enabled; then
211
+ # Detect party mode activation announcement
212
+ if echo "$LAST_RESPONSE" | grep -q "πŸŽ‰ PARTY MODE ACTIVATED! πŸŽ‰"; then
213
+ bash "$PLAY_TTS" "Party Mode Activated! All agents are here for a group discussion!" &
214
+ fi
215
+
216
+ # Detect agent dialogues
217
+ echo "$LAST_RESPONSE" | detect_and_speak_party_mode_dialogue
218
+ fi
219
+
220
+ # Exit successfully
221
+ exit 0
@@ -0,0 +1,68 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/tts-queue-worker.sh
4
+ #
5
+ # TTS Queue Worker - Background process that plays queued TTS sequentially
6
+ # Automatically exits when queue is empty for 5 seconds
7
+
8
+ set -euo pipefail
9
+
10
+ QUEUE_DIR="/tmp/agentvibes-tts-queue"
11
+ WORKER_PID_FILE="$QUEUE_DIR/worker.pid"
12
+ IDLE_TIMEOUT=5 # Exit after 5 seconds of no new requests
13
+
14
+ # Get script directory
15
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
16
+
17
+ # Trap to clean up on exit
18
+ trap "rm -f $WORKER_PID_FILE" EXIT
19
+
20
+ # Process queue items
21
+ process_queue() {
22
+ local idle_count=0
23
+
24
+ while true; do
25
+ # Find oldest queue item
26
+ local queue_item=$(ls -1 "$QUEUE_DIR"/*.queue 2>/dev/null | sort | head -1)
27
+
28
+ if [[ -z "$queue_item" ]]; then
29
+ # Queue is empty, increment idle counter
30
+ idle_count=$((idle_count + 1))
31
+
32
+ if [[ $idle_count -ge $IDLE_TIMEOUT ]]; then
33
+ # No new items for timeout period, exit worker
34
+ exit 0
35
+ fi
36
+
37
+ # Wait 1 second and check again
38
+ sleep 1
39
+ continue
40
+ fi
41
+
42
+ # Reset idle counter - we have work
43
+ idle_count=0
44
+
45
+ # Load TTS request
46
+ source "$queue_item"
47
+
48
+ # Decode base64 values
49
+ TEXT=$(echo -n "$TEXT_B64" | base64 -d)
50
+ VOICE=$(echo -n "$VOICE_B64" | base64 -d)
51
+
52
+ # Play TTS (this blocks until audio finishes due to lock mechanism)
53
+ if [[ -n "${VOICE:-}" ]]; then
54
+ bash "$SCRIPT_DIR/play-tts.sh" "$TEXT" "$VOICE" 2>/dev/null || true
55
+ else
56
+ bash "$SCRIPT_DIR/play-tts.sh" "$TEXT" 2>/dev/null || true
57
+ fi
58
+
59
+ # Add 2-second pause between speakers for natural conversation flow
60
+ sleep 2
61
+
62
+ # Remove processed item
63
+ rm -f "$queue_item"
64
+ done
65
+ }
66
+
67
+ # Start processing
68
+ process_queue
@@ -0,0 +1,105 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/tts-queue.sh
4
+ #
5
+ # TTS Queue Manager for Party Mode
6
+ # Queues TTS requests and plays them sequentially in the background
7
+ # This allows Claude to continue generating responses while audio plays in order
8
+
9
+ set -euo pipefail
10
+
11
+ QUEUE_DIR="/tmp/agentvibes-tts-queue"
12
+ QUEUE_LOCK="$QUEUE_DIR/queue.lock"
13
+ WORKER_PID_FILE="$QUEUE_DIR/worker.pid"
14
+
15
+ # Get script directory
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+
18
+ # Initialize queue directory
19
+ mkdir -p "$QUEUE_DIR"
20
+
21
+ # @function add_to_queue
22
+ # @intent Add a TTS request to the queue for sequential playback
23
+ # @param $1 dialogue text
24
+ # @param $2 voice name (optional)
25
+ add_to_queue() {
26
+ local text="$1"
27
+ local voice="${2:-}"
28
+
29
+ # Create unique queue item with timestamp
30
+ local timestamp=$(date +%s%N)
31
+ local queue_file="$QUEUE_DIR/$timestamp.queue"
32
+
33
+ # Write request to queue file (base64 encoded to handle all special chars)
34
+ cat > "$queue_file" <<EOF
35
+ TEXT_B64=$(echo -n "$text" | base64 -w0)
36
+ VOICE_B64=$(echo -n "$voice" | base64 -w0)
37
+ EOF
38
+
39
+ # Start queue worker if not already running
40
+ start_worker_if_needed
41
+ }
42
+
43
+ # @function start_worker_if_needed
44
+ # @intent Start the queue worker process if it's not already running
45
+ start_worker_if_needed() {
46
+ # Check if worker is already running
47
+ if [[ -f "$WORKER_PID_FILE" ]]; then
48
+ local pid=$(cat "$WORKER_PID_FILE")
49
+ if kill -0 "$pid" 2>/dev/null; then
50
+ # Worker is running
51
+ return 0
52
+ fi
53
+ fi
54
+
55
+ # Start worker in background
56
+ "$SCRIPT_DIR/tts-queue-worker.sh" &
57
+ echo $! > "$WORKER_PID_FILE"
58
+ }
59
+
60
+ # @function clear_queue
61
+ # @intent Clear all pending TTS requests (emergency stop)
62
+ clear_queue() {
63
+ rm -f "$QUEUE_DIR"/*.queue
64
+ echo "βœ… Queue cleared"
65
+ }
66
+
67
+ # @function show_queue
68
+ # @intent Display current queue status
69
+ show_queue() {
70
+ local count=$(ls -1 "$QUEUE_DIR"/*.queue 2>/dev/null | wc -l)
71
+ echo "πŸ“Š Queue status: $count items pending"
72
+
73
+ if [[ -f "$WORKER_PID_FILE" ]]; then
74
+ local pid=$(cat "$WORKER_PID_FILE")
75
+ if kill -0 "$pid" 2>/dev/null; then
76
+ echo "βœ… Worker process running (PID: $pid)"
77
+ else
78
+ echo "❌ Worker process not running"
79
+ fi
80
+ else
81
+ echo "❌ Worker process not running"
82
+ fi
83
+ }
84
+
85
+ # Main command dispatcher
86
+ case "${1:-help}" in
87
+ add)
88
+ add_to_queue "${2:-}" "${3:-}"
89
+ ;;
90
+ clear)
91
+ clear_queue
92
+ ;;
93
+ status)
94
+ show_queue
95
+ ;;
96
+ *)
97
+ echo "Usage: tts-queue.sh {add|clear|status}"
98
+ echo ""
99
+ echo "Commands:"
100
+ echo " add <text> [voice] Add TTS request to queue"
101
+ echo " clear Clear all pending requests"
102
+ echo " status Show queue status"
103
+ exit 1
104
+ ;;
105
+ esac
@@ -0,0 +1 @@
1
+ high
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  [![Publish](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
12
12
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
13
13
 
14
- **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v2.5.0
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v2.7.0
15
15
 
16
16
  ---
17
17
 
@@ -94,16 +94,16 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, or using Warp
94
94
 
95
95
  ## πŸ“° Latest Release
96
96
 
97
- **[v2.5.0 - Verbosity Control System](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.5.0)** πŸŽ‰
97
+ **[v2.7.0 - Party Mode Voice Improvements](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.7.0)** πŸŽ‰
98
98
 
99
- This minor release introduces intelligent verbosity control - giving you precise control over how much Claude speaks while working.
99
+ AgentVibes v2.7.0 transforms BMAD party mode into a professional multi-agent voice conversation system! This release introduces a sophisticated TTS queue architecture enabling sequential voice playback without blocking Claude Code, natural 2-second pauses between speakers, and customizable agent introductions.
100
100
 
101
101
  **Key highlights:**
102
- - πŸŽ™οΈ **Verbosity Control** - Three levels: LOW (minimal), MEDIUM (balanced), HIGH (full transparency)
103
- - πŸ’­ **Emoji Markers** - Uses πŸ’­ πŸ€” βœ“ for automatic TTS detection
104
- - βš™οΈ **Slash Command** - `/agent-vibes:verbosity [low|medium|high]`
105
- - πŸ”Œ **MCP Integration** - Control via natural language
106
- - 🎯 **Smart Detection** - No manual Bash calls needed
102
+ - 🎭 **TTS Queue System** - Sequential non-blocking voice playback for party mode
103
+ - ⏸️ **Natural Speaker Pauses** - 2-second delay between agents for conversation flow
104
+ - 🎀 **Speaker Introductions** - Configurable intro text (e.g., "John, Product Manager here")
105
+ - πŸ“ **Config Reorganization** - Moved from `.claude/plugins/` to official `.claude/config/`
106
+ - πŸ› **Text Escaping Fixes** - No more "backslash exclamation" in speech
107
107
 
108
108
  [β†’ View All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
109
109