agentvibes 2.14.2 → 2.14.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.
@@ -116,6 +116,9 @@ speak_text() {
116
116
  piper)
117
117
  "$SCRIPT_DIR/play-tts-piper.sh" "$text" "$voice"
118
118
  ;;
119
+ macos)
120
+ "$SCRIPT_DIR/play-tts-macos.sh" "$text" "$voice"
121
+ ;;
119
122
  *)
120
123
  echo "❌ Unknown provider: $provider" >&2
121
124
  return 1
@@ -232,6 +235,9 @@ case "$ACTIVE_PROVIDER" in
232
235
  piper)
233
236
  exec "$SCRIPT_DIR/play-tts-piper.sh" "$TEXT" "$VOICE_OVERRIDE"
234
237
  ;;
238
+ macos)
239
+ exec "$SCRIPT_DIR/play-tts-macos.sh" "$TEXT" "$VOICE_OVERRIDE"
240
+ ;;
235
241
  *)
236
242
  echo "❌ Unknown provider: $ACTIVE_PROVIDER"
237
243
  echo " Run: /agent-vibes:provider list"
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.14.2
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v2.14.4
15
15
 
16
16
  ---
17
17
 
@@ -94,17 +94,14 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, or using Warp
94
94
 
95
95
  ## 📰 Latest Release
96
96
 
97
- **[v2.14.2 - Native macOS TTS Provider](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.14.2)** 🎉
97
+ **[v2.14.4 - Fully Automated Install](https://github.com/paulpreibisch/AgentVibes/releases/tag/v2.14.4)** 🎉
98
98
 
99
- AgentVibes v2.14.1 introduces native macOS TTS support via the built-in `say` command. Mac users can now use AgentVibes with **zero setup required** - no API keys, no downloads, no configuration. Simply switch to the macOS provider and start talking! The new provider automatically detects 100+ built-in Apple voices across 40+ languages, with Siri-quality enhanced voices available on macOS Mojave (10.14) and later.
99
+ AgentVibes v2.14.4 fixes the `--yes` flag to skip ALL interactive prompts during installation. Previously, even with `--yes`, the installer would pause at three "Continue?" prompts. Now `npx agentvibes install --yes` runs fully unattended, perfect for CI/CD pipelines and automated deployments.
100
100
 
101
101
  **Key Highlights:**
102
- - 🍎 **macOS Say Provider** - Native TTS using macOS `say` command (zero dependencies!)
103
- - 🎤 **100+ Built-in Voices** - Access all Apple voices including enhanced Siri voices
104
- - 🌍 **40+ Languages** - Full language support from Apple's voice library
105
- - 🔄 **Three-Way Provider Switching** - Seamless migration between ElevenLabs, Piper, and macOS
106
- - 🎉 **Smarter BMAD Detection** - Improved installer message when BMAD-METHOD™ is detected
107
- - ✅ **Zero Breaking Changes** - Fully backward compatible with v2.14.0
102
+ - **Fully Automated Install** - `--yes` flag now skips ALL interactive prompts
103
+ - 🤖 **CI/CD Ready** - Perfect for automated deployments and scripted installs
104
+ - **No Breaking Changes** - Interactive mode unchanged when `--yes` is not used
108
105
 
109
106
  💡 **Tip:** If `npx agentvibes` shows an older version or missing commands, clear your npm cache: `npm cache clean --force && npx agentvibes@latest --help`
110
107
 
package/RELEASE_NOTES.md CHANGED
@@ -1,3 +1,203 @@
1
+ # Release v2.14.4 - Fully Automated Install with --yes Flag
2
+
3
+ **Release Date:** 2025-11-30
4
+ **Type:** Patch Release (Enhancement)
5
+
6
+ ## AI Summary
7
+
8
+ AgentVibes v2.14.4 fixes the `--yes` flag behavior during installation. Previously, even with `--yes`, the installer would pause at three intermediate "Continue?" prompts, blocking automated/CI installations. Now `npx agentvibes install --yes` runs fully unattended from start to finish.
9
+
10
+ **Key Highlights:**
11
+ - ⚡ **Fully Automated Install** - `--yes` flag now skips ALL interactive prompts
12
+ - 🤖 **CI/CD Ready** - Perfect for automated deployments and scripted installs
13
+ - ✅ **No Breaking Changes** - Interactive mode unchanged when `--yes` is not used
14
+
15
+ ---
16
+
17
+ ## Enhancement
18
+
19
+ ### Fully Automated Install with --yes Flag
20
+ **File:** `src/installer.js`
21
+
22
+ Three intermediate prompts are now skipped when `--yes` is provided:
23
+
24
+ | Prompt | Purpose |
25
+ |--------|---------|
26
+ | "📋 Review the installation summary above. Continue?" | After file installation summary |
27
+ | "Continue?" | After setup instructions display |
28
+ | "🎙️ Review MCP Server setup info above. Continue?" | After MCP server info |
29
+
30
+ **Before:** `npx agentvibes install --yes` would still pause 3 times
31
+ **After:** `npx agentvibes install --yes` runs completely unattended
32
+
33
+ ```bash
34
+ # Now works for fully automated installations:
35
+ npx agentvibes install --yes
36
+
37
+ # Perfect for CI/CD pipelines:
38
+ npx agentvibes@latest install -y
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Files Modified
44
+
45
+ | File | Changes |
46
+ |------|---------|
47
+ | `src/installer.js` | Wrapped 3 prompts with `if (!options.yes)` check (+12 lines) |
48
+
49
+ ---
50
+
51
+ ## Changes Summary
52
+
53
+ **Commits:** 1
54
+ - `feat: Skip intermediate prompts with --yes flag for automated installs`
55
+
56
+ **Files Changed:** 1
57
+ **Lines Added:** 12
58
+ **Lines Removed:** 6
59
+
60
+ ---
61
+
62
+ ## Migration Notes
63
+
64
+ **No migration required** - This is a patch release with improved automation.
65
+
66
+ **Who benefits:**
67
+ - CI/CD pipelines installing AgentVibes
68
+ - Scripted/automated deployments
69
+ - Anyone running `npx agentvibes install --yes`
70
+
71
+ ---
72
+
73
+ ## Testing
74
+
75
+ ```bash
76
+ # Verify fully automated install works:
77
+ npx agentvibes install --yes
78
+
79
+ # Should complete without any prompts
80
+ ```
81
+
82
+ ---
83
+
84
+ # Release v2.14.3 - macOS Provider Routing Fix
85
+
86
+ **Release Date:** 2025-11-30
87
+ **Type:** Patch Release (Bug Fix)
88
+
89
+ ## AI Summary
90
+
91
+ AgentVibes v2.14.3 fixes a critical bug where the macOS TTS provider would not speak when selected. The TTS router (`play-tts.sh`) was missing the case handler for the macOS provider, causing it to fail silently. This release adds the missing routing and includes comprehensive test coverage to prevent regression.
92
+
93
+ **Key Highlights:**
94
+ - 🐛 **Fixed macOS Provider Routing** - macOS `say` provider now works when selected (Issue #52)
95
+ - ✅ **New Provider Tests** - 4 new tests ensure macOS provider is properly detected and routed
96
+ - 🔧 **Fixed Translator Tests** - Fixed 3 pre-existing failing tests related to PWD and locale warnings
97
+ - 🎯 **133 Tests Passing** - Full test suite now passes with comprehensive macOS coverage
98
+
99
+ ---
100
+
101
+ ## Bug Fixes
102
+
103
+ ### macOS Provider Routing Fix (Issue #52)
104
+ **File:** `.claude/hooks/play-tts.sh`
105
+
106
+ The TTS router was missing case handlers for the `macos` provider in two locations:
107
+ 1. The `speak_text()` function (used by translation/learning modes)
108
+ 2. The main routing case statement
109
+
110
+ **Before:** Switching to macOS provider would silently fail - no TTS output
111
+ **After:** macOS provider correctly routes to `play-tts-macos.sh`
112
+
113
+ ```bash
114
+ # This now works correctly:
115
+ /agent-vibes:provider switch macos
116
+ # TTS output will now use macOS say command
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Test Improvements
122
+
123
+ ### New macOS Provider Tests
124
+ **Files:** `test/unit/provider-manager.bats`, `test/unit/play-tts.bats`
125
+
126
+ Added 4 new tests to ensure macOS provider is properly supported:
127
+
128
+ | Test | Description |
129
+ |------|-------------|
130
+ | `provider-manager list shows available providers` | Verifies `macos` appears in provider list |
131
+ | `provider-manager switch to macos` | Tests switching to macOS provider |
132
+ | `provider-manager validate macos provider exists` | Validates macOS provider script exists |
133
+ | `play-tts routes to macos provider when configured` | Tests actual TTS routing to macOS |
134
+ | `play-tts speak_text function routes to macos` | Verifies internal routing function |
135
+
136
+ ### Fixed Translator Tests
137
+ **File:** `test/unit/translator.bats`
138
+
139
+ Fixed 3 pre-existing failing tests:
140
+ - Tests now properly `cd` to project directory before running commands
141
+ - Fixed locale warning filtering using `env LC_ALL=C bash -c`
142
+
143
+ ---
144
+
145
+ ## Files Modified
146
+
147
+ | File | Changes |
148
+ |------|---------|
149
+ | `.claude/hooks/play-tts.sh` | Added macOS case handlers (+6 lines) |
150
+ | `test/unit/provider-manager.bats` | Added macOS provider tests (+24 lines) |
151
+ | `test/unit/play-tts.bats` | Added macOS routing tests (+45 lines) |
152
+ | `test/unit/translator.bats` | Fixed PWD and locale issues (+13 lines) |
153
+
154
+ ---
155
+
156
+ ## Changes Summary
157
+
158
+ **Commits:** 2
159
+ - `fix: Add macOS provider routing to play-tts.sh`
160
+ - `test: Add macOS provider tests and fix translator tests`
161
+
162
+ **Files Changed:** 4
163
+ **Lines Added:** 88
164
+ **Lines Removed:** 11
165
+
166
+ ---
167
+
168
+ ## Migration Notes
169
+
170
+ **No migration required** - This is a bug fix release.
171
+
172
+ **Who is affected:** Mac users who updated to v2.14.1/v2.14.2 and tried to use the macOS provider.
173
+
174
+ **Fix verification:**
175
+ ```bash
176
+ # Update AgentVibes
177
+ npx agentvibes update
178
+
179
+ # Switch to macOS provider - should now speak
180
+ /agent-vibes:provider switch macos
181
+ ```
182
+
183
+ ---
184
+
185
+ ## Testing
186
+
187
+ All 133 tests pass:
188
+
189
+ ```bash
190
+ npm test
191
+
192
+ # Key tests:
193
+ # ok 21 play-tts routes to macos provider when configured
194
+ # ok 22 play-tts speak_text function routes to macos
195
+ # ok 29 provider-manager switch to macos
196
+ # ok 30 provider-manager validate macos provider exists
197
+ ```
198
+
199
+ ---
200
+
1
201
  # Release v2.14.2 - Native macOS TTS Provider
2
202
 
3
203
  **Release Date:** 2025-11-29
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "agentvibes",
4
- "version": "2.14.2",
4
+ "version": "2.14.4",
5
5
  "description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code and Claude Desktop (via MCP) with multi-provider support.",
6
6
  "homepage": "https://agentvibes.org",
7
7
  "keywords": [
package/src/installer.js CHANGED
@@ -128,18 +128,17 @@ function showReleaseInfo() {
128
128
  console.log(
129
129
  boxen(
130
130
  chalk.white.bold('═══════════════════════════════════════════════════════════════\n') +
131
- chalk.cyan.bold(' 📦 AgentVibes v2.14.2 - Native macOS TTS Provider\n') +
131
+ chalk.cyan.bold(' 📦 AgentVibes v2.14.4 - Fully Automated Install\n') +
132
132
  chalk.white.bold('═══════════════════════════════════════════════════════════════\n\n') +
133
133
  chalk.green.bold('🎙️ WHAT\'S NEW:\n\n') +
134
- chalk.cyan('AgentVibes v2.14.1 introduces native macOS TTS support via the\n') +
135
- chalk.cyan('built-in `say` command. Mac users can now use AgentVibes with\n') +
136
- chalk.cyan('zero setup - no API keys, no downloads, no configuration!\n\n') +
134
+ chalk.cyan('AgentVibes v2.14.4 fixes the --yes flag to skip ALL prompts.\n') +
135
+ chalk.cyan('Now `npx agentvibes install --yes` runs fully unattended,\n') +
136
+ chalk.cyan('perfect for CI/CD pipelines and automated deployments.\n\n') +
137
137
  chalk.green.bold('✨ KEY HIGHLIGHTS:\n\n') +
138
- chalk.gray(' 🍎 macOS Say Provider - Native TTS using macOS `say` (zero deps!)\n') +
139
- chalk.gray(' 🎤 100+ Built-in Voices - Access all Apple voices incl. Siri\n') +
140
- chalk.gray(' 🌍 40+ Languages - Full Apple voice library support\n') +
141
- chalk.gray(' 🔄 Three-Way Provider Switching - ElevenLabs, Piper, and macOS\n') +
142
- chalk.gray(' 🎉 Smarter BMAD Detection - Party mode recommendation on install\n\n') +
138
+ chalk.gray(' Fully Automated Install - --yes skips ALL interactive prompts\n') +
139
+ chalk.gray(' 🤖 CI/CD Ready - Perfect for automated deployments\n') +
140
+ chalk.gray(' No Breaking Changes - Interactive mode unchanged\n') +
141
+ chalk.gray(' 🎯 133 Tests Passing - Full test suite coverage\n\n') +
143
142
  chalk.white.bold('═══════════════════════════════════════════════════════════════\n\n') +
144
143
  chalk.gray('📖 Full Release Notes: RELEASE_NOTES.md\n') +
145
144
  chalk.gray('🌐 Website: https://agentvibes.org\n') +
@@ -1556,14 +1555,16 @@ async function install(options = {}) {
1556
1555
  console.log('');
1557
1556
 
1558
1557
  // Pause to let user review installation summary
1559
- await inquirer.prompt([
1560
- {
1561
- type: 'confirm',
1562
- name: 'continue',
1563
- message: chalk.cyan('📋 Review the installation summary above. Continue?'),
1564
- default: true,
1565
- }
1566
- ]);
1558
+ if (!options.yes) {
1559
+ await inquirer.prompt([
1560
+ {
1561
+ type: 'confirm',
1562
+ name: 'continue',
1563
+ message: chalk.cyan('📋 Review the installation summary above. Continue?'),
1564
+ default: true,
1565
+ }
1566
+ ]);
1567
+ }
1567
1568
 
1568
1569
  // Show recent changes from git log or RELEASE_NOTES.md
1569
1570
  try {
@@ -1663,14 +1664,16 @@ async function install(options = {}) {
1663
1664
  console.log(chalk.white(' • /agent-vibes:personality <style>') + chalk.gray(' - Set personality\n'));
1664
1665
 
1665
1666
  // Pause to let user review setup instructions
1666
- await inquirer.prompt([
1667
- {
1668
- type: 'confirm',
1669
- name: 'continue',
1670
- message: chalk.cyan('Continue?'),
1671
- default: true,
1672
- }
1673
- ]);
1667
+ if (!options.yes) {
1668
+ await inquirer.prompt([
1669
+ {
1670
+ type: 'confirm',
1671
+ name: 'continue',
1672
+ message: chalk.cyan('Continue?'),
1673
+ default: true,
1674
+ }
1675
+ ]);
1676
+ }
1674
1677
 
1675
1678
  // Recommend MCP Server installation
1676
1679
  console.log(
@@ -1720,14 +1723,16 @@ async function install(options = {}) {
1720
1723
  );
1721
1724
 
1722
1725
  // Pause to let user review MCP server info
1723
- await inquirer.prompt([
1724
- {
1725
- type: 'confirm',
1726
- name: 'continue',
1727
- message: chalk.cyan('🎙️ Review MCP Server setup info above. Continue?'),
1728
- default: true,
1729
- }
1730
- ]);
1726
+ if (!options.yes) {
1727
+ await inquirer.prompt([
1728
+ {
1729
+ type: 'confirm',
1730
+ name: 'continue',
1731
+ message: chalk.cyan('🎙️ Review MCP Server setup info above. Continue?'),
1732
+ default: true,
1733
+ }
1734
+ ]);
1735
+ }
1731
1736
 
1732
1737
  // Create default BMAD voice assignments (works even if BMAD not installed yet)
1733
1738
  await createDefaultBmadVoiceAssignmentsProactive(targetDir);
@@ -90,3 +90,48 @@ teardown() {
90
90
  [ "$status" -eq 1 ]
91
91
  assert_output_contains "Error: No text provided"
92
92
  }
93
+
94
+ # ============================================================================
95
+ # Provider Routing Tests (Issue #52)
96
+ # ============================================================================
97
+
98
+ @test "play-tts routes to macos provider when configured" {
99
+ # Issue #52: macOS provider routing was missing
100
+ # This test ensures the macos case exists in play-tts.sh
101
+ echo "macos" > "$CLAUDE_PROJECT_DIR/.claude/tts-provider.txt"
102
+
103
+ # Create a mock play-tts-macos.sh that we can detect was called
104
+ local macos_script="$TEST_CLAUDE_DIR/hooks/play-tts-macos.sh"
105
+ cat > "$macos_script" << 'EOF'
106
+ #!/usr/bin/env bash
107
+ echo "MACOS_PROVIDER_CALLED"
108
+ echo "Text: $1"
109
+ echo "Voice: $2"
110
+ exit 0
111
+ EOF
112
+ chmod +x "$macos_script"
113
+
114
+ run "$PLAY_TTS" "Test macOS routing"
115
+
116
+ [ "$status" -eq 0 ]
117
+ # Should have called the macos provider
118
+ assert_output_contains "MACOS_PROVIDER_CALLED"
119
+ }
120
+
121
+ @test "play-tts speak_text function routes to macos" {
122
+ # Test the speak_text function also routes to macos (for translation/learning modes)
123
+ echo "macos" > "$CLAUDE_PROJECT_DIR/.claude/tts-provider.txt"
124
+
125
+ # Source play-tts.sh and test speak_text function
126
+ # We verify by checking the macos case exists in the script
127
+ run grep -A2 'case "\$provider" in' "$PLAY_TTS"
128
+
129
+ [ "$status" -eq 0 ]
130
+ # The macos case should exist in the speak_text function
131
+ run grep 'macos)' "$PLAY_TTS"
132
+ [ "$status" -eq 0 ]
133
+
134
+ # Count occurrences - should be 2 (one in speak_text, one in main routing)
135
+ local count=$(grep -c 'macos)' "$PLAY_TTS")
136
+ [ "$count" -ge 2 ]
137
+ }
@@ -27,9 +27,10 @@ teardown() {
27
27
 
28
28
  [ "$status" -eq 0 ]
29
29
 
30
- # Should show at least elevenlabs and piper
30
+ # Should show all three providers: elevenlabs, piper, and macos
31
31
  assert_output_contains "elevenlabs"
32
32
  assert_output_contains "piper"
33
+ assert_output_contains "macos"
33
34
  }
34
35
 
35
36
  @test "provider-manager list finds providers from play-tts files" {
@@ -38,9 +39,10 @@ teardown() {
38
39
  [ "$status" -eq 0 ]
39
40
 
40
41
  # Verify it's detecting actual provider scripts
41
- # Both elevenlabs and piper should be present
42
+ # All three providers should be present (Issue #52)
42
43
  [[ "$output" =~ "elevenlabs" ]]
43
44
  [[ "$output" =~ "piper" ]]
45
+ [[ "$output" =~ "macos" ]]
44
46
  }
45
47
 
46
48
  @test "provider-manager list works with no providers (edge case)" {
@@ -94,6 +96,24 @@ teardown() {
94
96
  assert_file_contains "$PROVIDER_FILE" "elevenlabs"
95
97
  }
96
98
 
99
+ @test "provider-manager switch to macos" {
100
+ # Issue #52: macOS provider must be switchable
101
+ run "$PROVIDER_MANAGER" switch "macos"
102
+
103
+ [ "$status" -eq 0 ]
104
+ assert_output_contains "Active provider set to: macos"
105
+
106
+ assert_file_exists "$PROVIDER_FILE"
107
+ assert_file_contains "$PROVIDER_FILE" "macos"
108
+ }
109
+
110
+ @test "provider-manager validate macos provider exists" {
111
+ # Issue #52: macOS provider must be recognized as valid
112
+ run "$PROVIDER_MANAGER" validate "macos"
113
+
114
+ [ "$status" -eq 0 ]
115
+ }
116
+
97
117
  @test "provider-manager switch with invalid provider fails" {
98
118
  run "$PROVIDER_MANAGER" switch "nonexistent"
99
119
 
@@ -132,7 +132,9 @@ teardown() {
132
132
  @test "translate-manager.sh get-translate-to returns language" {
133
133
  "$TRANSLATE_MANAGER" set french > /dev/null 2>&1
134
134
 
135
- run bash -c "LC_ALL=C $TRANSLATE_MANAGER get-translate-to 2>/dev/null"
135
+ # Must run from same directory where 'set' wrote the config
136
+ # Set LC_ALL=C before bash to suppress locale warnings
137
+ run env LC_ALL=C bash -c "cd '$CLAUDE_PROJECT_DIR' && $TRANSLATE_MANAGER get-translate-to" 2>/dev/null
136
138
 
137
139
  [ "$status" -eq 0 ]
138
140
  [[ "$output" == "french" ]]
@@ -171,29 +173,33 @@ teardown() {
171
173
  # ============================================
172
174
 
173
175
  @test "translate-manager.sh detects BMAD communication_language" {
174
- # Create mock BMAD config
175
- mkdir -p ".bmad/core"
176
- cat > ".bmad/core/config.yaml" << 'EOF'
176
+ # Create mock BMAD config in the project directory
177
+ mkdir -p "$CLAUDE_PROJECT_DIR/.bmad/core"
178
+ cat > "$CLAUDE_PROJECT_DIR/.bmad/core/config.yaml" << 'EOF'
177
179
  communication_language: Spanish
178
180
  document_output_language: Spanish
179
181
  EOF
180
182
 
181
- run bash -c "LC_ALL=C $TRANSLATE_MANAGER get-bmad-language 2>/dev/null"
183
+ # Must run from project directory where BMAD config exists
184
+ # Set LC_ALL=C before bash to suppress locale warnings
185
+ run env LC_ALL=C bash -c "cd '$CLAUDE_PROJECT_DIR' && $TRANSLATE_MANAGER get-bmad-language" 2>/dev/null
182
186
 
183
187
  [ "$status" -eq 0 ]
184
188
  [[ "$output" == "spanish" ]]
185
189
  }
186
190
 
187
191
  @test "translate-manager.sh auto uses BMAD language when set" {
188
- # Create mock BMAD config
189
- mkdir -p ".bmad/core"
190
- cat > ".bmad/core/config.yaml" << 'EOF'
192
+ # Create mock BMAD config in the project directory
193
+ mkdir -p "$CLAUDE_PROJECT_DIR/.bmad/core"
194
+ cat > "$CLAUDE_PROJECT_DIR/.bmad/core/config.yaml" << 'EOF'
191
195
  communication_language: French
192
196
  EOF
193
197
 
194
198
  "$TRANSLATE_MANAGER" auto > /dev/null 2>&1
195
199
 
196
- run bash -c "LC_ALL=C $TRANSLATE_MANAGER get-translate-to 2>/dev/null"
200
+ # Must run from project directory where BMAD config and tts-translate-to.txt exist
201
+ # Set LC_ALL=C before bash to suppress locale warnings
202
+ run env LC_ALL=C bash -c "cd '$CLAUDE_PROJECT_DIR' && $TRANSLATE_MANAGER get-translate-to" 2>/dev/null
197
203
 
198
204
  [ "$status" -eq 0 ]
199
205
  [[ "$output" == "french" ]]