agentvibes 5.6.0 → 5.6.2
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.
- package/.agentvibes/config.json +3 -38
- package/.claude/config/audio-effects.cfg +1 -1
- package/.claude/config/background-music-enabled.txt +1 -1
- package/.claude/config/background-music-position.txt +6 -6
- package/.claude/github-star-reminder.txt +1 -1
- package/.claude/hooks/play-tts-ssh-remote.sh +119 -42
- package/.claude/hooks/play-tts-windows-receiver.sh +31 -0
- package/.claude/hooks/stop.sh +2 -27
- package/.claude/hooks-windows/play-tts-windows-sapi.ps1 +108 -108
- package/.claude/hooks-windows/play-tts.ps1 +58 -8
- package/.claude/piper-voices-dir.txt +1 -1
- package/.clawdbot/skill/README.md +326 -0
- package/.mcp.json +17 -27
- package/README.md +15 -2
- package/RELEASE_NOTES.md +64 -0
- package/bin/agent-vibes +39 -39
- package/package.json +1 -1
- package/src/bmad-detector.js +71 -71
- package/src/cli/list-personalities.js +110 -110
- package/src/cli/list-voices.js +114 -114
- package/src/commands/bmad-voices.js +394 -394
- package/src/commands/install-mcp.js +476 -476
- package/src/console/brand-colors.js +13 -13
- package/src/console/constants/personalities.js +44 -44
- package/src/console/modals/modal-overlay.js +247 -247
- package/src/console/navigation.js +5 -1
- package/src/console/tabs/agents-tab.js +5 -5
- package/src/console/tabs/help-tab.js +314 -314
- package/src/console/tabs/readme-tab.js +272 -272
- package/src/console/tabs/setup-tab.js +32 -17
- package/src/console/tabs/voices-tab.js +2 -2
- package/src/console/widgets/destroy-list.js +25 -25
- package/src/console/widgets/notice.js +55 -55
- package/src/console/widgets/personality-picker.js +213 -213
- package/src/console/widgets/reverb-picker.js +97 -97
- package/src/console/widgets/track-picker.js +1 -1
- package/src/i18n/de.js +202 -202
- package/src/i18n/es.js +202 -202
- package/src/i18n/fr.js +202 -202
- package/src/i18n/hi.js +202 -202
- package/src/i18n/ja.js +202 -202
- package/src/i18n/ko.js +202 -202
- package/src/i18n/pt.js +202 -202
- package/src/i18n/strings.js +54 -54
- package/src/i18n/zh-CN.js +202 -202
- package/src/installer/language-screen.js +31 -31
- package/src/installer/music-file-input.js +304 -304
- package/src/services/agent-voice-store.js +420 -423
- package/src/services/config-service.js +264 -264
- package/src/services/language-service.js +47 -47
- package/src/services/llm-provider-service.js +11 -4
- package/src/services/navigation-service.js +34 -10
- package/src/services/provider-service.js +143 -143
- package/src/utils/audio-duration-validator.js +298 -298
- package/src/utils/audio-format-validator.js +277 -277
- package/src/utils/dependency-checker.js +469 -469
- package/src/utils/file-ownership-verifier.js +358 -358
- package/src/utils/list-formatter.js +194 -194
- package/src/utils/music-file-validator.js +285 -285
- package/src/utils/preview-list-prompt.js +136 -136
- package/src/utils/secure-music-storage.js +412 -412
- package/.agentvibes/LITE-MODE.md +0 -236
- package/.agentvibes/README.md +0 -136
- package/.agentvibes/backup/session-start-tts.sh.20251210_212814 +0 -141
- package/.agentvibes/backups/agents/analyst_20260204_144958.md +0 -78
- package/.agentvibes/backups/agents/architect_20260204_144958.md +0 -72
- package/.agentvibes/backups/agents/dev_20260204_144958.md +0 -74
- package/.agentvibes/backups/agents/pm_20260204_144958.md +0 -72
- package/.agentvibes/backups/agents/quick-flow-solo-dev_20260204_144958.md +0 -64
- package/.agentvibes/backups/agents/sm_20260204_144958.md +0 -87
- package/.agentvibes/backups/agents/tea_20260204_144958.md +0 -79
- package/.agentvibes/backups/agents/tech-writer_20260204_144958.md +0 -82
- package/.agentvibes/backups/agents/ux-designer_20260204_144958.md +0 -80
- package/.agentvibes/config/README-personality-defaults.md +0 -162
- package/.agentvibes/config/agentvibes.json +0 -1
- package/.agentvibes/config/mode.txt +0 -1
- package/.agentvibes/config/personality-voice-defaults.default.json +0 -21
- package/.agentvibes/config/save-audio.txt +0 -1
- package/.agentvibes/config/voice-metadata.json +0 -160
- package/.agentvibes/hooks/help.sh +0 -191
- package/.agentvibes/hooks/post-tool-use-lite.sh +0 -111
- package/.agentvibes/hooks/save-audio-manager.sh +0 -162
- package/.agentvibes/hooks/session-start-full-optimized.sh +0 -102
- package/.agentvibes/hooks/session-start-full.sh +0 -142
- package/.agentvibes/hooks/session-start-lite-v2.sh +0 -34
- package/.agentvibes/hooks/session-start-lite.sh +0 -29
- package/.agentvibes/hooks/stop-lite.sh +0 -115
- package/.agentvibes/hooks/switch-mode.sh +0 -215
- package/.agentvibes/output-styles/audio-summary.md +0 -30
- package/.claude/audio/voice-samples/piper/alan.wav +0 -0
- package/.claude/audio/voice-samples/piper/amy.wav +0 -0
- package/.claude/audio/voice-samples/piper/charlotte.wav +0 -0
- package/.claude/audio/voice-samples/piper/joe.wav +0 -0
- package/.claude/audio/voice-samples/piper/john.wav +0 -0
- package/.claude/audio/voice-samples/piper/katherine.wav +0 -0
- package/.claude/audio/voice-samples/piper/kristin.wav +0 -0
- package/.claude/audio/voice-samples/piper/linda.wav +0 -0
- package/.claude/audio/voice-samples/piper/marcus.wav +0 -0
- package/.claude/audio/voice-samples/piper/ryan.wav +0 -0
- package/.claude/hooks/post-response.sh +0 -41
- package/bin/ensure-soprano-running.sh +0 -43
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
#
|
|
3
|
-
# File: .agentvibes/hooks/switch-mode.sh
|
|
4
|
-
#
|
|
5
|
-
# AgentVibes Mode Switcher
|
|
6
|
-
# Safely switches between Full Mode and Lite Mode
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
set -euo pipefail
|
|
10
|
-
|
|
11
|
-
# Fix locale warnings
|
|
12
|
-
export LC_ALL=C
|
|
13
|
-
|
|
14
|
-
# Directories
|
|
15
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
16
|
-
AGENTVIBES_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
17
|
-
CLAUDE_DIR=".claude"
|
|
18
|
-
CONFIG_DIR="$AGENTVIBES_DIR/config"
|
|
19
|
-
BACKUP_DIR="$AGENTVIBES_DIR/backup"
|
|
20
|
-
|
|
21
|
-
# Files
|
|
22
|
-
MODE_FILE="$CONFIG_DIR/mode.txt"
|
|
23
|
-
SESSION_START_HOOK="$CLAUDE_DIR/hooks/session-start-tts.sh"
|
|
24
|
-
POST_TOOL_USE_HOOK="$CLAUDE_DIR/hooks/post-tool-use.sh"
|
|
25
|
-
|
|
26
|
-
# Colors for output
|
|
27
|
-
RED='\033[0;31m'
|
|
28
|
-
GREEN='\033[0;32m'
|
|
29
|
-
YELLOW='\033[1;33m'
|
|
30
|
-
BLUE='\033[0;34m'
|
|
31
|
-
NC='\033[0m' # No Color
|
|
32
|
-
|
|
33
|
-
# Functions
|
|
34
|
-
print_info() {
|
|
35
|
-
echo -e "${BLUE}ℹ${NC} $1"
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
print_success() {
|
|
39
|
-
echo -e "${GREEN}✓${NC} $1"
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
print_warning() {
|
|
43
|
-
echo -e "${YELLOW}⚠${NC} $1"
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
print_error() {
|
|
47
|
-
echo -e "${RED}✗${NC} $1"
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
# Ensure directories exist
|
|
51
|
-
ensure_dirs() {
|
|
52
|
-
mkdir -p "$CONFIG_DIR" "$BACKUP_DIR" "$CLAUDE_DIR/hooks"
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
# Get current mode
|
|
56
|
-
get_current_mode() {
|
|
57
|
-
if [[ -f "$MODE_FILE" ]]; then
|
|
58
|
-
cat "$MODE_FILE"
|
|
59
|
-
else
|
|
60
|
-
echo "full"
|
|
61
|
-
fi
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
# Show current mode
|
|
65
|
-
show_mode() {
|
|
66
|
-
local current_mode=$(get_current_mode)
|
|
67
|
-
echo ""
|
|
68
|
-
echo "═══════════════════════════════════════════"
|
|
69
|
-
echo " AgentVibes Current Mode"
|
|
70
|
-
echo "═══════════════════════════════════════════"
|
|
71
|
-
echo ""
|
|
72
|
-
|
|
73
|
-
if [[ "$current_mode" == "lite" ]]; then
|
|
74
|
-
echo -e "${GREEN}●${NC} LITE MODE (Active)"
|
|
75
|
-
echo " - Minimal tokens (~50 vs ~500)"
|
|
76
|
-
echo " - No acknowledgment TTS"
|
|
77
|
-
echo " - Smart completion TTS"
|
|
78
|
-
echo " - No .wav files"
|
|
79
|
-
echo " - Silent operation"
|
|
80
|
-
echo ""
|
|
81
|
-
echo "○ FULL MODE"
|
|
82
|
-
echo " - All features (personalities, learning, effects)"
|
|
83
|
-
else
|
|
84
|
-
echo "○ LITE MODE"
|
|
85
|
-
echo ""
|
|
86
|
-
echo -e "${GREEN}●${NC} FULL MODE (Active)"
|
|
87
|
-
echo " - Full protocol (~500 tokens)"
|
|
88
|
-
echo " - Acknowledgment + completion TTS"
|
|
89
|
-
echo " - Personalities & learning"
|
|
90
|
-
echo " - Audio effects & background music"
|
|
91
|
-
echo " - All features enabled"
|
|
92
|
-
fi
|
|
93
|
-
|
|
94
|
-
echo ""
|
|
95
|
-
echo "═══════════════════════════════════════════"
|
|
96
|
-
echo ""
|
|
97
|
-
echo "Switch modes: /agent-vibes mode [lite|full]"
|
|
98
|
-
echo ""
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
# Switch to lite mode
|
|
102
|
-
switch_to_lite() {
|
|
103
|
-
print_info "Switching to LITE mode..."
|
|
104
|
-
|
|
105
|
-
# No need to copy hooks - they're sourced from .agentvibes/
|
|
106
|
-
# Just update the mode file
|
|
107
|
-
echo "lite" > "$MODE_FILE"
|
|
108
|
-
|
|
109
|
-
echo ""
|
|
110
|
-
echo "═══════════════════════════════════════════"
|
|
111
|
-
print_success "Switched to LITE MODE"
|
|
112
|
-
echo "═══════════════════════════════════════════"
|
|
113
|
-
echo ""
|
|
114
|
-
echo "Features:"
|
|
115
|
-
echo " ✓ Minimal tokens (~50)"
|
|
116
|
-
echo " ✓ No acknowledgment TTS"
|
|
117
|
-
echo " ✓ Smart completion TTS"
|
|
118
|
-
echo " ✓ No .wav files"
|
|
119
|
-
echo " ✓ Silent operation"
|
|
120
|
-
echo ""
|
|
121
|
-
echo "Note: Restart your Claude session for changes to take effect"
|
|
122
|
-
echo ""
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
# Switch to full mode
|
|
126
|
-
switch_to_full() {
|
|
127
|
-
print_info "Switching to FULL mode..."
|
|
128
|
-
|
|
129
|
-
# No need to copy hooks - they're sourced from .agentvibes/
|
|
130
|
-
# Just update the mode file
|
|
131
|
-
echo "full" > "$MODE_FILE"
|
|
132
|
-
|
|
133
|
-
# Prompt user for save-audio preference (GitHub Issue #74)
|
|
134
|
-
echo ""
|
|
135
|
-
echo "═══════════════════════════════════════════"
|
|
136
|
-
echo " Audio File Saving Preference"
|
|
137
|
-
echo "═══════════════════════════════════════════"
|
|
138
|
-
echo ""
|
|
139
|
-
echo "Would you like to save TTS audio files to disk?"
|
|
140
|
-
echo ""
|
|
141
|
-
echo " [y] Yes - Save files to .claude/audio/"
|
|
142
|
-
echo " (useful for debugging, replay, archiving)"
|
|
143
|
-
echo ""
|
|
144
|
-
echo " [N] No - Use temporary files (default)"
|
|
145
|
-
echo " (automatic cleanup, saves disk space)"
|
|
146
|
-
echo ""
|
|
147
|
-
read -p "Your choice [y/N]: " -n 1 -r
|
|
148
|
-
echo ""
|
|
149
|
-
|
|
150
|
-
SAVE_AUDIO_FILE="$CONFIG_DIR/save-audio.txt"
|
|
151
|
-
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
152
|
-
echo "true" > "$SAVE_AUDIO_FILE"
|
|
153
|
-
print_success "Audio file saving ENABLED"
|
|
154
|
-
echo " Files will be saved to .claude/audio/"
|
|
155
|
-
else
|
|
156
|
-
echo "false" > "$SAVE_AUDIO_FILE"
|
|
157
|
-
print_success "Audio file saving DISABLED (default)"
|
|
158
|
-
echo " Temporary files will be used and auto-cleaned"
|
|
159
|
-
fi
|
|
160
|
-
|
|
161
|
-
echo ""
|
|
162
|
-
echo "═══════════════════════════════════════════"
|
|
163
|
-
print_success "Switched to FULL MODE"
|
|
164
|
-
echo "═══════════════════════════════════════════"
|
|
165
|
-
echo ""
|
|
166
|
-
echo "Features:"
|
|
167
|
-
echo " ✓ Full protocol (~500 tokens)"
|
|
168
|
-
echo " ✓ Acknowledgment + completion TTS"
|
|
169
|
-
echo " ✓ Personalities & learning"
|
|
170
|
-
echo " ✓ Audio effects & background music"
|
|
171
|
-
echo " ✓ All features enabled"
|
|
172
|
-
echo ""
|
|
173
|
-
echo "💡 Change audio saving anytime: /agent-vibes:save-audio [on|off]"
|
|
174
|
-
echo ""
|
|
175
|
-
echo "Note: Restart your Claude session for changes to take effect"
|
|
176
|
-
echo ""
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
# Note: check_mode() has been removed in favor of /agent-vibes:help
|
|
180
|
-
# which provides user-friendly diagnostics with actionable suggestions
|
|
181
|
-
|
|
182
|
-
# Main
|
|
183
|
-
main() {
|
|
184
|
-
local command="${1:-}"
|
|
185
|
-
|
|
186
|
-
ensure_dirs
|
|
187
|
-
|
|
188
|
-
case "$command" in
|
|
189
|
-
lite)
|
|
190
|
-
switch_to_lite
|
|
191
|
-
;;
|
|
192
|
-
full)
|
|
193
|
-
switch_to_full
|
|
194
|
-
;;
|
|
195
|
-
"")
|
|
196
|
-
show_mode
|
|
197
|
-
;;
|
|
198
|
-
*)
|
|
199
|
-
print_error "Unknown command: $command"
|
|
200
|
-
echo ""
|
|
201
|
-
echo "Usage: $0 [lite|full]"
|
|
202
|
-
echo ""
|
|
203
|
-
echo "Commands:"
|
|
204
|
-
echo " lite - Switch to Lite Mode (minimal overhead)"
|
|
205
|
-
echo " full - Switch to Full Mode (all features)"
|
|
206
|
-
echo " (none) - Show current mode"
|
|
207
|
-
echo ""
|
|
208
|
-
echo "💡 For status and diagnostics, use: /agent-vibes:help"
|
|
209
|
-
echo ""
|
|
210
|
-
exit 1
|
|
211
|
-
;;
|
|
212
|
-
esac
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
main "$@"
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Audio Summary Output Style
|
|
2
|
-
|
|
3
|
-
This output style is used in AgentVibes Lite Mode to provide minimal TTS feedback.
|
|
4
|
-
|
|
5
|
-
## Instructions
|
|
6
|
-
|
|
7
|
-
At the end of EVERY response, add a brief summary in this format:
|
|
8
|
-
|
|
9
|
-
**Audio Summary:** [1-sentence summary of what you accomplished]
|
|
10
|
-
|
|
11
|
-
## Examples
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
**Audio Summary:** Created three new React components for the dashboard.
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
**Audio Summary:** Fixed the authentication bug and added test coverage.
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
**Audio Summary:** Refactored the API client to use async/await.
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Guidelines
|
|
26
|
-
|
|
27
|
-
- Keep it to ONE sentence
|
|
28
|
-
- Focus on WHAT you did, not HOW
|
|
29
|
-
- Be specific but concise
|
|
30
|
-
- This will be spoken via text-to-speech automatically
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# AgentVibes TTS Hook - Triggers on assistant responses
|
|
3
|
-
# This hook is called after Claude generates a response
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Get the hooks directory
|
|
8
|
-
HOOKS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
9
|
-
PROJECT_ROOT="$(dirname "$(dirname "$HOOKS_DIR")")"
|
|
10
|
-
|
|
11
|
-
# Check if AgentVibes is muted for this project
|
|
12
|
-
if [[ -f "$PROJECT_ROOT/.claude/agentvibes-muted" ]]; then
|
|
13
|
-
exit 0 # Silently skip TTS
|
|
14
|
-
fi
|
|
15
|
-
|
|
16
|
-
# Check if unmuted flag exists (overrides global mute)
|
|
17
|
-
if [[ ! -f "$PROJECT_ROOT/.claude/agentvibes-unmuted" ]]; then
|
|
18
|
-
# Check global mute
|
|
19
|
-
if [[ -f "$HOME/.agentvibes-muted" ]]; then
|
|
20
|
-
exit 0 # Silently skip TTS
|
|
21
|
-
fi
|
|
22
|
-
fi
|
|
23
|
-
|
|
24
|
-
# Get the assistant's response text from stdin or arguments
|
|
25
|
-
RESPONSE_TEXT="${1:-}"
|
|
26
|
-
if [[ -z "$RESPONSE_TEXT" ]]; then
|
|
27
|
-
# Try reading from stdin if available
|
|
28
|
-
if [[ -p /dev/stdin ]]; then
|
|
29
|
-
RESPONSE_TEXT=$(cat)
|
|
30
|
-
fi
|
|
31
|
-
fi
|
|
32
|
-
|
|
33
|
-
# Skip if no text
|
|
34
|
-
if [[ -z "$RESPONSE_TEXT" ]]; then
|
|
35
|
-
exit 0
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
# Play TTS using the main play-tts script
|
|
39
|
-
"$HOOKS_DIR/play-tts.sh" "$RESPONSE_TEXT" &
|
|
40
|
-
|
|
41
|
-
exit 0
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Helper script to start Soprano TTS server if available
|
|
3
|
-
# Fails gracefully if Soprano is not installed
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Check if Soprano is installed via pipx
|
|
8
|
-
if ! command -v soprano &> /dev/null; then
|
|
9
|
-
# Soprano not in PATH, exit silently
|
|
10
|
-
exit 0
|
|
11
|
-
fi
|
|
12
|
-
|
|
13
|
-
# Check if server is already running
|
|
14
|
-
if curl -s -m 1 http://127.0.0.1:7860/openapi.json &> /dev/null; then
|
|
15
|
-
# Already running
|
|
16
|
-
exit 0
|
|
17
|
-
fi
|
|
18
|
-
|
|
19
|
-
# Try to start Soprano server
|
|
20
|
-
VENV_PATH="${HOME}/.local/share/pipx/venvs/soprano-tts"
|
|
21
|
-
|
|
22
|
-
if [ ! -d "$VENV_PATH" ]; then
|
|
23
|
-
# Soprano not installed via pipx, exit silently
|
|
24
|
-
exit 0
|
|
25
|
-
fi
|
|
26
|
-
|
|
27
|
-
# Start server in background
|
|
28
|
-
cd /tmp
|
|
29
|
-
nohup "${VENV_PATH}/bin/python" -m uvicorn soprano.server:app \
|
|
30
|
-
--host 127.0.0.1 \
|
|
31
|
-
--port 7860 \
|
|
32
|
-
> "${HOME}/.soprano-tts.log" 2>&1 &
|
|
33
|
-
|
|
34
|
-
# Wait a moment to see if it starts
|
|
35
|
-
sleep 2
|
|
36
|
-
|
|
37
|
-
# Check if it started successfully
|
|
38
|
-
if curl -s -m 1 http://127.0.0.1:7860/openapi.json &> /dev/null; then
|
|
39
|
-
exit 0
|
|
40
|
-
else
|
|
41
|
-
# Failed to start, but exit gracefully
|
|
42
|
-
exit 0
|
|
43
|
-
fi
|