agentvibes 2.17.2 → 2.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/.bmad/_cfg/agent-manifest.csv +11 -0
  2. package/.bmad/_cfg/agent-voice-map.csv +11 -0
  3. package/.bmad/_cfg/agents/bmm-analyst.customize.yaml +42 -0
  4. package/.bmad/_cfg/agents/bmm-architect.customize.yaml +42 -0
  5. package/.bmad/_cfg/agents/bmm-dev.customize.yaml +42 -0
  6. package/.bmad/_cfg/agents/bmm-frame-expert.customize.yaml +42 -0
  7. package/.bmad/_cfg/agents/bmm-pm.customize.yaml +42 -0
  8. package/.bmad/_cfg/agents/bmm-sm.customize.yaml +42 -0
  9. package/.bmad/_cfg/agents/bmm-tea.customize.yaml +42 -0
  10. package/.bmad/_cfg/agents/bmm-tech-writer.customize.yaml +42 -0
  11. package/.bmad/_cfg/agents/bmm-ux-designer.customize.yaml +42 -0
  12. package/.bmad/_cfg/agents/core-bmad-master.customize.yaml +42 -0
  13. package/.bmad/_cfg/files-manifest.csv +243 -0
  14. package/.bmad/_cfg/ides/claude-code.yaml +6 -0
  15. package/.bmad/_cfg/manifest.yaml +9 -0
  16. package/.bmad/_cfg/task-manifest.csv +5 -0
  17. package/.bmad/_cfg/tool-manifest.csv +2 -0
  18. package/.bmad/_cfg/workflow-manifest.csv +38 -0
  19. package/.bmad/bmm/README.md +128 -0
  20. package/.bmad/bmm/agents/analyst.md +79 -0
  21. package/.bmad/bmm/agents/analyst.md.backup-pre-tts +75 -0
  22. package/.bmad/bmm/agents/architect.md +80 -0
  23. package/.bmad/bmm/agents/dev.md +70 -0
  24. package/.bmad/bmm/agents/frame-expert.md +72 -0
  25. package/.bmad/bmm/agents/pm.md +84 -0
  26. package/.bmad/bmm/agents/sm.md +93 -0
  27. package/.bmad/bmm/agents/tea.md +80 -0
  28. package/.bmad/bmm/agents/tech-writer.md +84 -0
  29. package/.bmad/bmm/agents/ux-designer.md +79 -0
  30. package/.bmad/bmm/config.yaml +17 -0
  31. package/.bmad/bmm/docs/README.md +236 -0
  32. package/.bmad/bmm/docs/agents-guide.md +1058 -0
  33. package/.bmad/bmm/docs/brownfield-guide.md +762 -0
  34. package/.bmad/bmm/docs/enterprise-agentic-development.md +686 -0
  35. package/.bmad/bmm/docs/faq.md +588 -0
  36. package/.bmad/bmm/docs/glossary.md +320 -0
  37. package/.bmad/bmm/docs/party-mode.md +224 -0
  38. package/.bmad/bmm/docs/quick-spec-flow.md +652 -0
  39. package/.bmad/bmm/docs/quick-start.md +376 -0
  40. package/.bmad/bmm/docs/scale-adaptive-system.md +612 -0
  41. package/.bmad/bmm/docs/test-architecture.md +396 -0
  42. package/.bmad/bmm/docs/workflow-architecture-reference.md +366 -0
  43. package/.bmad/bmm/docs/workflow-document-project-reference.md +489 -0
  44. package/.bmad/bmm/docs/workflows-analysis.md +370 -0
  45. package/.bmad/bmm/docs/workflows-implementation.md +286 -0
  46. package/.bmad/bmm/docs/workflows-planning.md +612 -0
  47. package/.bmad/bmm/docs/workflows-solutioning.md +554 -0
  48. package/.bmad/bmm/teams/default-party.csv +20 -0
  49. package/.bmad/bmm/teams/team-fullstack.yaml +13 -0
  50. package/.bmad/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  51. package/.bmad/bmm/testarch/knowledge/component-tdd.md +486 -0
  52. package/.bmad/bmm/testarch/knowledge/contract-testing.md +957 -0
  53. package/.bmad/bmm/testarch/knowledge/data-factories.md +500 -0
  54. package/.bmad/bmm/testarch/knowledge/email-auth.md +721 -0
  55. package/.bmad/bmm/testarch/knowledge/error-handling.md +725 -0
  56. package/.bmad/bmm/testarch/knowledge/feature-flags.md +750 -0
  57. package/.bmad/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  58. package/.bmad/bmm/testarch/knowledge/network-first.md +486 -0
  59. package/.bmad/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  60. package/.bmad/bmm/testarch/knowledge/playwright-config.md +730 -0
  61. package/.bmad/bmm/testarch/knowledge/probability-impact.md +601 -0
  62. package/.bmad/bmm/testarch/knowledge/risk-governance.md +615 -0
  63. package/.bmad/bmm/testarch/knowledge/selective-testing.md +732 -0
  64. package/.bmad/bmm/testarch/knowledge/selector-resilience.md +527 -0
  65. package/.bmad/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  66. package/.bmad/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  67. package/.bmad/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  68. package/.bmad/bmm/testarch/knowledge/test-quality.md +664 -0
  69. package/.bmad/bmm/testarch/knowledge/timing-debugging.md +372 -0
  70. package/.bmad/bmm/testarch/knowledge/visual-debugging.md +524 -0
  71. package/.bmad/bmm/testarch/tea-index.csv +22 -0
  72. package/.bmad/bmm/workflows/1-analysis/brainstorm-project/instructions.md +112 -0
  73. package/.bmad/bmm/workflows/1-analysis/brainstorm-project/project-context.md +25 -0
  74. package/.bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml +26 -0
  75. package/.bmad/bmm/workflows/1-analysis/domain-research/instructions.md +425 -0
  76. package/.bmad/bmm/workflows/1-analysis/domain-research/template.md +180 -0
  77. package/.bmad/bmm/workflows/1-analysis/domain-research/workflow.yaml +28 -0
  78. package/.bmad/bmm/workflows/1-analysis/product-brief/checklist.md +115 -0
  79. package/.bmad/bmm/workflows/1-analysis/product-brief/instructions.md +524 -0
  80. package/.bmad/bmm/workflows/1-analysis/product-brief/template.md +181 -0
  81. package/.bmad/bmm/workflows/1-analysis/product-brief/workflow.yaml +45 -0
  82. package/.bmad/bmm/workflows/1-analysis/research/checklist-deep-prompt.md +144 -0
  83. package/.bmad/bmm/workflows/1-analysis/research/checklist-technical.md +249 -0
  84. package/.bmad/bmm/workflows/1-analysis/research/checklist.md +299 -0
  85. package/.bmad/bmm/workflows/1-analysis/research/claude-code/injections.yaml +114 -0
  86. package/.bmad/bmm/workflows/1-analysis/research/instructions-deep-prompt.md +438 -0
  87. package/.bmad/bmm/workflows/1-analysis/research/instructions-market.md +675 -0
  88. package/.bmad/bmm/workflows/1-analysis/research/instructions-router.md +134 -0
  89. package/.bmad/bmm/workflows/1-analysis/research/instructions-technical.md +534 -0
  90. package/.bmad/bmm/workflows/1-analysis/research/template-deep-prompt.md +94 -0
  91. package/.bmad/bmm/workflows/1-analysis/research/template-market.md +347 -0
  92. package/.bmad/bmm/workflows/1-analysis/research/template-technical.md +245 -0
  93. package/.bmad/bmm/workflows/1-analysis/research/workflow.yaml +44 -0
  94. package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/epics-template.md +80 -0
  95. package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/instructions.md +616 -0
  96. package/.bmad/bmm/workflows/2-plan-workflows/create-epics-and-stories/workflow.yaml +53 -0
  97. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/checklist.md +310 -0
  98. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/instructions.md +1308 -0
  99. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +145 -0
  100. package/.bmad/bmm/workflows/2-plan-workflows/create-ux-design/workflow.yaml +61 -0
  101. package/.bmad/bmm/workflows/2-plan-workflows/prd/checklist.md +346 -0
  102. package/.bmad/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  103. package/.bmad/bmm/workflows/2-plan-workflows/prd/instructions.md +703 -0
  104. package/.bmad/bmm/workflows/2-plan-workflows/prd/prd-template.md +204 -0
  105. package/.bmad/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  106. package/.bmad/bmm/workflows/2-plan-workflows/prd/workflow.yaml +52 -0
  107. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/checklist.md +217 -0
  108. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/epics-template.md +74 -0
  109. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions-generate-stories.md +436 -0
  110. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/instructions.md +980 -0
  111. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/tech-spec-template.md +181 -0
  112. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/user-story-template.md +90 -0
  113. package/.bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml +58 -0
  114. package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-patterns.yaml +321 -0
  115. package/.bmad/bmm/workflows/3-solutioning/architecture/architecture-template.md +103 -0
  116. package/.bmad/bmm/workflows/3-solutioning/architecture/checklist.md +240 -0
  117. package/.bmad/bmm/workflows/3-solutioning/architecture/decision-catalog.yaml +222 -0
  118. package/.bmad/bmm/workflows/3-solutioning/architecture/instructions.md +768 -0
  119. package/.bmad/bmm/workflows/3-solutioning/architecture/pattern-categories.csv +13 -0
  120. package/.bmad/bmm/workflows/3-solutioning/architecture/workflow.yaml +55 -0
  121. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/checklist.md +169 -0
  122. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/instructions.md +332 -0
  123. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/template.md +146 -0
  124. package/.bmad/bmm/workflows/3-solutioning/implementation-readiness/workflow.yaml +62 -0
  125. package/.bmad/bmm/workflows/4-implementation/code-review/backlog_template.md +12 -0
  126. package/.bmad/bmm/workflows/4-implementation/code-review/checklist.md +22 -0
  127. package/.bmad/bmm/workflows/4-implementation/code-review/instructions.md +398 -0
  128. package/.bmad/bmm/workflows/4-implementation/code-review/workflow.yaml +60 -0
  129. package/.bmad/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  130. package/.bmad/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  131. package/.bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml +56 -0
  132. package/.bmad/bmm/workflows/4-implementation/create-story/checklist.md +240 -0
  133. package/.bmad/bmm/workflows/4-implementation/create-story/instructions.md +256 -0
  134. package/.bmad/bmm/workflows/4-implementation/create-story/template.md +51 -0
  135. package/.bmad/bmm/workflows/4-implementation/create-story/workflow.yaml +71 -0
  136. package/.bmad/bmm/workflows/4-implementation/dev-story/checklist.md +38 -0
  137. package/.bmad/bmm/workflows/4-implementation/dev-story/instructions.md +267 -0
  138. package/.bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml +56 -0
  139. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/checklist.md +17 -0
  140. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/instructions.md +164 -0
  141. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/template.md +76 -0
  142. package/.bmad/bmm/workflows/4-implementation/epic-tech-context/workflow.yaml +57 -0
  143. package/.bmad/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  144. package/.bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml +56 -0
  145. package/.bmad/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  146. package/.bmad/bmm/workflows/4-implementation/sprint-planning/instructions.md +234 -0
  147. package/.bmad/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  148. package/.bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +49 -0
  149. package/.bmad/bmm/workflows/4-implementation/story-context/checklist.md +16 -0
  150. package/.bmad/bmm/workflows/4-implementation/story-context/context-template.xml +34 -0
  151. package/.bmad/bmm/workflows/4-implementation/story-context/instructions.md +209 -0
  152. package/.bmad/bmm/workflows/4-implementation/story-context/workflow.yaml +61 -0
  153. package/.bmad/bmm/workflows/4-implementation/story-done/instructions.md +111 -0
  154. package/.bmad/bmm/workflows/4-implementation/story-done/workflow.yaml +26 -0
  155. package/.bmad/bmm/workflows/4-implementation/story-ready/instructions.md +117 -0
  156. package/.bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml +23 -0
  157. package/.bmad/bmm/workflows/document-project/checklist.md +245 -0
  158. package/.bmad/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  159. package/.bmad/bmm/workflows/document-project/instructions.md +222 -0
  160. package/.bmad/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  161. package/.bmad/bmm/workflows/document-project/templates/index-template.md +169 -0
  162. package/.bmad/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  163. package/.bmad/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  164. package/.bmad/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  165. package/.bmad/bmm/workflows/document-project/workflow.yaml +29 -0
  166. package/.bmad/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  167. package/.bmad/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  168. package/.bmad/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  169. package/.bmad/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  170. package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-helpers.md +127 -0
  171. package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-library.json +90 -0
  172. package/.bmad/bmm/workflows/frame-expert/_shared/excalidraw-templates.yaml +127 -0
  173. package/.bmad/bmm/workflows/frame-expert/_shared/validate-json-instructions.md +79 -0
  174. package/.bmad/bmm/workflows/frame-expert/create-dataflow/checklist.md +39 -0
  175. package/.bmad/bmm/workflows/frame-expert/create-dataflow/instructions.md +131 -0
  176. package/.bmad/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +23 -0
  177. package/.bmad/bmm/workflows/frame-expert/create-diagram/checklist.md +43 -0
  178. package/.bmad/bmm/workflows/frame-expert/create-diagram/instructions.md +142 -0
  179. package/.bmad/bmm/workflows/frame-expert/create-diagram/workflow.yaml +24 -0
  180. package/.bmad/bmm/workflows/frame-expert/create-flowchart/checklist.md +49 -0
  181. package/.bmad/bmm/workflows/frame-expert/create-flowchart/instructions.md +242 -0
  182. package/.bmad/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +27 -0
  183. package/.bmad/bmm/workflows/frame-expert/create-wireframe/checklist.md +38 -0
  184. package/.bmad/bmm/workflows/frame-expert/create-wireframe/instructions.md +133 -0
  185. package/.bmad/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +23 -0
  186. package/.bmad/bmm/workflows/techdoc/documentation-standards.md +262 -0
  187. package/.bmad/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  188. package/.bmad/bmm/workflows/testarch/atdd/checklist.md +373 -0
  189. package/.bmad/bmm/workflows/testarch/atdd/instructions.md +785 -0
  190. package/.bmad/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  191. package/.bmad/bmm/workflows/testarch/automate/checklist.md +580 -0
  192. package/.bmad/bmm/workflows/testarch/automate/instructions.md +1303 -0
  193. package/.bmad/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  194. package/.bmad/bmm/workflows/testarch/ci/checklist.md +246 -0
  195. package/.bmad/bmm/workflows/testarch/ci/github-actions-template.yaml +165 -0
  196. package/.bmad/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +128 -0
  197. package/.bmad/bmm/workflows/testarch/ci/instructions.md +517 -0
  198. package/.bmad/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  199. package/.bmad/bmm/workflows/testarch/framework/checklist.md +321 -0
  200. package/.bmad/bmm/workflows/testarch/framework/instructions.md +455 -0
  201. package/.bmad/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  202. package/.bmad/bmm/workflows/testarch/nfr-assess/checklist.md +405 -0
  203. package/.bmad/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  204. package/.bmad/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +443 -0
  205. package/.bmad/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  206. package/.bmad/bmm/workflows/testarch/test-design/checklist.md +234 -0
  207. package/.bmad/bmm/workflows/testarch/test-design/instructions.md +782 -0
  208. package/.bmad/bmm/workflows/testarch/test-design/test-design-template.md +285 -0
  209. package/.bmad/bmm/workflows/testarch/test-design/workflow.yaml +48 -0
  210. package/.bmad/bmm/workflows/testarch/test-review/checklist.md +470 -0
  211. package/.bmad/bmm/workflows/testarch/test-review/instructions.md +608 -0
  212. package/.bmad/bmm/workflows/testarch/test-review/test-review-template.md +388 -0
  213. package/.bmad/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  214. package/.bmad/bmm/workflows/testarch/trace/checklist.md +654 -0
  215. package/.bmad/bmm/workflows/testarch/trace/instructions.md +1045 -0
  216. package/.bmad/bmm/workflows/testarch/trace/trace-template.md +673 -0
  217. package/.bmad/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  218. package/.bmad/bmm/workflows/workflow-status/init/instructions.md +334 -0
  219. package/.bmad/bmm/workflows/workflow-status/init/workflow.yaml +28 -0
  220. package/.bmad/bmm/workflows/workflow-status/instructions.md +388 -0
  221. package/.bmad/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +138 -0
  222. package/.bmad/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +126 -0
  223. package/.bmad/bmm/workflows/workflow-status/paths/game-design.yaml +52 -0
  224. package/.bmad/bmm/workflows/workflow-status/paths/method-brownfield.yaml +122 -0
  225. package/.bmad/bmm/workflows/workflow-status/paths/method-greenfield.yaml +113 -0
  226. package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-brownfield.yaml +58 -0
  227. package/.bmad/bmm/workflows/workflow-status/paths/quick-flow-greenfield.yaml +47 -0
  228. package/.bmad/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  229. package/.bmad/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  230. package/.bmad/bmm/workflows/workflow-status/workflow.yaml +28 -0
  231. package/.bmad/core/agents/bmad-master.md +72 -0
  232. package/.bmad/core/agents/bmad-web-orchestrator.agent.xml +113 -0
  233. package/.bmad/core/config.yaml +1 -0
  234. package/.bmad/core/tasks/adv-elicit-methods.csv +39 -0
  235. package/.bmad/core/tasks/advanced-elicitation-methods.csv +21 -0
  236. package/.bmad/core/tasks/advanced-elicitation.xml +106 -0
  237. package/.bmad/core/tasks/index-docs.xml +65 -0
  238. package/.bmad/core/tasks/validate-workflow.xml +89 -0
  239. package/.bmad/core/tasks/workflow.xml +270 -0
  240. package/.bmad/core/tools/shard-doc.xml +109 -0
  241. package/.bmad/core/workflows/brainstorming/README.md +261 -0
  242. package/.bmad/core/workflows/brainstorming/brain-methods.csv +36 -0
  243. package/.bmad/core/workflows/brainstorming/instructions.md +315 -0
  244. package/.bmad/core/workflows/brainstorming/template.md +106 -0
  245. package/.bmad/core/workflows/brainstorming/workflow.yaml +38 -0
  246. package/.bmad/core/workflows/party-mode/instructions.md +203 -0
  247. package/.bmad/core/workflows/party-mode/workflow.yaml +28 -0
  248. package/.bmad/docs/claude-code-instructions.md +25 -0
  249. package/.claude/commands/BMad/analyst.md +88 -0
  250. package/.claude/commands/BMad/architect.md +89 -0
  251. package/.claude/commands/BMad/bmad-master.md +114 -0
  252. package/.claude/commands/BMad/bmad-orchestrator.md +151 -0
  253. package/.claude/commands/BMad/dev.md +85 -0
  254. package/.claude/commands/BMad/pm.md +88 -0
  255. package/.claude/commands/BMad/po.md +83 -0
  256. package/.claude/commands/BMad/qa.md +91 -0
  257. package/.claude/commands/BMad/sm.md +69 -0
  258. package/.claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
  259. package/.claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
  260. package/.claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
  261. package/.claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
  262. package/.claude/commands/BMad/tasks/correct-course.md +76 -0
  263. package/.claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
  264. package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
  265. package/.claude/commands/BMad/tasks/create-doc.md +107 -0
  266. package/.claude/commands/BMad/tasks/create-next-story.md +118 -0
  267. package/.claude/commands/BMad/tasks/document-project.md +349 -0
  268. package/.claude/commands/BMad/tasks/execute-checklist.md +92 -0
  269. package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
  270. package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
  271. package/.claude/commands/BMad/tasks/index-docs.md +179 -0
  272. package/.claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
  273. package/.claude/commands/BMad/tasks/nfr-assess.md +349 -0
  274. package/.claude/commands/BMad/tasks/qa-gate.md +167 -0
  275. package/.claude/commands/BMad/tasks/review-story.md +320 -0
  276. package/.claude/commands/BMad/tasks/risk-profile.md +359 -0
  277. package/.claude/commands/BMad/tasks/shard-doc.md +191 -0
  278. package/.claude/commands/BMad/tasks/test-design.md +180 -0
  279. package/.claude/commands/BMad/tasks/trace-requirements.md +270 -0
  280. package/.claude/commands/BMad/tasks/validate-next-story.md +140 -0
  281. package/.claude/commands/BMad/ux-expert.md +73 -0
  282. package/.claude/commands/bmad/bmm/agents/analyst.md +14 -0
  283. package/.claude/commands/bmad/bmm/agents/architect.md +14 -0
  284. package/.claude/commands/bmad/bmm/agents/dev.md +14 -0
  285. package/.claude/commands/bmad/bmm/agents/frame-expert.md +14 -0
  286. package/.claude/commands/bmad/bmm/agents/pm.md +14 -0
  287. package/.claude/commands/bmad/bmm/agents/sm.md +14 -0
  288. package/.claude/commands/bmad/bmm/agents/tea.md +14 -0
  289. package/.claude/commands/bmad/bmm/agents/tech-writer.md +14 -0
  290. package/.claude/commands/bmad/bmm/agents/ux-designer.md +14 -0
  291. package/.claude/commands/bmad/bmm/workflows/architecture.md +13 -0
  292. package/.claude/commands/bmad/bmm/workflows/brainstorm-project.md +13 -0
  293. package/.claude/commands/bmad/bmm/workflows/code-review.md +13 -0
  294. package/.claude/commands/bmad/bmm/workflows/correct-course.md +13 -0
  295. package/.claude/commands/bmad/bmm/workflows/create-dataflow.md +13 -0
  296. package/.claude/commands/bmad/bmm/workflows/create-diagram.md +13 -0
  297. package/.claude/commands/bmad/bmm/workflows/create-epics-and-stories.md +13 -0
  298. package/.claude/commands/bmad/bmm/workflows/create-flowchart.md +13 -0
  299. package/.claude/commands/bmad/bmm/workflows/create-story.md +13 -0
  300. package/.claude/commands/bmad/bmm/workflows/create-ux-design.md +13 -0
  301. package/.claude/commands/bmad/bmm/workflows/create-wireframe.md +13 -0
  302. package/.claude/commands/bmad/bmm/workflows/dev-story.md +13 -0
  303. package/.claude/commands/bmad/bmm/workflows/document-project.md +13 -0
  304. package/.claude/commands/bmad/bmm/workflows/domain-research.md +13 -0
  305. package/.claude/commands/bmad/bmm/workflows/epic-tech-context.md +13 -0
  306. package/.claude/commands/bmad/bmm/workflows/implementation-readiness.md +13 -0
  307. package/.claude/commands/bmad/bmm/workflows/prd.md +13 -0
  308. package/.claude/commands/bmad/bmm/workflows/product-brief.md +13 -0
  309. package/.claude/commands/bmad/bmm/workflows/research.md +13 -0
  310. package/.claude/commands/bmad/bmm/workflows/retrospective.md +13 -0
  311. package/.claude/commands/bmad/bmm/workflows/sprint-planning.md +13 -0
  312. package/.claude/commands/bmad/bmm/workflows/story-context.md +13 -0
  313. package/.claude/commands/bmad/bmm/workflows/story-done.md +13 -0
  314. package/.claude/commands/bmad/bmm/workflows/story-ready.md +13 -0
  315. package/.claude/commands/bmad/bmm/workflows/tech-spec.md +13 -0
  316. package/.claude/commands/bmad/bmm/workflows/workflow-init.md +13 -0
  317. package/.claude/commands/bmad/bmm/workflows/workflow-status.md +13 -0
  318. package/.claude/commands/bmad/core/agents/bmad-master.md +14 -0
  319. package/.claude/commands/bmad/core/tasks/advanced-elicitation.md +9 -0
  320. package/.claude/commands/bmad/core/tasks/index-docs.md +9 -0
  321. package/.claude/commands/bmad/core/tools/shard-doc.md +9 -0
  322. package/.claude/commands/bmad/core/workflows/brainstorming.md +13 -0
  323. package/.claude/commands/bmad/core/workflows/party-mode.md +13 -0
  324. package/.claude/config/background-music-position.txt +26 -0
  325. package/.claude/config/background-music-volume.txt +1 -0
  326. package/.claude/config/background-music.cfg +1 -0
  327. package/.claude/config/tts-verbosity.txt +1 -0
  328. package/.claude/github-star-reminder.txt +1 -0
  329. package/.claude/hooks/background-music-manager.sh +1 -1
  330. package/.claude/hooks/bmad-party-manager.sh +225 -0
  331. package/.claude/hooks/bmad-voice-manager.sh +116 -4
  332. package/.claude/piper-voices-dir.txt +1 -0
  333. package/.mcp.json +30 -0
  334. package/README.md +166 -13
  335. package/mcp-server/server.py +53 -41
  336. package/package.json +6 -2
  337. package/src/commands/install-mcp.js +151 -90
  338. package/src/installer.js +531 -298
  339. package/src/utils/dependency-checker.js +193 -132
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Adaptive research workflow supporting multiple research types: market research, deep research prompt generation, technical/architecture evaluation, competitive intelligence, user research, and domain analysis'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/1-analysis/research/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/1-analysis/research/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Run after epic completion to review overall success, extract lessons learned, and explore if new information emerged that might impact the next epic'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/4-implementation/sprint-planning/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Assemble a dynamic Story Context XML by pulling latest documentation and existing code/library artifacts relevant to a drafted story'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/4-implementation/story-context/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/4-implementation/story-context/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Marks a story as done (DoD complete) and moves it from its current status → DONE in the status file. Advances the story queue. Simple status-update workflow with no searching required.'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/4-implementation/story-done/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/4-implementation/story-done/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Marks a drafted story as ready for development and moves it from TODO → IN PROGRESS in the status file. Simple status-update workflow with no searching required.'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Technical specification workflow for quick-flow projects. Creates focused tech spec and generates epic + stories (1 story for simple changes, 2-5 stories for features). Tech-spec only - no PRD needed.'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/2-plan-workflows/tech-spec/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Initialize a new BMM project by determining level, type, and creating workflow path'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/workflow-status/init/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/workflow-status/init/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Lightweight status checker - answers "what should I do now?" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/bmm/workflows/workflow-status/workflow.yaml
10
+ 3. Pass the yaml path .bmad/bmm/workflows/workflow-status/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,14 @@
1
+ ---
2
+ name: 'bmad-master'
3
+ description: 'bmad-master agent'
4
+ ---
5
+
6
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
7
+
8
+ <agent-activation CRITICAL="TRUE">
9
+ 1. LOAD the FULL agent file from @.bmad/core/agents/bmad-master.md
10
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
11
+ 3. Execute ALL activation steps exactly as written in the agent file
12
+ 4. Follow the agent's persona and menu system precisely
13
+ 5. Stay in character throughout the session
14
+ </agent-activation>
@@ -0,0 +1,9 @@
1
+ ---
2
+ description: 'When called from workflow'
3
+ ---
4
+
5
+ # Advanced Elicitation
6
+
7
+ LOAD and execute the task at: .bmad/core/tasks/advanced-elicitation.xml
8
+
9
+ Follow all instructions in the task file exactly as written.
@@ -0,0 +1,9 @@
1
+ ---
2
+ description: 'Generates or updates an index.md of all documents in the specified directory'
3
+ ---
4
+
5
+ # Index Docs
6
+
7
+ LOAD and execute the task at: .bmad/core/tasks/index-docs.xml
8
+
9
+ Follow all instructions in the task file exactly as written.
@@ -0,0 +1,9 @@
1
+ ---
2
+ description: 'Splits large markdown documents into smaller, organized files based on level 2 (default) sections'
3
+ ---
4
+
5
+ # Shard Document
6
+
7
+ LOAD and execute the tool at: .bmad/core/tools/shard-doc.xml
8
+
9
+ Follow all instructions in the tool file exactly as written.
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Facilitate interactive brainstorming sessions using diverse creative techniques. This workflow facilitates interactive brainstorming sessions using diverse creative techniques. The session is highly interactive, with the AI acting as a facilitator to guide the user through various ideation methods to generate and refine creative solutions.'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/core/workflows/brainstorming/workflow.yaml
10
+ 3. Pass the yaml path .bmad/core/workflows/brainstorming/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: 'Orchestrates group discussions between all installed BMAD agents, enabling natural multi-agent conversations'
3
+ ---
4
+
5
+ IT IS CRITICAL THAT YOU FOLLOW THESE STEPS - while staying in character as the current agent persona you may have loaded:
6
+
7
+ <steps CRITICAL="TRUE">
8
+ 1. Always LOAD the FULL @.bmad/core/tasks/workflow.xml
9
+ 2. READ its entire contents - this is the CORE OS for EXECUTING the specific workflow-config @.bmad/core/workflows/party-mode/workflow.yaml
10
+ 3. Pass the yaml path .bmad/core/workflows/party-mode/workflow.yaml as 'workflow-config' parameter to the workflow.xml instructions
11
+ 4. Follow workflow.xml instructions EXACTLY as written to process and follow the specific workflow config and its instructions
12
+ 5. Save outputs after EACH section when generating any documents from templates
13
+ </steps>
@@ -0,0 +1,26 @@
1
+ agent-vibes-dark-chill-step.mp3:49.006169
2
+ Agent Vibes Japanese City Pop v1.mp3:29.392744
3
+ Agent Vibes ChillWave v2.mp3:22.154467
4
+ Agent Vibes Bossa Nova v2.mp3:23.733424
5
+ Agent Vibes Tabla Dream Pop v1.mp3:19.101043
6
+ Agent Vibes Hawaiian slack key guitar v2.mp3:36.381950
7
+ AgentVibes Soft Flamenco.mp3:23.160000
8
+ Agent Vibes Arabic v2.mp3:21.922268
9
+ Agent Vibes Goa Trance v2.mp3:55.953741
10
+ Agent Vibes Ganawa Ambient v2.mp3:39.680205
11
+ Agent Vibes Celtic Harp v1.mp3:42.190476
12
+ Agent Vibes Harpsichord v2.mp3:21.739410
13
+ Agent Vibes Japanese City Pop v1-loop.mp3:13.917551
14
+ Agent Vibes Hawaiian slack key guitar v2-loop.mp3:12.977143
15
+ Agent Vibes Ganawa Ambient v2-loop.mp3:.00000000000000000002815996
16
+ Agent Vibes Tabla Dream Pop v1-loop.mp3:.00000000000000000009067943
17
+ Agent Vibes ChillWave v2-loop.mp3:.00000000000000000007080511
18
+ Agent Vibes Harpsichord v2-loop.mp3:.00000000000000000013140818
19
+ agent_vibes_japanese_city_pop_v1_loop.mp3:6.054512
20
+ agent_vibes_bossa_nova_v2_loop.mp3:5.369524
21
+ agent_vibes_salsa_v2_loop.mp3:9.972790
22
+ agent_vibes_bachata_v1_loop.mp3:5.590113
23
+ agent_vibes_cumbia_v1_loop.mp3:5.717823
24
+ agent_vibes_chillwave_v2_loop.mp3:5.183764
25
+ agentvibes_soft_flamenco_loop.mp3:4.998005
26
+ agent_vibes_arabic_v2_loop.mp3:.00000000000000000006132724
@@ -0,0 +1 @@
1
+ enabled
@@ -0,0 +1 @@
1
+ high
@@ -0,0 +1 @@
1
+ 20251209
@@ -28,7 +28,7 @@ ENABLED_FILE="$CONFIG_DIR/background-music-enabled.txt"
28
28
  VOLUME_FILE="$CONFIG_DIR/background-music-volume.txt"
29
29
 
30
30
  # Defaults
31
- DEFAULT_VOLUME="0.40"
31
+ DEFAULT_VOLUME="0.34"
32
32
 
33
33
  # Ensure config directory exists
34
34
  mkdir -p "$CONFIG_DIR"
@@ -0,0 +1,225 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/bmad-party-manager.sh
4
+ #
5
+ # AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
6
+ # Website: https://agentvibes.org
7
+ # Repository: https://github.com/paulpreibisch/AgentVibes
8
+ #
9
+ # Co-created by Paul Preibisch with Claude AI
10
+ # Copyright (c) 2025 Paul Preibisch
11
+ #
12
+ # Licensed under the Apache License, Version 2.0 (the "License");
13
+ # you may not use this file except in compliance with the License.
14
+ # You may obtain a copy of the License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the License is distributed on an "AS IS" BASIS,
20
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ # See the License for the specific language governing permissions and
22
+ # limitations under the License.
23
+ #
24
+ # DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
+ # express or implied, 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 BMAD Party Mode Voice Integration Manager
35
+ # @context Controls auto-enable/disable of multi-agent voice switching during BMAD party mode
36
+ # @architecture Opt-out flag management, auto-detection, status reporting
37
+ # @dependencies .bmad/_cfg/agent-manifest.csv, bmad-voices-enabled.flag, user-prompt-output.sh
38
+ # @entrypoints /agent-vibes:bmad-party slash command
39
+ # @patterns Auto-enable with opt-out, graceful degradation, feature detection
40
+ # @related user-prompt-output.sh, bmad-voice-manager.sh, Issue #33
41
+
42
+ # Fix locale warnings
43
+ export LC_ALL=C
44
+
45
+ PLUGIN_DIR=".claude/plugins"
46
+ DISABLE_FLAG="$PLUGIN_DIR/bmad-party-mode-disabled.flag"
47
+ BMAD_VOICES_FLAG="$PLUGIN_DIR/bmad-voices-enabled.flag"
48
+ BMAD_MANIFEST=".bmad/_cfg/agent-manifest.csv"
49
+
50
+ # Colors
51
+ GREEN='\033[0;32m'
52
+ YELLOW='\033[1;33m'
53
+ RED='\033[0;31m'
54
+ CYAN='\033[0;36m'
55
+ GRAY='\033[0;90m'
56
+ NC='\033[0m' # No Color
57
+
58
+ #
59
+ # @function is_bmad_installed
60
+ # @context Check if BMAD v6 is installed
61
+ # @returns 0=installed, 1=not installed
62
+ #
63
+ is_bmad_installed() {
64
+ [[ -f "$BMAD_MANIFEST" ]]
65
+ }
66
+
67
+ #
68
+ # @function is_bmad_voices_enabled
69
+ # @context Check if BMAD voice plugin is enabled
70
+ # @returns 0=enabled, 1=disabled
71
+ #
72
+ is_bmad_voices_enabled() {
73
+ [[ -f "$BMAD_VOICES_FLAG" ]]
74
+ }
75
+
76
+ #
77
+ # @function is_party_mode_enabled
78
+ # @context Check if party mode voice integration is enabled
79
+ # @returns 0=enabled, 1=disabled
80
+ #
81
+ is_party_mode_enabled() {
82
+ # Disabled if opt-out flag exists
83
+ [[ -f "$DISABLE_FLAG" ]] && return 1
84
+
85
+ # Enabled if BMAD + voice plugin active
86
+ is_bmad_installed && is_bmad_voices_enabled
87
+ }
88
+
89
+ #
90
+ # @function show_status
91
+ # @context Display current party mode voice integration status
92
+ #
93
+ show_status() {
94
+ echo -e "${CYAN}🎭 BMAD Party Mode Voice Integration${NC}"
95
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
96
+ echo ""
97
+
98
+ # Check BMAD installation
99
+ if ! is_bmad_installed; then
100
+ echo -e "${RED}❌ BMAD not installed${NC}"
101
+ echo -e "${GRAY} Party mode voice integration requires BMAD v6${NC}"
102
+ echo -e "${GRAY} Install: https://github.com/bmad-method/bmad${NC}"
103
+ echo ""
104
+ return 1
105
+ fi
106
+
107
+ echo -e "${GREEN}✅ BMAD v6 detected${NC}"
108
+
109
+ # Check voice plugin
110
+ if ! is_bmad_voices_enabled; then
111
+ echo -e "${RED}❌ BMAD voice plugin disabled${NC}"
112
+ echo -e "${GRAY} Enable: /agent-vibes:bmad enable${NC}"
113
+ echo ""
114
+ return 1
115
+ fi
116
+
117
+ echo -e "${GREEN}✅ BMAD voice plugin enabled${NC}"
118
+
119
+ # Check party mode status
120
+ if is_party_mode_enabled; then
121
+ echo -e "${GREEN}✅ Party mode voices: ENABLED${NC}"
122
+ echo ""
123
+ echo -e "${CYAN}How it works:${NC}"
124
+ echo " When you run /bmad:core:workflows:party-mode,"
125
+ echo " each agent speaks with their unique voice:"
126
+ echo ""
127
+ echo " 🏗️ Winston (Architect) → Michael"
128
+ echo " 📋 John (PM) → Jessica Anne Bogart"
129
+ echo " 💻 Amelia (Dev) → Matthew Schmitz"
130
+ echo " 📊 Mary (Analyst) → kristin"
131
+ echo " ... and more!"
132
+ echo ""
133
+ echo -e "${GRAY}Disable with: /agent-vibes:bmad-party disable${NC}"
134
+ else
135
+ echo -e "${YELLOW}⚠️ Party mode voices: DISABLED (opt-out active)${NC}"
136
+ echo ""
137
+ echo -e "${GRAY}Enable with: /agent-vibes:bmad-party enable${NC}"
138
+ fi
139
+
140
+ echo ""
141
+ }
142
+
143
+ #
144
+ # @function enable_party_mode
145
+ # @context Enable party mode voice integration (remove opt-out flag)
146
+ #
147
+ enable_party_mode() {
148
+ # Verify prerequisites
149
+ if ! is_bmad_installed; then
150
+ echo -e "${RED}❌ Cannot enable: BMAD not installed${NC}"
151
+ echo -e "${GRAY} Install BMAD v6 first${NC}"
152
+ return 1
153
+ fi
154
+
155
+ if ! is_bmad_voices_enabled; then
156
+ echo -e "${RED}❌ Cannot enable: BMAD voice plugin disabled${NC}"
157
+ echo -e "${GRAY} Enable with: /agent-vibes:bmad enable${NC}"
158
+ return 1
159
+ fi
160
+
161
+ # Remove opt-out flag if it exists
162
+ if [[ -f "$DISABLE_FLAG" ]]; then
163
+ rm -f "$DISABLE_FLAG"
164
+ echo -e "${GREEN}✅ Party mode voices enabled${NC}"
165
+ echo ""
166
+ echo -e "${CYAN}🎭 Multi-agent voice switching activated!${NC}"
167
+ echo " Run /bmad:core:workflows:party-mode to hear agents speak"
168
+ else
169
+ echo -e "${GREEN}✅ Party mode voices already enabled${NC}"
170
+ echo ""
171
+ echo -e "${GRAY}(Auto-enabled when BMAD detected)${NC}"
172
+ fi
173
+
174
+ echo ""
175
+ }
176
+
177
+ #
178
+ # @function disable_party_mode
179
+ # @context Disable party mode voice integration (create opt-out flag)
180
+ #
181
+ disable_party_mode() {
182
+ mkdir -p "$PLUGIN_DIR"
183
+
184
+ if [[ -f "$DISABLE_FLAG" ]]; then
185
+ echo -e "${YELLOW}⚠️ Party mode voices already disabled${NC}"
186
+ return 0
187
+ fi
188
+
189
+ # Create opt-out flag
190
+ touch "$DISABLE_FLAG"
191
+
192
+ echo -e "${GREEN}✅ Party mode voices disabled${NC}"
193
+ echo ""
194
+ echo -e "${GRAY}Party mode will continue to work, but agents won't speak${NC}"
195
+ echo -e "${GRAY}Enable again with: /agent-vibes:bmad-party enable${NC}"
196
+ echo ""
197
+ }
198
+
199
+ # Main command dispatcher
200
+ case "${1:-status}" in
201
+ enable)
202
+ enable_party_mode
203
+ ;;
204
+ disable)
205
+ disable_party_mode
206
+ ;;
207
+ status)
208
+ show_status
209
+ ;;
210
+ *)
211
+ echo -e "${CYAN}AgentVibes BMAD Party Mode Manager${NC}"
212
+ echo ""
213
+ echo "Usage: bmad-party-manager.sh {enable|disable|status}"
214
+ echo ""
215
+ echo "Commands:"
216
+ echo " enable Enable party mode voice integration"
217
+ echo " disable Disable party mode voice integration (opt-out)"
218
+ echo " status Show current status and configuration"
219
+ echo ""
220
+ echo "Party Mode Voice Integration:"
221
+ echo " • Auto-enabled when BMAD v6 detected"
222
+ echo " • Each agent speaks with unique voice during party mode"
223
+ echo " • Opt-out available via disable command"
224
+ ;;
225
+ esac
@@ -259,17 +259,114 @@ get_agent_voice() {
259
259
  echo "$voice"
260
260
  }
261
261
 
262
+ # @function sync_intros_from_manifest
263
+ # @intent Synchronize generic intros in agent-voice-map.csv with displayNames from agent-manifest.csv
264
+ # @why Until BMAD PR 987 merges, CSV has generic "Hello! Ready to help with the discussion." intros
265
+ # @param None (operates on .bmad/_cfg files)
266
+ # @returns 0 on success, 1 on error
267
+ # @exitcode 0 on success, 1 if files missing or sync fails
268
+ # @sideeffects Updates agent-voice-map.csv, creates .backup on first run, writes .bmad-csv-sync-timestamp
269
+ # @edgecases Only updates EXACT match of generic intro, preserves all custom intros, idempotent
270
+ # @calledby get_agent_intro (lazy trigger on manifest change)
271
+ # @calls grep, cut, sed, stat, date
272
+ # @version 2.17.4 - Safe CSV sync utility that preserves user customizations
273
+ sync_intros_from_manifest() {
274
+ # Locate the CSV and manifest files
275
+ local bmad_voice_map=""
276
+ local manifest_file=""
277
+
278
+ if [[ -f ".bmad/_cfg/agent-voice-map.csv" ]]; then
279
+ bmad_voice_map=".bmad/_cfg/agent-voice-map.csv"
280
+ elif [[ -f "bmad/_cfg/agent-voice-map.csv" ]]; then
281
+ bmad_voice_map="bmad/_cfg/agent-voice-map.csv"
282
+ fi
283
+
284
+ if [[ -f ".bmad/_cfg/agent-manifest.csv" ]]; then
285
+ manifest_file=".bmad/_cfg/agent-manifest.csv"
286
+ elif [[ -f "bmad/_cfg/agent-manifest.csv" ]]; then
287
+ manifest_file="bmad/_cfg/agent-manifest.csv"
288
+ fi
289
+
290
+ # Both files must exist for sync to work
291
+ if [[ -z "$bmad_voice_map" ]] || [[ -z "$manifest_file" ]]; then
292
+ return 1
293
+ fi
294
+
295
+ # Check if sync is needed based on manifest timestamp
296
+ local timestamp_file="${bmad_voice_map%/*}/.bmad-csv-sync-timestamp"
297
+ local manifest_mtime=$(stat -c '%Y' "$manifest_file" 2>/dev/null || stat -f '%m' "$manifest_file" 2>/dev/null)
298
+
299
+ if [[ -f "$timestamp_file" ]]; then
300
+ local last_sync=$(cat "$timestamp_file" 2>/dev/null || echo "0")
301
+ if [[ "$manifest_mtime" -le "$last_sync" ]]; then
302
+ # Manifest hasn't changed since last sync
303
+ return 0
304
+ fi
305
+ fi
306
+
307
+ # Create backup on first sync
308
+ if [[ ! -f "${bmad_voice_map}.backup" ]]; then
309
+ cp "$bmad_voice_map" "${bmad_voice_map}.backup"
310
+ fi
311
+
312
+ # Build a temp file with synced intros
313
+ local temp_file="${bmad_voice_map}.tmp"
314
+ local generic_intro="Hello! Ready to help with the discussion."
315
+
316
+ # Read header
317
+ head -n 1 "$bmad_voice_map" > "$temp_file"
318
+
319
+ # Process each agent entry
320
+ tail -n +2 "$bmad_voice_map" | while IFS=, read -r agent voice intro; do
321
+ # Remove quotes from intro
322
+ intro=$(echo "$intro" | sed 's/^"//;s/"$//')
323
+
324
+ # Only update if intro is the exact generic placeholder
325
+ if [[ "$intro" == "$generic_intro" ]]; then
326
+ # Look up displayName and title from manifest using awk for proper CSV parsing
327
+ # CSV format: name,displayName,title,icon,role,...
328
+ local manifest_data=$(grep "^\"*${agent}\"*," "$manifest_file" | awk -F'","' '{
329
+ gsub(/^"/, "", $2);
330
+ gsub(/"$/, "", $3);
331
+ print $2 "|" $3
332
+ }')
333
+
334
+ local display_name=$(echo "$manifest_data" | cut -d'|' -f1)
335
+ local title=$(echo "$manifest_data" | cut -d'|' -f2)
336
+
337
+ if [[ -n "$display_name" ]] && [[ -n "$title" ]]; then
338
+ # Generate intro like PR 987: "Hi! I'm [Name], your [Title]."
339
+ intro="Hi! I'm ${display_name}, your ${title}."
340
+ elif [[ -n "$display_name" ]]; then
341
+ # Fallback if title missing
342
+ intro="${display_name} here"
343
+ fi
344
+ fi
345
+
346
+ # Write the line (preserving custom intros, updating generic ones)
347
+ echo "${agent},${voice},\"${intro}\""
348
+ done >> "$temp_file"
349
+
350
+ # Replace original with synced version
351
+ mv "$temp_file" "$bmad_voice_map"
352
+
353
+ # Update timestamp
354
+ echo "$manifest_mtime" > "$timestamp_file"
355
+
356
+ return 0
357
+ }
358
+
262
359
  # @function get_agent_intro
263
360
  # @intent Retrieve intro text for BMAD agent (spoken before their message)
264
361
  # @why Helps users identify which agent is speaking in party mode
265
362
  # @param $1 {string} agent_id - BMAD agent identifier
266
363
  # @returns Echoes intro text to stdout, empty string if not configured
267
364
  # @exitcode Always 0
268
- # @sideeffects None
365
+ # @sideeffects Triggers CSV sync on first call or manifest change
269
366
  # @edgecases Returns empty string if plugin file missing, parses column 3 of CSV or markdown table
270
367
  # @calledby bmad-speak.sh for agent identification in party mode
271
- # @calls grep, awk, sed, cut
272
- # @version 2.2.0 - Now supports CSV file format, falls back to agent name from manifest if intro missing
368
+ # @calls sync_intros_from_manifest, grep, awk, sed, cut
369
+ # @version 2.2.1 - Added lazy CSV sync trigger
273
370
  get_agent_intro() {
274
371
  local agent_id="$1"
275
372
 
@@ -283,10 +380,25 @@ get_agent_intro() {
283
380
  bmad_voice_map="bmad/_cfg/agent-voice-map.csv"
284
381
  fi
285
382
 
383
+ # Lazy trigger: sync intros from manifest if needed
384
+ if [[ -n "$bmad_voice_map" ]]; then
385
+ sync_intros_from_manifest
386
+ fi
387
+
286
388
  if [[ -n "$bmad_voice_map" ]]; then
287
389
  # Read from BMAD's standard _cfg directory
288
390
  # CSV format: agent,voice,intro
289
- local intro=$(grep "^$agent_id," "$bmad_voice_map" | cut -d',' -f3 | sed 's/^"//;s/"$//')
391
+ # Use awk to properly handle quoted CSV fields (intro may contain commas)
392
+ local intro=$(grep "^$agent_id," "$bmad_voice_map" | awk -F',' '{
393
+ # Extract field 3 onwards (intro may span multiple comma-separated parts)
394
+ intro = $3;
395
+ for (i = 4; i <= NF; i++) {
396
+ intro = intro "," $i;
397
+ }
398
+ gsub(/^"/, "", intro);
399
+ gsub(/"$/, "", intro);
400
+ print intro;
401
+ }')
290
402
 
291
403
  # If intro is empty or generic, fall back to agent display name from manifest
292
404
  if [[ -z "$intro" ]] || [[ "$intro" == "Hello! Ready to help with the discussion." ]]; then
@@ -0,0 +1 @@
1
+ /home/fire/.claude/piper-voices