182 lines
5.7 KiB
JSON
182 lines
5.7 KiB
JSON
{
|
|
"description": "Sound Notifications - Audio alerts for Claude Code hook events",
|
|
"version": "1.4.4",
|
|
"author": "Dev GOM",
|
|
"lastUpdated": "2025-11-03",
|
|
"hooks": {
|
|
"SessionStart": [
|
|
{
|
|
"description": "Initialize plugin configuration at session start",
|
|
"priority": 100,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/init-config.js",
|
|
"description": "Creates default configuration file if it doesn't exist",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Play session start sound notification",
|
|
"priority": 90,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType SessionStart",
|
|
"description": "Plays sound when session starts (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SessionEnd": [
|
|
{
|
|
"description": "Update hooks configuration for next session",
|
|
"priority": 100,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/update-hooks-config.js",
|
|
"description": "Updates hooks.json based on user configuration",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Play session end sound notification",
|
|
"priority": 50,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType SessionEnd",
|
|
"description": "Plays sound when session ends (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreToolUse": [
|
|
{
|
|
"description": "Play pre-tool-use sound notification",
|
|
"matcher": ".*",
|
|
"priority": 40,
|
|
"enabled": false,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType PreToolUse",
|
|
"description": "Plays sound before tool execution (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"description": "Play post-tool-use sound notification",
|
|
"matcher": ".*",
|
|
"priority": 40,
|
|
"enabled": false,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType PostToolUse",
|
|
"description": "Plays sound after tool execution (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Notification": [
|
|
{
|
|
"description": "Play notification sound",
|
|
"priority": 100,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType Notification",
|
|
"description": "Plays sound when notification occurs (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"UserPromptSubmit": [
|
|
{
|
|
"description": "Play user prompt submit sound notification",
|
|
"priority": 50,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType UserPromptSubmit",
|
|
"description": "Plays sound when user submits a prompt (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"description": "Play stop sound notification",
|
|
"priority": 50,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType Stop",
|
|
"description": "Plays sound when agent stops responding (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SubagentStop": [
|
|
{
|
|
"description": "Play subagent stop sound notification",
|
|
"priority": 50,
|
|
"enabled": false,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType SubagentStop",
|
|
"description": "Plays sound when subagent task completes (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreCompact": [
|
|
{
|
|
"description": "Play pre-compact sound notification",
|
|
"priority": 50,
|
|
"enabled": true,
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "node ${CLAUDE_PLUGIN_ROOT}/scripts/sound-hook-executor.js -HookType PreCompact",
|
|
"description": "Plays sound before context compaction (Node.js wrapper with lock mechanism)",
|
|
"continueOnError": true,
|
|
"suppressOutput": true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
} |