npx claudepluginhub liafonx/open-balatro --plugin balatro-mod-devDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/stop-check.js\"",
"timeout": 10
}
],
"matcher": "*"
}
],
"PreCompact": [
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/pre-compact.js\"",
"timeout": 10
}
],
"matcher": "*"
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/protected-file-check.js\"",
"timeout": 5
},
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/suggest-compact.js\"",
"timeout": 5
}
],
"matcher": "Write|Edit|Replace"
},
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/block-external-reads.js\"",
"timeout": 5
}
],
"matcher": "Read|Grep|Glob"
},
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/enforce-task-model.js\"",
"timeout": 5
}
],
"matcher": "Task"
}
],
"SessionEnd": [
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/session-end.js\"",
"timeout": 15
}
],
"matcher": "*"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/post-write-config-suggest.js\"",
"timeout": 5
}
],
"matcher": "Write"
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/session-start.js\"",
"timeout": 10
}
],
"matcher": "*"
}
]
}"{\"riskFlags\": {\"touchesBash\": false, \"matchAllTools\": false, \"touchesFileWrites\": true}, \"typeStats\": {\"command\": 9}, \"eventStats\": {\"Stop\": 1, \"PreCompact\": 1, \"PreToolUse\": 4, \"SessionEnd\": 1, \"PostToolUse\": 1, \"SessionStart\": 1}, \"originCounts\": {\"absolutePaths\": 0, \"pluginScripts\": 9, \"projectScripts\": 0}, \"timeoutStats\": {\"commandsWithoutTimeout\": 0}}"