agentvibes 2.4.3 → 2.5.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 (135) hide show
  1. package/.bmad-core/agent-teams/team-all.yaml +15 -0
  2. package/.bmad-core/agent-teams/team-fullstack.yaml +19 -0
  3. package/.bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
  4. package/.bmad-core/agent-teams/team-no-ui.yaml +14 -0
  5. package/.bmad-core/agents/analyst.md +84 -0
  6. package/.bmad-core/agents/architect.md +85 -0
  7. package/.bmad-core/agents/bmad-master.md +110 -0
  8. package/.bmad-core/agents/bmad-orchestrator.md +147 -0
  9. package/.bmad-core/agents/dev.md +81 -0
  10. package/.bmad-core/agents/pm.md +84 -0
  11. package/.bmad-core/agents/po.md +79 -0
  12. package/.bmad-core/agents/qa.md +87 -0
  13. package/.bmad-core/agents/sm.md +65 -0
  14. package/.bmad-core/agents/ux-expert.md +69 -0
  15. package/.bmad-core/checklists/architect-checklist.md +440 -0
  16. package/.bmad-core/checklists/change-checklist.md +184 -0
  17. package/.bmad-core/checklists/pm-checklist.md +372 -0
  18. package/.bmad-core/checklists/po-master-checklist.md +434 -0
  19. package/.bmad-core/checklists/story-dod-checklist.md +96 -0
  20. package/.bmad-core/checklists/story-draft-checklist.md +155 -0
  21. package/.bmad-core/core-config.yaml +22 -0
  22. package/.bmad-core/data/bmad-kb.md +809 -0
  23. package/.bmad-core/data/brainstorming-techniques.md +38 -0
  24. package/.bmad-core/data/elicitation-methods.md +156 -0
  25. package/.bmad-core/data/technical-preferences.md +5 -0
  26. package/.bmad-core/data/test-levels-framework.md +148 -0
  27. package/.bmad-core/data/test-priorities-matrix.md +174 -0
  28. package/.bmad-core/enhanced-ide-development-workflow.md +248 -0
  29. package/.bmad-core/install-manifest.yaml +230 -0
  30. package/.bmad-core/tasks/advanced-elicitation.md +119 -0
  31. package/.bmad-core/tasks/apply-qa-fixes.md +150 -0
  32. package/.bmad-core/tasks/brownfield-create-epic.md +162 -0
  33. package/.bmad-core/tasks/brownfield-create-story.md +149 -0
  34. package/.bmad-core/tasks/correct-course.md +72 -0
  35. package/.bmad-core/tasks/create-brownfield-story.md +314 -0
  36. package/.bmad-core/tasks/create-deep-research-prompt.md +280 -0
  37. package/.bmad-core/tasks/create-doc.md +103 -0
  38. package/.bmad-core/tasks/create-next-story.md +114 -0
  39. package/.bmad-core/tasks/document-project.md +345 -0
  40. package/.bmad-core/tasks/execute-checklist.md +88 -0
  41. package/.bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
  42. package/.bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
  43. package/.bmad-core/tasks/index-docs.md +175 -0
  44. package/.bmad-core/tasks/kb-mode-interaction.md +77 -0
  45. package/.bmad-core/tasks/nfr-assess.md +345 -0
  46. package/.bmad-core/tasks/qa-gate.md +163 -0
  47. package/.bmad-core/tasks/review-story.md +316 -0
  48. package/.bmad-core/tasks/risk-profile.md +355 -0
  49. package/.bmad-core/tasks/shard-doc.md +187 -0
  50. package/.bmad-core/tasks/test-design.md +176 -0
  51. package/.bmad-core/tasks/trace-requirements.md +266 -0
  52. package/.bmad-core/tasks/validate-next-story.md +136 -0
  53. package/.bmad-core/templates/architecture-tmpl.yaml +651 -0
  54. package/.bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  55. package/.bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
  56. package/.bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
  57. package/.bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
  58. package/.bmad-core/templates/front-end-architecture-tmpl.yaml +219 -0
  59. package/.bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
  60. package/.bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
  61. package/.bmad-core/templates/market-research-tmpl.yaml +253 -0
  62. package/.bmad-core/templates/prd-tmpl.yaml +203 -0
  63. package/.bmad-core/templates/project-brief-tmpl.yaml +222 -0
  64. package/.bmad-core/templates/qa-gate-tmpl.yaml +103 -0
  65. package/.bmad-core/templates/story-tmpl.yaml +138 -0
  66. package/.bmad-core/user-guide.md +577 -0
  67. package/.bmad-core/utils/bmad-doc-template.md +327 -0
  68. package/.bmad-core/utils/workflow-management.md +71 -0
  69. package/.bmad-core/workflows/brownfield-fullstack.yaml +298 -0
  70. package/.bmad-core/workflows/brownfield-service.yaml +188 -0
  71. package/.bmad-core/workflows/brownfield-ui.yaml +198 -0
  72. package/.bmad-core/workflows/greenfield-fullstack.yaml +241 -0
  73. package/.bmad-core/workflows/greenfield-service.yaml +207 -0
  74. package/.bmad-core/workflows/greenfield-ui.yaml +236 -0
  75. package/.bmad-core/working-in-the-brownfield.md +606 -0
  76. package/.claude/commands/BMad/analyst.md +88 -0
  77. package/.claude/commands/BMad/architect.md +89 -0
  78. package/.claude/commands/BMad/bmad-master.md +114 -0
  79. package/.claude/commands/BMad/bmad-orchestrator.md +151 -0
  80. package/.claude/commands/BMad/dev.md +85 -0
  81. package/.claude/commands/BMad/pm.md +88 -0
  82. package/.claude/commands/BMad/po.md +83 -0
  83. package/.claude/commands/BMad/qa.md +91 -0
  84. package/.claude/commands/BMad/sm.md +69 -0
  85. package/.claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
  86. package/.claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
  87. package/.claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
  88. package/.claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
  89. package/.claude/commands/BMad/tasks/correct-course.md +76 -0
  90. package/.claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
  91. package/.claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
  92. package/.claude/commands/BMad/tasks/create-doc.md +107 -0
  93. package/.claude/commands/BMad/tasks/create-next-story.md +118 -0
  94. package/.claude/commands/BMad/tasks/document-project.md +349 -0
  95. package/.claude/commands/BMad/tasks/execute-checklist.md +92 -0
  96. package/.claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
  97. package/.claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
  98. package/.claude/commands/BMad/tasks/index-docs.md +179 -0
  99. package/.claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
  100. package/.claude/commands/BMad/tasks/nfr-assess.md +349 -0
  101. package/.claude/commands/BMad/tasks/qa-gate.md +167 -0
  102. package/.claude/commands/BMad/tasks/review-story.md +320 -0
  103. package/.claude/commands/BMad/tasks/risk-profile.md +359 -0
  104. package/.claude/commands/BMad/tasks/shard-doc.md +191 -0
  105. package/.claude/commands/BMad/tasks/test-design.md +180 -0
  106. package/.claude/commands/BMad/tasks/trace-requirements.md +270 -0
  107. package/.claude/commands/BMad/tasks/validate-next-story.md +140 -0
  108. package/.claude/commands/BMad/ux-expert.md +73 -0
  109. package/.claude/commands/agent-vibes/verbosity.md +89 -0
  110. package/.claude/github-star-reminder.txt +1 -0
  111. package/.claude/hooks/session-start-tts.sh +68 -1
  112. package/.claude/hooks/user-prompt-output.sh +111 -0
  113. package/.claude/hooks/verbosity-manager.sh +172 -0
  114. package/.claude/piper-voices-dir.txt +1 -0
  115. package/.claude/plugins/bmad-voices-enabled.flag +0 -0
  116. package/.mcp.json +88 -0
  117. package/README.md +55 -7
  118. package/RELEASE_NOTES_v2.4.0_DRAFT.md +116 -0
  119. package/RELEASE_NOTES_v2.4.1_DRAFT.md +61 -0
  120. package/RELEASE_NOTES_v2.5.0.md +233 -0
  121. package/docs/2025-11-15_15-14-33.snagx +0 -0
  122. package/docs/Screenshot 2025-11-15 151325.png +0 -0
  123. package/docs/Screenshot 2025-11-15 151432.png +0 -0
  124. package/docs/macos-piper-issue.md +172 -0
  125. package/docs/stargazer-cms-prd.md +1918 -0
  126. package/docs/whatsapp-plugin-github-issue.md +393 -0
  127. package/docs/whatsapp-tts-plugin-feasibility.md +418 -0
  128. package/docs/whatsapp-tts-standalone-plugin.md +628 -0
  129. package/github-profile-draft.md +57 -0
  130. package/linkedin/vibe-coding-and-pulseaudio.md +121 -0
  131. package/mcp-server/agentvibes.db +0 -0
  132. package/mcp-server/server.py +70 -0
  133. package/package.json +1 -1
  134. package/scripts/audio-tunnel.config +17 -0
  135. package/src/installer.js +19 -14
@@ -0,0 +1,89 @@
1
+ ---
2
+ description: Get or set AgentVibes verbosity level (low/medium/high)
3
+ tags: [user]
4
+ ---
5
+
6
+ Get or set the AgentVibes verbosity level to control how much Claude speaks while working.
7
+
8
+ ## Usage
9
+
10
+ - `/agent-vibes:verbosity` - Show current verbosity level
11
+ - `/agent-vibes:verbosity low` - Set to LOW (minimal)
12
+ - `/agent-vibes:verbosity medium` - Set to MEDIUM (balanced)
13
+ - `/agent-vibes:verbosity high` - Set to HIGH (maximum transparency)
14
+
15
+ ## Verbosity Levels
16
+
17
+ ### LOW (Minimal)
18
+ - ✅ Acknowledgments only (start of task)
19
+ - ✅ Completions only (end of task)
20
+ - 🔇 No reasoning spoken during work
21
+ - Perfect for: Quiet work sessions, minimal distraction
22
+
23
+ ### MEDIUM (Balanced)
24
+ - ✅ Acknowledgments
25
+ - 🤔 Major decisions ("I'll use grep to search")
26
+ - ✓ Key findings ("Found 12 instances")
27
+ - ✅ Completions
28
+ - Perfect for: Understanding major decisions without full narration
29
+
30
+ ### HIGH (Maximum Transparency)
31
+ - ✅ Acknowledgments
32
+ - 💭 All reasoning ("Let me search for all instances")
33
+ - 🤔 All decisions ("I'll use grep for this")
34
+ - ✓ All findings ("Found it at line 1323")
35
+ - ✅ Completions
36
+ - Perfect for: Full transparency, learning mode, debugging complex tasks
37
+
38
+ ## How It Works
39
+
40
+ Claude uses **emoji markers** in its reasoning text:
41
+ - 💭 = Reasoning/thinking
42
+ - 🤔 = Decisions
43
+ - ✓ = Findings/results
44
+
45
+ Based on your verbosity level, AgentVibes automatically detects these markers and speaks them aloud.
46
+
47
+ ## Examples
48
+
49
+ ### LOW Verbosity
50
+ ```
51
+ User: "Find all TODO comments"
52
+ [TTS: "I'll search for those"]
53
+ [Work happens silently...]
54
+ [TTS: "Found 12 TODO comments"]
55
+ ```
56
+
57
+ ### MEDIUM Verbosity
58
+ ```
59
+ User: "Find all TODO comments"
60
+ [TTS: "I'll search for those"]
61
+ 🤔 I'll use grep to search all files
62
+ [Work happens...]
63
+ ✓ Found 12 TODO comments across 5 files
64
+ [TTS: "Found 12 TODO comments"]
65
+ ```
66
+
67
+ ### HIGH Verbosity
68
+ ```
69
+ User: "Find all TODO comments"
70
+ [TTS: "I'll search for those"]
71
+ 💭 Let me search through the codebase for TODO comments
72
+ 🤔 I'll use the Grep tool with pattern "TODO"
73
+ [Grep runs...]
74
+ ✓ Found 12 TODO comments across 5 files
75
+ 💭 Let me organize these by file
76
+ [TTS: "Found 12 TODO comments in 5 files"]
77
+ ```
78
+
79
+ ## Notes
80
+
81
+ - Changes take effect on next Claude Code session restart
82
+ - Verbosity is saved per-project (if `.claude/` exists) or globally
83
+ - You can also control verbosity via MCP: `mcp__agentvibes__set_verbosity(level="high")`
84
+
85
+ ## Related Commands
86
+
87
+ - `/agent-vibes:personality` - Set voice personality style
88
+ - `/agent-vibes:switch` - Change voice
89
+ - `/agent-vibes:provider` - Switch TTS provider
@@ -0,0 +1 @@
1
+ 20251116
@@ -33,6 +33,9 @@ else
33
33
  STYLE_NAME="$PERSONALITY"
34
34
  fi
35
35
 
36
+ # Get verbosity level (Issue #32)
37
+ VERBOSITY=$(cat .claude/tts-verbosity.txt 2>/dev/null || cat ~/.claude/tts-verbosity.txt 2>/dev/null || echo "low")
38
+
36
39
  # Output TTS protocol instructions to stdout
37
40
  # Claude Code will add this to the conversation context
38
41
  cat <<'EOF'
@@ -69,6 +72,70 @@ User: "check git status"
69
72
 
70
73
  EOF
71
74
 
72
- # Add current style info
75
+ # Add verbosity-specific protocol (Issue #32)
76
+ case "$VERBOSITY" in
77
+ low)
78
+ cat <<'EOF'
79
+ ## Verbosity: LOW (Minimal)
80
+ - Speak only at acknowledgment (start) and completion (end)
81
+ - Do NOT speak reasoning, decisions, or findings during work
82
+ - Keep it quiet and focused
83
+
84
+ EOF
85
+ ;;
86
+
87
+ medium)
88
+ cat <<'EOF'
89
+ ## Verbosity: MEDIUM (Balanced)
90
+ - Speak at acknowledgment and completion (always)
91
+ - Also speak major decisions and key findings during work
92
+ - Use emoji markers for automatic TTS:
93
+ 🤔 [decision text] - Major decisions (e.g., "🤔 I'll use grep to search all files")
94
+ ✓ [finding text] - Key findings (e.g., "✓ Found 12 instances at line 1323")
95
+
96
+ Example:
97
+ ```
98
+ User: "Find all TODO comments"
99
+ [TTS: Acknowledgment]
100
+ 🤔 I'll use grep to search for TODO comments
101
+ [Work happens...]
102
+ ✓ Found 12 TODO comments across 5 files
103
+ [TTS: Completion]
104
+ ```
105
+
106
+ EOF
107
+ ;;
108
+
109
+ high)
110
+ cat <<'EOF'
111
+ ## Verbosity: HIGH (Maximum Transparency)
112
+ - Speak acknowledgment and completion (always)
113
+ - Speak ALL reasoning, decisions, and findings as you work
114
+ - Use emoji markers for automatic TTS:
115
+ 💭 [reasoning text] - Thought process (e.g., "💭 Let me search for all instances")
116
+ 🤔 [decision text] - Decisions (e.g., "🤔 I'll use grep for this")
117
+ ✓ [finding text] - Findings (e.g., "✓ Found it at line 1323")
118
+
119
+ Example:
120
+ ```
121
+ User: "Find all TODO comments"
122
+ [TTS: Acknowledgment]
123
+ 💭 Let me search through the codebase for TODO comments
124
+ 🤔 I'll use the Grep tool with pattern "TODO"
125
+ [Grep runs...]
126
+ ✓ Found 12 TODO comments across 5 files
127
+ 💭 Let me organize these results by file
128
+ [Processing...]
129
+ [TTS: Completion]
130
+ ```
131
+
132
+ IMPORTANT: Use emoji markers naturally in your reasoning text. They trigger automatic TTS.
133
+
134
+ EOF
135
+ ;;
136
+ esac
137
+
138
+ # Add current style and verbosity info
73
139
  echo "Current Style: ${STYLE_NAME} (${STYLE_MODE})"
140
+ echo "Current Verbosity: ${VERBOSITY}"
74
141
  echo ""
@@ -0,0 +1,111 @@
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 in Claude's output and triggers TTS
35
+ # @context Implements verbosity system by detecting 💭 🤔 ✓ markers and speaking them
36
+ # @architecture Stdin reader, regex matcher, async TTS trigger
37
+ # @dependencies play-tts.sh, tts-verbosity.txt
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
40
+ # @related session-start-tts.sh, verbosity-manager.sh, Issue #32
41
+ # @aiNotes This hook enables natural emoji-based TTS without Claude needing manual Bash calls
42
+
43
+ # Fix locale warnings
44
+ export LC_ALL=C
45
+
46
+ # Get script directory
47
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
48
+ PLAY_TTS="$SCRIPT_DIR/play-tts.sh"
49
+
50
+ # Get verbosity level
51
+ VERBOSITY=$(cat .claude/tts-verbosity.txt 2>/dev/null || cat ~/.claude/tts-verbosity.txt 2>/dev/null || echo "low")
52
+
53
+ # Read stdin (Claude's output) - preserve it for display
54
+ OUTPUT=$(cat)
55
+
56
+ # Always output the original text first (so user sees it)
57
+ echo "$OUTPUT"
58
+
59
+ # Exit early if play-tts.sh doesn't exist (AgentVibes not installed)
60
+ [[ ! -f "$PLAY_TTS" ]] && exit 0
61
+
62
+ #
63
+ # @function extract_and_speak
64
+ # @context Extracts text after emoji markers and triggers TTS asynchronously
65
+ # @architecture Uses grep to find markers, extracts text, launches TTS in background
66
+ # @dependencies play-tts.sh
67
+ # @entrypoints Called based on verbosity level
68
+ # @aiNotes Background execution (&) prevents blocking Claude's output
69
+ #
70
+ extract_and_speak() {
71
+ local pattern="$1"
72
+
73
+ # Extract lines matching the pattern
74
+ # Pattern format: "emoji text" or "emoji [text]"
75
+ while IFS= read -r line; do
76
+ # Try to extract text after emoji
77
+ # Handles formats: "💭 text", "💭 [text]", "💭text"
78
+ if echo "$line" | grep -qE "$pattern"; then
79
+ # Extract everything after the emoji (and optional space/bracket)
80
+ text=$(echo "$line" | sed -E "s/^.*($pattern)[[:space:]]*\[?[[:space:]]*//" | sed 's/\]$//')
81
+
82
+ # Skip if text is empty or too short
83
+ [[ -z "$text" || ${#text} -lt 3 ]] && continue
84
+
85
+ # Speak it in background (don't block)
86
+ bash "$PLAY_TTS" "$text" >/dev/null 2>&1 &
87
+ fi
88
+ done <<< "$OUTPUT"
89
+ }
90
+
91
+ # Process based on verbosity level
92
+ case "$VERBOSITY" in
93
+ high)
94
+ # HIGH: Speak ALL markers (💭 🤔 ✓)
95
+ # Don't speak ✅ here - that's handled by manual TTS completion call
96
+ extract_and_speak "💭|🤔|✓"
97
+ ;;
98
+
99
+ medium)
100
+ # MEDIUM: Speak decisions and findings (🤔 ✓)
101
+ extract_and_speak "🤔|✓"
102
+ ;;
103
+
104
+ low)
105
+ # LOW: No automatic extraction (only manual ACK/COMPLETE TTS calls)
106
+ # Don't process any markers
107
+ ;;
108
+ esac
109
+
110
+ # Exit successfully
111
+ exit 0
@@ -0,0 +1,172 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/verbosity-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 Manages AgentVibes verbosity level (low/medium/high)
35
+ # @context Controls how much Claude speaks while working - acknowledgments only vs full reasoning
36
+ # @architecture Simple config file reader/writer with project-local and global fallback
37
+ # @dependencies tts-verbosity.txt config file
38
+ # @entrypoints Called by slash commands, MCP tools, and session-start hook
39
+ # @patterns Config file management, validation, graceful defaults
40
+ # @related .claude/hooks/session-start-tts.sh, mcp-server/server.py, Issue #32
41
+
42
+ # Fix locale warnings
43
+ export LC_ALL=C
44
+
45
+ # Get script directory for accessing other scripts
46
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
47
+ CLAUDE_DIR="$(dirname "$SCRIPT_DIR")"
48
+
49
+ # Config file locations
50
+ VERBOSITY_FILE="$CLAUDE_DIR/tts-verbosity.txt"
51
+ GLOBAL_VERBOSITY_FILE="$HOME/.claude/tts-verbosity.txt"
52
+
53
+ #
54
+ # @function get_verbosity
55
+ # @context Returns the current verbosity level (low/medium/high)
56
+ # @architecture Checks project-local first, then global, then defaults to "low"
57
+ # @dependencies tts-verbosity.txt config file
58
+ # @entrypoints Called by session-start hook, MCP tools, slash commands
59
+ # @aiNotes Default to "low" for backward compatibility with existing installations
60
+ #
61
+ get_verbosity() {
62
+ if [[ -f "$VERBOSITY_FILE" ]]; then
63
+ cat "$VERBOSITY_FILE"
64
+ elif [[ -f "$GLOBAL_VERBOSITY_FILE" ]]; then
65
+ cat "$GLOBAL_VERBOSITY_FILE"
66
+ else
67
+ echo "low"
68
+ fi
69
+ }
70
+
71
+ #
72
+ # @function set_verbosity
73
+ # @context Sets the verbosity level to low/medium/high
74
+ # @architecture Validates input, saves to project-local if .claude exists, otherwise global
75
+ # @dependencies None
76
+ # @entrypoints Called by MCP tools and slash commands
77
+ # @aiNotes Saves to project-local (.claude/) when available for per-project settings
78
+ #
79
+ set_verbosity() {
80
+ local level="$1"
81
+
82
+ # Validate input
83
+ if [[ ! "$level" =~ ^(low|medium|high)$ ]]; then
84
+ echo "❌ Invalid verbosity level: $level"
85
+ echo "Valid options: low, medium, high"
86
+ return 1
87
+ fi
88
+
89
+ # Save to project-local or global
90
+ if [[ -d "$CLAUDE_DIR" ]]; then
91
+ echo "$level" > "$VERBOSITY_FILE"
92
+ echo "✅ Verbosity set to: $level (project-local)"
93
+ else
94
+ mkdir -p "$(dirname "$GLOBAL_VERBOSITY_FILE")"
95
+ echo "$level" > "$GLOBAL_VERBOSITY_FILE"
96
+ echo "✅ Verbosity set to: $level (global)"
97
+ fi
98
+
99
+ echo ""
100
+ echo "💡 Verbosity levels:"
101
+ echo " • LOW: Acknowledgments + Completions only"
102
+ echo " • MEDIUM: + Major decisions and findings"
103
+ echo " • HIGH: All reasoning (maximum transparency)"
104
+ echo ""
105
+ echo "⚠️ Restart Claude Code for changes to take effect"
106
+
107
+ return 0
108
+ }
109
+
110
+ #
111
+ # @function show_info
112
+ # @context Displays current verbosity level with detailed explanation
113
+ # @architecture Reads current level and provides contextual help
114
+ # @dependencies get_verbosity()
115
+ # @entrypoints Called when no arguments provided
116
+ # @aiNotes Helps users understand what each verbosity level does
117
+ #
118
+ show_info() {
119
+ local current_level
120
+ current_level=$(get_verbosity)
121
+
122
+ echo "🎙️ AgentVibes Verbosity Control"
123
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
124
+ echo "Current level: $current_level"
125
+ echo ""
126
+ echo "Available levels:"
127
+ echo ""
128
+ echo "LOW (Minimal)"
129
+ echo " ✅ Acknowledgments only"
130
+ echo " ✅ Completions only"
131
+ echo " 🔇 No reasoning spoken"
132
+ echo ""
133
+ echo "MEDIUM (Balanced)"
134
+ echo " ✅ Acknowledgments"
135
+ echo " 🤔 Major decisions"
136
+ echo " ✓ Key findings"
137
+ echo " ✅ Completions"
138
+ echo ""
139
+ echo "HIGH (Maximum Transparency)"
140
+ echo " ✅ Acknowledgments"
141
+ echo " 💭 All reasoning"
142
+ echo " 🤔 All decisions"
143
+ echo " ✓ All findings"
144
+ echo " ✅ Completions"
145
+ echo ""
146
+ echo "Usage:"
147
+ echo " $0 get # Show current level"
148
+ echo " $0 set low|medium|high # Change level"
149
+ }
150
+
151
+ # Main execution
152
+ case "$1" in
153
+ get)
154
+ get_verbosity
155
+ ;;
156
+ set)
157
+ if [[ -z "$2" ]]; then
158
+ echo "❌ Error: Missing verbosity level"
159
+ echo "Usage: $0 set low|medium|high"
160
+ exit 1
161
+ fi
162
+ set_verbosity "$2"
163
+ ;;
164
+ info|"")
165
+ show_info
166
+ ;;
167
+ *)
168
+ echo "❌ Unknown command: $1"
169
+ echo "Usage: $0 {get|set|info} [level]"
170
+ exit 1
171
+ ;;
172
+ esac
@@ -0,0 +1 @@
1
+ /home/fire/.claude/piper-voices
File without changes
package/.mcp.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "mcpServers": {
3
+ "sentry": {
4
+ "command": "npx",
5
+ "args": [
6
+ "@sentry/mcp-server@latest",
7
+ "--host=sentry.io"
8
+ ],
9
+ "env": {
10
+ "SENTRY_ACCESS_TOKEN": "${SENTRY_ACCESS_TOKEN}",
11
+ "OPENAI_API_KEY": "${OPENAI_API_KEY}"
12
+ }
13
+ },
14
+ "whatsapp": {
15
+ "command": "/home/fire/.local/bin/uv",
16
+ "args": [
17
+ "--directory",
18
+ "/home/fire/claude/whatsapp-mcp/whatsapp-mcp-server",
19
+ "run",
20
+ "main.py"
21
+ ]
22
+ },
23
+ "chrome-devtools": {
24
+ "command": "/home/fire/.nvm/versions/node/v22.20.0/bin/npx",
25
+ "args": [
26
+ "chrome-devtools-mcp@latest",
27
+ "--browserUrl=http://localhost:9222"
28
+ ],
29
+ "env": {
30
+ "PATH": "/home/fire/.nvm/versions/node/v22.20.0/bin:${PATH}",
31
+ "NODE_PATH": "/home/fire/.nvm/versions/node/v22.20.0/lib/node_modules"
32
+ }
33
+ },
34
+ "obsidian": {
35
+ "command": "/home/fire/.local/bin/uv",
36
+ "args": [
37
+ "--directory",
38
+ "/home/fire/claude/mcp_obsidian",
39
+ "run",
40
+ "mcp-obsidian"
41
+ ],
42
+ "env": {
43
+ "OBSIDIAN_API_KEY": "${MAIN_VAULT_OBSIDIAN_KEY}",
44
+ "OBSIDIAN_HOST": "${OBSIDIAN_HOST:-127.0.0.1}",
45
+ "OBSIDIAN_PORT": "27124",
46
+ "OBSIDIAN_HTTPS": "true",
47
+ "OBSIDIAN_VERIFY_SSL": "false"
48
+ }
49
+ },
50
+ "elevenlabs": {
51
+ "command": "npx",
52
+ "args": ["@microagents/mcp-server-elevenlabs"],
53
+ "env": {
54
+ "ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}",
55
+ "ELEVENLABS_MCP_BASE_PATH": "/home/fire/claude/SoraSage/teams/team-10/dev__globify__production/.claude/audio"
56
+ }
57
+ },
58
+ "spaceship": {
59
+ "command": "node",
60
+ "args": [
61
+ "/home/fire/claude/spaceship-mcp/dist/index.js"
62
+ ],
63
+ "env": {
64
+ "SPACESHIP_API_KEY": "${SPACESHIP_API_KEY}",
65
+ "SPACESHIP_API_SECRET": "${SPACESHIP_API_SECRET}"
66
+ }
67
+ },
68
+ "sonarqube": {
69
+ "command": "docker",
70
+ "args": [
71
+ "run",
72
+ "-i",
73
+ "--name",
74
+ "sonarqube-mcp-server-agentvibes",
75
+ "--rm",
76
+ "-e",
77
+ "SONARQUBE_TOKEN",
78
+ "-e",
79
+ "SONARQUBE_ORG",
80
+ "mcp/sonarqube"
81
+ ],
82
+ "env": {
83
+ "SONARQUBE_TOKEN": "${AGENTVIBES_SONARQUBE_TOKEN}",
84
+ "SONARQUBE_ORG": "${AGENTVIBES_SONARQUBE_ORG}"
85
+ }
86
+ }
87
+ }
88
+ }
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.4.3
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v2.5.0
15
15
 
16
16
  ---
17
17
 
@@ -36,6 +36,7 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, or using Warp
36
36
 
37
37
  ### 🎯 Key Features
38
38
 
39
+ - 🎙️ **Verbosity Control** - **NEW!** Control how much Claude speaks (LOW: minimal, MEDIUM: balanced, HIGH: full transparency)
39
40
  - 🎙️ **AgentVibes MCP** - **NEW!** Natural language control for Claude Code, Claude Desktop & Warp (no slash commands!)
40
41
  - 📚 **Language Learning Mode** - **NEW!** Learn a second language while you program (e.g., Learn Spanish as you code!)
41
42
  - 🔊 **SSH Audio Optimization** - **NEW!** Auto-detects remote sessions and eliminates static (VS Code Remote SSH, cloud dev)
@@ -68,6 +69,7 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, or using Warp
68
69
 
69
70
  ### Core Features
70
71
  - [🎤 Commands Reference](#-commands-reference) - All available commands
72
+ - [🎙️ Verbosity Control](#%EF%B8%8F-verbosity-control) - **NEW!** Control how much Claude speaks (low/medium/high)
71
73
  - [📚 Language Learning Mode](#-language-learning-mode) - **NEW!** Learn Spanish while you program
72
74
  - [🎭 Personalities vs Sentiments](#-personalities-vs-sentiments) - Two systems explained
73
75
  - [🗣️ Voice Library](#%EF%B8%8F-voice-library) - 27+ professional voices
@@ -92,15 +94,16 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, or using Warp
92
94
 
93
95
  ## 📰 Latest Release
94
96
 
95
- **[v2.4.3 - macOS Compatibility Fixes](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.4.3)** 🎉
97
+ **[v2.5.0 - Verbosity Control System](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.5.0)** 🎉
96
98
 
97
- This patch release resolves three critical macOS installation issues discovered during user testing, completing the macOS compatibility work started in v2.4.0.
99
+ This minor release introduces intelligent verbosity control - giving you precise control over how much Claude speaks while working.
98
100
 
99
101
  **Key highlights:**
100
- - 🍎 **ElevenLabs Audio Playback** - Uses native afplay on macOS
101
- - 🐚 **Shell Environment Detection** - Detects zsh vs bash correctly
102
- - 🎤 **Piper Version Check** - Uses full path to avoid false errors
103
- - 📦 **Plugin Manifest Handling** - Gracefully handles optional files
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
104
107
 
105
108
  [→ View All Releases](https://github.com/paulpreibisch/AgentVibes/releases)
106
109
 
@@ -190,6 +193,51 @@ AgentVibes provides **50+ slash commands** and **natural language MCP equivalent
190
193
 
191
194
  ---
192
195
 
196
+ ## 🎙️ Verbosity Control
197
+
198
+ **Control how much Claude speaks while working!** 🔊
199
+
200
+ Choose from three verbosity levels:
201
+
202
+ ### LOW (Minimal) 🔇
203
+ - Acknowledgments only (start of task)
204
+ - Completions only (end of task)
205
+ - Perfect for quiet work sessions
206
+
207
+ ### MEDIUM (Balanced) 🤔
208
+ - Acknowledgments + completions
209
+ - Major decisions ("I'll use grep to search")
210
+ - Key findings ("Found 12 instances")
211
+ - Perfect for understanding decisions without full narration
212
+
213
+ ### HIGH (Maximum Transparency) 💭
214
+ - All reasoning ("Let me search for all instances")
215
+ - All decisions ("I'll use grep for this")
216
+ - All findings ("Found it at line 1323")
217
+ - Perfect for learning mode, debugging complex tasks
218
+
219
+ **Quick Commands:**
220
+ ```bash
221
+ /agent-vibes:verbosity # Show current level
222
+ /agent-vibes:verbosity high # Maximum transparency
223
+ /agent-vibes:verbosity medium # Balanced
224
+ /agent-vibes:verbosity low # Minimal (default)
225
+ ```
226
+
227
+ **MCP Equivalent:**
228
+ ```
229
+ "Set verbosity to high"
230
+ "What's my current verbosity level?"
231
+ ```
232
+
233
+ 💡 **How it works:** Claude uses emoji markers (💭 🤔 ✓) in its text, and AgentVibes automatically detects and speaks them based on your verbosity level. No manual TTS calls needed!
234
+
235
+ ⚠️ **Note:** Changes take effect on next Claude Code session restart.
236
+
237
+ [↑ Back to top](#-table-of-contents)
238
+
239
+ ---
240
+
193
241
  ## 📚 Language Learning Mode
194
242
 
195
243
  **🎯 Learn Spanish (or 30+ languages) while you program!** 🌍