@codemieai/code 0.0.38 → 0.0.41
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/README.md +2 -3
- package/bin/codemie-opencode.js +8 -1
- package/dist/agents/codemie-code/skills/index.d.ts +4 -0
- package/dist/agents/codemie-code/skills/index.d.ts.map +1 -1
- package/dist/agents/codemie-code/skills/index.js +4 -0
- package/dist/agents/codemie-code/skills/index.js.map +1 -1
- package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts +52 -0
- package/dist/agents/codemie-code/skills/sync/SkillSync.d.ts.map +1 -0
- package/dist/agents/codemie-code/skills/sync/SkillSync.js +165 -0
- package/dist/agents/codemie-code/skills/sync/SkillSync.js.map +1 -0
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +25 -14
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +25 -2
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +183 -6
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/types.d.ts +44 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts +5 -5
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +136 -93
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/local-install.json +1 -0
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/README.md +96 -0
- package/dist/agents/plugins/claude/plugin/codemie-statusline.mjs +42 -0
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +16 -0
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.ps1 +112 -0
- package/dist/agents/plugins/claude/plugin/sounds/play-random-sound.sh +58 -0
- package/dist/agents/plugins/claude/sounds-installer.d.ts +19 -0
- package/dist/agents/plugins/claude/sounds-installer.d.ts.map +1 -0
- package/dist/agents/plugins/claude/sounds-installer.js +164 -0
- package/dist/agents/plugins/claude/sounds-installer.js.map +1 -0
- package/dist/agents/plugins/codemie-code-binary.d.ts +17 -0
- package/dist/agents/plugins/codemie-code-binary.d.ts.map +1 -0
- package/dist/agents/plugins/codemie-code-binary.js +94 -0
- package/dist/agents/plugins/codemie-code-binary.js.map +1 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts +53 -12
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +359 -147
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts +8 -0
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +44 -0
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts +12 -2
- package/dist/agents/plugins/opencode/opencode-model-configs.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-model-configs.js +240 -24
- package/dist/agents/plugins/opencode/opencode-model-configs.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.js +62 -24
- package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +8 -7
- package/dist/agents/registry.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.js +5 -2
- package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
- package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/FrameworksCheck.js +5 -2
- package/dist/cli/commands/doctor/checks/FrameworksCheck.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +87 -91
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +23 -0
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +13 -0
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/log/formatter.d.ts +1 -0
- package/dist/cli/commands/log/formatter.d.ts.map +1 -1
- package/dist/cli/commands/log/formatter.js +4 -13
- package/dist/cli/commands/log/formatter.js.map +1 -1
- package/dist/cli/commands/setup.js +155 -0
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +80 -1
- package/dist/cli/commands/skill.js.map +1 -1
- package/dist/cli/index.js +7 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +3 -0
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/hooks/types.d.ts +2 -0
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.js +12 -0
- package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.d.ts +3 -1
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.js +70 -12
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +6 -0
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +16 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/native-installer.d.ts.map +1 -1
- package/dist/utils/native-installer.js +35 -0
- package/dist/utils/native-installer.js.map +1 -1
- package/package.json +2 -1
|
@@ -2,18 +2,32 @@ import { BaseAgentAdapter } from '../../core/BaseAgentAdapter.js';
|
|
|
2
2
|
import { ClaudeSessionAdapter } from './claude.session.js';
|
|
3
3
|
import { ClaudePluginInstaller } from './claude.plugin-installer.js';
|
|
4
4
|
import { installNativeAgent } from '../../../utils/native-installer.js';
|
|
5
|
-
import {
|
|
6
|
-
import { AgentInstallationError, createErrorContext, } from '../../../utils/errors.js';
|
|
5
|
+
import { isValidSemanticVersion } from '../../../utils/version-utils.js';
|
|
6
|
+
import { AgentInstallationError, createErrorContext, getErrorMessage, } from '../../../utils/errors.js';
|
|
7
7
|
import { logger } from '../../../utils/logger.js';
|
|
8
|
-
import {
|
|
8
|
+
import { sanitizeLogArgs } from '../../../utils/security.js';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import { resolveHomeDir, getDirname } from '../../../utils/paths.js';
|
|
9
11
|
import { detectInstallationMethod, } from '../../../utils/installation-detector.js';
|
|
12
|
+
// Module-level flag to track statusline management within a session.
|
|
13
|
+
// Using module scope (not env var) avoids leaking internal state into subprocess environments.
|
|
14
|
+
let statuslineManagedThisSession = false;
|
|
10
15
|
/**
|
|
11
16
|
* Supported Claude Code version
|
|
12
17
|
* Latest version tested and verified with CodeMie backend
|
|
13
18
|
*
|
|
14
19
|
* **UPDATE THIS WHEN BUMPING CLAUDE VERSION**
|
|
15
20
|
*/
|
|
16
|
-
const CLAUDE_SUPPORTED_VERSION = '2.1.
|
|
21
|
+
const CLAUDE_SUPPORTED_VERSION = '2.1.41';
|
|
22
|
+
/**
|
|
23
|
+
* Minimum supported Claude Code version
|
|
24
|
+
* Versions below this are known to be incompatible and will be blocked from starting
|
|
25
|
+
* Rule: always 10 patch versions below CLAUDE_SUPPORTED_VERSION
|
|
26
|
+
* e.g. supported = 2.1.41 → minimum = 2.1.31
|
|
27
|
+
*
|
|
28
|
+
* **UPDATE THIS WHEN BUMPING CLAUDE VERSION**
|
|
29
|
+
*/
|
|
30
|
+
const CLAUDE_MINIMUM_SUPPORTED_VERSION = '2.1.32';
|
|
17
31
|
/**
|
|
18
32
|
* Claude Code installer URLs
|
|
19
33
|
* Official Anthropic installer scripts for native installation
|
|
@@ -34,6 +48,7 @@ export const ClaudePluginMetadata = {
|
|
|
34
48
|
cliCommand: 'claude',
|
|
35
49
|
// Version management configuration
|
|
36
50
|
supportedVersion: CLAUDE_SUPPORTED_VERSION, // Latest version tested with CodeMie backend
|
|
51
|
+
minimumSupportedVersion: CLAUDE_MINIMUM_SUPPORTED_VERSION, // Minimum version required to run
|
|
37
52
|
// Native installer URLs (used by installNativeAgent utility)
|
|
38
53
|
installerUrls: CLAUDE_INSTALLER_URLS,
|
|
39
54
|
// Data paths (used by lifecycle hooks and analytics)
|
|
@@ -44,6 +59,9 @@ export const ClaudePluginMetadata = {
|
|
|
44
59
|
baseUrl: ['ANTHROPIC_BASE_URL'],
|
|
45
60
|
apiKey: ['ANTHROPIC_AUTH_TOKEN'],
|
|
46
61
|
model: ['ANTHROPIC_MODEL'],
|
|
62
|
+
haikuModel: ['ANTHROPIC_DEFAULT_HAIKU_MODEL'],
|
|
63
|
+
sonnetModel: ['ANTHROPIC_DEFAULT_SONNET_MODEL', 'CLAUDE_CODE_SUBAGENT_MODEL'],
|
|
64
|
+
opusModel: ['ANTHROPIC_DEFAULT_OPUS_MODEL'],
|
|
47
65
|
},
|
|
48
66
|
supportedProviders: ['litellm', 'ai-run-sso', 'bedrock'],
|
|
49
67
|
blockedModelPatterns: [],
|
|
@@ -100,8 +118,86 @@ export const ClaudePluginMetadata = {
|
|
|
100
118
|
if (!env.DISABLE_AUTOUPDATER) {
|
|
101
119
|
env.DISABLE_AUTOUPDATER = '1';
|
|
102
120
|
}
|
|
121
|
+
// Statusline setup: when --status flag is passed, configure Claude Code
|
|
122
|
+
// status bar with a multi-line display showing model, context, git, cost
|
|
123
|
+
// https://code.claude.com/docs/en/statusline
|
|
124
|
+
if (env.CODEMIE_STATUS === '1') {
|
|
125
|
+
const { writeFile, readFile, mkdir, chmod } = await import('fs/promises');
|
|
126
|
+
const { existsSync } = await import('fs');
|
|
127
|
+
const { join } = await import('path');
|
|
128
|
+
const claudeHome = resolveHomeDir('.claude');
|
|
129
|
+
const scriptPath = join(claudeHome, 'codemie-statusline.mjs');
|
|
130
|
+
const settingsPath = join(claudeHome, 'settings.json');
|
|
131
|
+
// Read the statusline script from the compiled output directory
|
|
132
|
+
const scriptContent = await readFile(join(getDirname(import.meta.url), 'plugin/codemie-statusline.mjs'), 'utf-8');
|
|
133
|
+
// Ensure ~/.claude directory exists
|
|
134
|
+
if (!existsSync(claudeHome)) {
|
|
135
|
+
await mkdir(claudeHome, { recursive: true });
|
|
136
|
+
}
|
|
137
|
+
// Write script (always update to latest version)
|
|
138
|
+
await writeFile(scriptPath, scriptContent, 'utf-8');
|
|
139
|
+
// Make script executable on Unix systems
|
|
140
|
+
if (process.platform !== 'win32') {
|
|
141
|
+
await chmod(scriptPath, 0o755);
|
|
142
|
+
}
|
|
143
|
+
// Inject statusLine into ~/.claude/settings.json if not already configured
|
|
144
|
+
let settings = {};
|
|
145
|
+
if (existsSync(settingsPath)) {
|
|
146
|
+
try {
|
|
147
|
+
const raw = await readFile(settingsPath, 'utf-8');
|
|
148
|
+
settings = JSON.parse(raw);
|
|
149
|
+
}
|
|
150
|
+
catch (parseError) {
|
|
151
|
+
// Abort injection to prevent overwriting potentially valid settings
|
|
152
|
+
// that are temporarily unreadable (e.g., concurrent write, partial flush)
|
|
153
|
+
logger.warn('[Claude] Could not parse settings.json, skipping statusline injection to avoid data loss', ...sanitizeLogArgs({
|
|
154
|
+
settingsPath,
|
|
155
|
+
error: parseError instanceof Error ? parseError.message : String(parseError),
|
|
156
|
+
}));
|
|
157
|
+
return env;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (!settings.statusLine) {
|
|
161
|
+
settings.statusLine = {
|
|
162
|
+
type: 'command',
|
|
163
|
+
// Quote the path to handle spaces in home directory (e.g. /Users/John Doe/)
|
|
164
|
+
command: `node "${scriptPath}"`,
|
|
165
|
+
};
|
|
166
|
+
await writeFile(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
167
|
+
// Use module-level flag (not env var) to avoid leaking into subprocess env
|
|
168
|
+
statuslineManagedThisSession = true;
|
|
169
|
+
logger.debug('[Claude] Statusline configured', { scriptPath });
|
|
170
|
+
}
|
|
171
|
+
}
|
|
103
172
|
return env;
|
|
104
173
|
},
|
|
174
|
+
// Clean up injected statusLine from settings.json after the session ends
|
|
175
|
+
async afterRun(_exitCode, _env) {
|
|
176
|
+
if (!statuslineManagedThisSession)
|
|
177
|
+
return;
|
|
178
|
+
statuslineManagedThisSession = false;
|
|
179
|
+
const { readFile, writeFile } = await import('fs/promises');
|
|
180
|
+
const { existsSync } = await import('fs');
|
|
181
|
+
const { join } = await import('path');
|
|
182
|
+
const settingsPath = join(resolveHomeDir('.claude'), 'settings.json');
|
|
183
|
+
if (existsSync(settingsPath)) {
|
|
184
|
+
try {
|
|
185
|
+
const raw = await readFile(settingsPath, 'utf-8');
|
|
186
|
+
const settings = JSON.parse(raw);
|
|
187
|
+
if (settings.statusLine) {
|
|
188
|
+
delete settings.statusLine;
|
|
189
|
+
await writeFile(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
190
|
+
logger.debug('[Claude] Statusline config removed from settings.json');
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
logger.warn('[Claude] Failed to clean up statusLine from settings.json', ...sanitizeLogArgs({
|
|
195
|
+
settingsPath,
|
|
196
|
+
error: error instanceof Error ? error.message : String(error),
|
|
197
|
+
}));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
},
|
|
105
201
|
},
|
|
106
202
|
};
|
|
107
203
|
/**
|
|
@@ -309,100 +405,47 @@ export class ClaudePlugin extends BaseAgentAdapter {
|
|
|
309
405
|
}
|
|
310
406
|
}
|
|
311
407
|
/**
|
|
312
|
-
*
|
|
313
|
-
*
|
|
408
|
+
* Additional installation steps for Claude Code
|
|
409
|
+
* Handles optional features like sounds installation
|
|
314
410
|
*
|
|
315
|
-
* @
|
|
411
|
+
* @param options - Typed installation options
|
|
316
412
|
*/
|
|
317
|
-
async
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
isNewer: false,
|
|
343
|
-
hasUpdate: false,
|
|
344
|
-
};
|
|
345
|
-
}
|
|
346
|
-
// Compare versions
|
|
347
|
-
try {
|
|
348
|
-
const comparison = compareVersions(installedVersion, supportedVersion);
|
|
349
|
-
// Determine if update is available: installed < supported
|
|
350
|
-
const hasUpdate = comparison < 0;
|
|
351
|
-
logger.debug('Version comparison result', {
|
|
352
|
-
comparison,
|
|
353
|
-
installedVersion,
|
|
354
|
-
supportedVersion,
|
|
355
|
-
compatible: comparison <= 0,
|
|
356
|
-
isNewer: comparison > 0,
|
|
357
|
-
hasUpdate,
|
|
358
|
-
});
|
|
359
|
-
return {
|
|
360
|
-
compatible: comparison <= 0, // Compatible if installed <= supported
|
|
361
|
-
installedVersion,
|
|
362
|
-
supportedVersion,
|
|
363
|
-
isNewer: comparison > 0, // Newer if installed > supported (warning case)
|
|
364
|
-
hasUpdate, // Update available if installed < supported
|
|
365
|
-
};
|
|
366
|
-
}
|
|
367
|
-
catch (error) {
|
|
368
|
-
// If version comparison fails, provide comprehensive error context for debugging
|
|
369
|
-
const errorContext = createErrorContext(error, {
|
|
370
|
-
agent: metadata.name,
|
|
371
|
-
});
|
|
372
|
-
// Differentiate between parse errors (non-standard format) and unexpected errors
|
|
373
|
-
const isParseError = error instanceof Error &&
|
|
374
|
-
error.message.includes('Invalid semantic version');
|
|
375
|
-
if (isParseError) {
|
|
376
|
-
// Parse error: version format not recognized (e.g., '2.1.22 (Claude Code)' or custom format)
|
|
377
|
-
logger.warn('Non-standard version format detected, treating as incompatible', {
|
|
378
|
-
...errorContext,
|
|
379
|
-
operation: 'checkVersionCompatibility',
|
|
380
|
-
phase: 'version_comparison',
|
|
381
|
-
installedVersion,
|
|
382
|
-
supportedVersion,
|
|
383
|
-
reason: 'parse_error',
|
|
384
|
-
});
|
|
413
|
+
async additionalInstallation(options) {
|
|
414
|
+
// Install sounds if requested
|
|
415
|
+
if (options?.sounds) {
|
|
416
|
+
try {
|
|
417
|
+
logger.info('Installing sounds...', { agent: 'claude' });
|
|
418
|
+
const { installSounds, isSoundsInstalled } = await import('./sounds-installer.js');
|
|
419
|
+
// Check if already installed
|
|
420
|
+
if (!isSoundsInstalled()) {
|
|
421
|
+
const result = await installSounds();
|
|
422
|
+
if (result === null) {
|
|
423
|
+
// Installation failed (no audio player or other error)
|
|
424
|
+
logger.warn('Sounds installation skipped or failed (no audio player)', {
|
|
425
|
+
agent: 'claude'
|
|
426
|
+
});
|
|
427
|
+
console.error(chalk.yellow('\n⚠️ Sounds installation failed (optional feature)'));
|
|
428
|
+
console.error(chalk.dim('You can try installing sounds later with: codemie install claude --sounds\n'));
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
logger.info('Sounds installed successfully', { agent: 'claude' });
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
else {
|
|
435
|
+
logger.info('Sounds already installed, skipping', { agent: 'claude' });
|
|
436
|
+
console.log(chalk.blue('\nℹ️ Sounds already installed, skipping\n'));
|
|
437
|
+
}
|
|
385
438
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
...errorContext,
|
|
390
|
-
operation: 'checkVersionCompatibility',
|
|
391
|
-
phase: 'version_comparison',
|
|
392
|
-
installedVersion,
|
|
393
|
-
supportedVersion,
|
|
394
|
-
reason: 'unexpected_error',
|
|
439
|
+
catch (error) {
|
|
440
|
+
const errorContext = createErrorContext(error, {
|
|
441
|
+
agent: 'claude'
|
|
395
442
|
});
|
|
443
|
+
logger.error('Sounds installation failed', errorContext);
|
|
444
|
+
// Don't throw - sounds are optional, allow installation to continue
|
|
445
|
+
console.error(chalk.yellow('\n⚠️ Sounds installation failed (optional feature)'));
|
|
446
|
+
console.error(chalk.dim(`Error: ${getErrorMessage(error)}`));
|
|
447
|
+
console.error(chalk.dim('You can try installing sounds later with: codemie install claude --sounds\n'));
|
|
396
448
|
}
|
|
397
|
-
// Return incompatible (safer default) - users should be aware of version issues
|
|
398
|
-
// Don't throw - this would break user experience during setup/execution
|
|
399
|
-
return {
|
|
400
|
-
compatible: false,
|
|
401
|
-
installedVersion,
|
|
402
|
-
supportedVersion,
|
|
403
|
-
isNewer: false,
|
|
404
|
-
hasUpdate: false,
|
|
405
|
-
};
|
|
406
449
|
}
|
|
407
450
|
}
|
|
408
451
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.plugin.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/claude.plugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude.plugin.js","sourceRoot":"","sources":["../../../../src/agents/plugins/claude/claude.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,102 @@ cp -r /path/to/codemie-code/src/agents/plugins/claude/plugin ~/.claude/plugins/c
|
|
|
74
74
|
|
|
75
75
|
**Note:** Manual installation is only needed for non-SSO providers (litellm, bedrock, etc.)
|
|
76
76
|
|
|
77
|
+
### Optional: Sound Effects
|
|
78
|
+
|
|
79
|
+
Add audio feedback to your Claude Code sessions with the `--sounds` flag.
|
|
80
|
+
|
|
81
|
+
**Prerequisites:**
|
|
82
|
+
|
|
83
|
+
Before running sounds installation, ensure you have an audio player installed:
|
|
84
|
+
- **macOS**: `afplay` (built-in, no installation needed)
|
|
85
|
+
- **Linux**: `sudo apt install alsa-utils` (aplay) or `sudo apt install pulseaudio-utils` (paplay)
|
|
86
|
+
- **Windows**: `choco install mpg123`
|
|
87
|
+
- **Alternative**: `brew install mpg123` (macOS), `sudo apt install mpg123` (Linux)
|
|
88
|
+
|
|
89
|
+
⚠️ **Important**: Installation will fail if no audio player is found.
|
|
90
|
+
|
|
91
|
+
**Installation:**
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Enable sounds during Claude installation
|
|
95
|
+
codemie install claude --sounds
|
|
96
|
+
|
|
97
|
+
# Add sounds to existing Claude installation (safe to re-run)
|
|
98
|
+
codemie install claude --sounds
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**What happens during installation:**
|
|
102
|
+
- ✅ Verifies required audio player is installed (fails if none found)
|
|
103
|
+
- ✅ Creates sound directories in `~/.codemie/sounds/`
|
|
104
|
+
- ✅ Configures hooks to play sounds on events
|
|
105
|
+
|
|
106
|
+
**Note**: The `play-random-sound.sh` script and hook configuration will be **automatically installed** to `~/.codemie/claude-plugin/` when you **first run** `codemie-claude`. This happens seamlessly in the background - you don't need to do anything manually.
|
|
107
|
+
|
|
108
|
+
**Installation Structure:**
|
|
109
|
+
|
|
110
|
+
After installation and first run, you'll have:
|
|
111
|
+
```
|
|
112
|
+
~/.codemie/
|
|
113
|
+
├── sounds/ # Your sound files go here
|
|
114
|
+
│ ├── SessionStart/
|
|
115
|
+
│ ├── UserPromptSubmit/
|
|
116
|
+
│ ├── PermissionRequest/
|
|
117
|
+
│ └── Stop/
|
|
118
|
+
└── claude-plugin/ # Auto-created on first run
|
|
119
|
+
├── sounds/
|
|
120
|
+
│ └── play-random-sound.sh # Hook script
|
|
121
|
+
└── hooks/
|
|
122
|
+
└── hooks.json # Hook configuration
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Sound Events:**
|
|
126
|
+
- `SessionStart` - Plays when Claude Code starts
|
|
127
|
+
- `UserPromptSubmit` - Plays when you send a message
|
|
128
|
+
- `PermissionRequest` - Plays when Claude asks for clarification or permission
|
|
129
|
+
- `Stop` - Plays when Claude completes a task
|
|
130
|
+
|
|
131
|
+
**Adding Your Own Sounds:**
|
|
132
|
+
|
|
133
|
+
After installation, add WAV or MP3 files to these directories:
|
|
134
|
+
```bash
|
|
135
|
+
~/.codemie/sounds/SessionStart/ # Welcome sounds, greetings
|
|
136
|
+
~/.codemie/sounds/UserPromptSubmit/ # Acknowledgment sounds (e.g., "Roger")
|
|
137
|
+
~/.codemie/sounds/PermissionRequest/ # Question sounds (e.g., "Proceed?")
|
|
138
|
+
~/.codemie/sounds/Stop/ # Completion sounds (e.g., "Done")
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Popular Sound Packs:**
|
|
142
|
+
- Warcraft peon sounds (classic "Work work", "Yes milord")
|
|
143
|
+
- StarCraft unit acknowledgments
|
|
144
|
+
- Portal 2 GLaDOS quotes
|
|
145
|
+
|
|
146
|
+
**Where to download sounds:**
|
|
147
|
+
- https://x.com/delba_oliveira/status/2020515010985005255
|
|
148
|
+
|
|
149
|
+
**Troubleshooting:**
|
|
150
|
+
|
|
151
|
+
If sounds are not playing:
|
|
152
|
+
1. Verify audio player is installed: `which afplay` (macOS) or `which aplay` (Linux)
|
|
153
|
+
2. Check that sound files exist in `~/.codemie/sounds/<EventName>/`
|
|
154
|
+
3. Ensure sound files are in WAV or MP3 format
|
|
155
|
+
4. Check that `~/.codemie/claude-plugin/sounds/play-random-sound.sh` exists (created on first run)
|
|
156
|
+
5. If script is missing, remove `~/.codemie/claude-plugin/` directory and restart `codemie-claude`
|
|
157
|
+
|
|
158
|
+
**⚠️ WINDOWS USERS:**
|
|
159
|
+
|
|
160
|
+
After the first run of `codemie-claude`, you need to update the hooks configuration:
|
|
161
|
+
|
|
162
|
+
1. Edit `~/.codemie/claude-plugin/hooks/hooks.json`
|
|
163
|
+
2. Change all instances of `play-random-sound.sh` to `play-random-sound.ps1`
|
|
164
|
+
|
|
165
|
+
This is required because Windows uses PowerShell scripts (.ps1) instead of bash scripts (.sh).
|
|
166
|
+
|
|
167
|
+
To completely remove sounds:
|
|
168
|
+
```bash
|
|
169
|
+
rm -rf ~/.codemie/sounds
|
|
170
|
+
rm -rf ~/.codemie/claude-plugin
|
|
171
|
+
```
|
|
172
|
+
|
|
77
173
|
## Usage
|
|
78
174
|
|
|
79
175
|
Once loaded, the plugin automatically:
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// CodeMie Statusline - auto-generated by codemie-claude --status
|
|
3
|
+
// Shows: [Model] dir | branch / context bar % | $cost | duration
|
|
4
|
+
//
|
|
5
|
+
// NOTE: This file is deployed as a standalone script to ~/.claude/ and has no
|
|
6
|
+
// access to the CodeMie utils layer. Direct child_process and path imports are
|
|
7
|
+
// intentional here - this script runs independently without the project runtime.
|
|
8
|
+
import { execSync } from 'child_process';
|
|
9
|
+
import { basename } from 'path';
|
|
10
|
+
|
|
11
|
+
let input = '';
|
|
12
|
+
process.stdin.on('data', chunk => input += chunk);
|
|
13
|
+
process.stdin.on('end', () => {
|
|
14
|
+
try {
|
|
15
|
+
const data = JSON.parse(input);
|
|
16
|
+
const model = data.model?.display_name || 'Claude';
|
|
17
|
+
const dir = basename(data.workspace?.current_dir || process.cwd());
|
|
18
|
+
const cost = data.cost?.total_cost_usd || 0;
|
|
19
|
+
const pct = Math.floor(data.context_window?.used_percentage || 0);
|
|
20
|
+
const durationMs = data.cost?.total_duration_ms || 0;
|
|
21
|
+
|
|
22
|
+
const CYAN = '\x1b[36m', GREEN = '\x1b[32m', YELLOW = '\x1b[33m', RED = '\x1b[31m', RESET = '\x1b[0m';
|
|
23
|
+
|
|
24
|
+
const barColor = pct >= 90 ? RED : pct >= 70 ? YELLOW : GREEN;
|
|
25
|
+
const filled = Math.floor(pct / 10);
|
|
26
|
+
const bar = '█'.repeat(filled) + '░'.repeat(10 - filled);
|
|
27
|
+
|
|
28
|
+
const mins = Math.floor(durationMs / 60000);
|
|
29
|
+
const secs = Math.floor((durationMs % 60000) / 1000);
|
|
30
|
+
|
|
31
|
+
let branch = '';
|
|
32
|
+
try {
|
|
33
|
+
branch = execSync('git branch --show-current', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'ignore'] }).trim();
|
|
34
|
+
branch = branch ? ' | 🌿 ' + branch : '';
|
|
35
|
+
} catch {}
|
|
36
|
+
|
|
37
|
+
process.stdout.write(CYAN + '[' + model + ']' + RESET + ' 📁 ' + dir + branch + '\n');
|
|
38
|
+
process.stdout.write(barColor + bar + RESET + ' ' + pct + '% | ' + YELLOW + '$' + cost.toFixed(4) + RESET + ' | ⏱️ ' + mins + 'm ' + secs + 's\n');
|
|
39
|
+
} catch {
|
|
40
|
+
// Silent fail - statusline must never crash Claude Code
|
|
41
|
+
}
|
|
42
|
+
});
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "codemie hook",
|
|
10
10
|
"timeout": 5
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"type": "command",
|
|
14
|
+
"command": "~/.codemie/claude-plugin/sounds/play-random-sound.sh ~/.codemie/sounds/SessionStart"
|
|
11
15
|
}
|
|
12
16
|
]
|
|
13
17
|
}
|
|
@@ -30,6 +34,10 @@
|
|
|
30
34
|
"type": "command",
|
|
31
35
|
"command": "codemie hook",
|
|
32
36
|
"timeout": 2
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "command",
|
|
40
|
+
"command": "~/.codemie/claude-plugin/sounds/play-random-sound.sh ~/.codemie/sounds/PermissionRequest"
|
|
33
41
|
}
|
|
34
42
|
]
|
|
35
43
|
}
|
|
@@ -52,6 +60,10 @@
|
|
|
52
60
|
"type": "command",
|
|
53
61
|
"command": "codemie hook",
|
|
54
62
|
"timeout": 2
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "command",
|
|
66
|
+
"command": "~/.codemie/claude-plugin/sounds/play-random-sound.sh ~/.codemie/sounds/Stop"
|
|
55
67
|
}
|
|
56
68
|
]
|
|
57
69
|
}
|
|
@@ -63,6 +75,10 @@
|
|
|
63
75
|
"type": "command",
|
|
64
76
|
"command": "codemie hook",
|
|
65
77
|
"timeout": 2
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "command",
|
|
81
|
+
"command": "~/.codemie/claude-plugin/sounds/play-random-sound.sh ~/.codemie/sounds/UserPromptSubmit"
|
|
66
82
|
}
|
|
67
83
|
]
|
|
68
84
|
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# play-random-sound.ps1
|
|
2
|
+
# Plays a random WAV or MP3 file from the specified directory (Windows)
|
|
3
|
+
# Usage: .\play-random-sound.ps1 <directory>
|
|
4
|
+
|
|
5
|
+
param(
|
|
6
|
+
[Parameter(Mandatory=$true, Position=0)]
|
|
7
|
+
[string]$Directory
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
# Set error action preference to stop on errors
|
|
11
|
+
$ErrorActionPreference = "Stop"
|
|
12
|
+
|
|
13
|
+
# Expand environment variables in the path (e.g., %USERPROFILE%)
|
|
14
|
+
$SoundDir = [System.Environment]::ExpandEnvironmentVariables($Directory)
|
|
15
|
+
|
|
16
|
+
# Check if directory exists - exit silently if not found
|
|
17
|
+
if (-not (Test-Path -Path $SoundDir -PathType Container)) {
|
|
18
|
+
exit 0
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
# Find all audio files (WAV and MP3)
|
|
22
|
+
$AudioFiles = Get-ChildItem -Path $SoundDir -File -Include *.wav,*.mp3 -ErrorAction SilentlyContinue
|
|
23
|
+
|
|
24
|
+
# Check if any audio files were found
|
|
25
|
+
if ($AudioFiles.Count -eq 0) {
|
|
26
|
+
exit 0
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
# Select a random file
|
|
30
|
+
$SelectedFile = $AudioFiles | Get-Random
|
|
31
|
+
|
|
32
|
+
# Function to play audio using mpg123 (if available)
|
|
33
|
+
function Play-WithMpg123 {
|
|
34
|
+
param([string]$FilePath)
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
$mpg123 = Get-Command mpg123 -ErrorAction Stop
|
|
38
|
+
Start-Process -FilePath $mpg123.Source -ArgumentList "-q", "`"$FilePath`"" -NoNewWindow -Wait:$false
|
|
39
|
+
return $true
|
|
40
|
+
} catch {
|
|
41
|
+
return $false
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
# Function to play audio using Windows Media Player COM
|
|
46
|
+
function Play-WithWMP {
|
|
47
|
+
param([string]$FilePath)
|
|
48
|
+
|
|
49
|
+
try {
|
|
50
|
+
$wmp = New-Object -ComObject WMPlayer.OCX
|
|
51
|
+
$wmp.URL = $FilePath
|
|
52
|
+
$wmp.controls.play()
|
|
53
|
+
|
|
54
|
+
# Start playback in background (don't wait for completion)
|
|
55
|
+
Start-Sleep -Milliseconds 500
|
|
56
|
+
return $true
|
|
57
|
+
} catch {
|
|
58
|
+
return $false
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
# Function to play audio using .NET SoundPlayer (WAV only)
|
|
63
|
+
function Play-WithSoundPlayer {
|
|
64
|
+
param([string]$FilePath)
|
|
65
|
+
|
|
66
|
+
# SoundPlayer only supports WAV files
|
|
67
|
+
if ($FilePath -notmatch '\.wav$') {
|
|
68
|
+
return $false
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
try {
|
|
72
|
+
Add-Type -AssemblyName System.Windows.Forms
|
|
73
|
+
$player = New-Object System.Media.SoundPlayer
|
|
74
|
+
$player.SoundLocation = $FilePath
|
|
75
|
+
$player.PlaySync() # Play asynchronously
|
|
76
|
+
|
|
77
|
+
# Start in background job to avoid blocking
|
|
78
|
+
Start-Job -ScriptBlock {
|
|
79
|
+
param($path)
|
|
80
|
+
Add-Type -AssemblyName System.Windows.Forms
|
|
81
|
+
$p = New-Object System.Media.SoundPlayer
|
|
82
|
+
$p.SoundLocation = $path
|
|
83
|
+
$p.PlaySync()
|
|
84
|
+
} -ArgumentList $FilePath | Out-Null
|
|
85
|
+
|
|
86
|
+
return $true
|
|
87
|
+
} catch {
|
|
88
|
+
return $false
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
# Try audio players in order of preference
|
|
93
|
+
$played = $false
|
|
94
|
+
|
|
95
|
+
# 1. Try mpg123 (best option, cross-platform)
|
|
96
|
+
if (Play-WithMpg123 -FilePath $SelectedFile.FullName) {
|
|
97
|
+
$played = $true
|
|
98
|
+
}
|
|
99
|
+
# 2. Try Windows Media Player COM
|
|
100
|
+
elseif (Play-WithWMP -FilePath $SelectedFile.FullName) {
|
|
101
|
+
$played = $true
|
|
102
|
+
}
|
|
103
|
+
# 3. Try .NET SoundPlayer (WAV only)
|
|
104
|
+
elseif (Play-WithSoundPlayer -FilePath $SelectedFile.FullName) {
|
|
105
|
+
$played = $true
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (-not $played) {
|
|
109
|
+
exit 0
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
exit 0
|