npx claudepluginhub nairon-ai/flux --plugin fluxDefined in hooks/hooks.json
{
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "[ ! -f scripts/ralph/hooks/ralph-guard.py ] || scripts/ralph/hooks/ralph-guard.py",
"timeout": 5
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"type": "command",
"command": "PLUGIN_ROOT=\"${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}\"; [ -z \"$PLUGIN_ROOT\" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1); [ -f \"$PLUGIN_ROOT/hooks/flux-config-route.py\" ] && \"$PLUGIN_ROOT/hooks/flux-config-route.py\" || true",
"timeout": 5
}
],
"matcher": "Bash|Execute|Read|Edit|Write"
},
{
"hooks": [
{
"type": "command",
"command": "[ ! -f scripts/ralph/hooks/ralph-guard.py ] || scripts/ralph/hooks/ralph-guard.py",
"timeout": 5
}
],
"matcher": "Bash|Execute"
},
{
"hooks": [
{
"type": "command",
"command": "[ ! -f scripts/ralph/hooks/ralph-guard.py ] || scripts/ralph/hooks/ralph-guard.py",
"timeout": 5
}
],
"matcher": "Edit|Write"
}
],
"PostToolUse": [
{
"hooks": [
{
"type": "command",
"command": "[ ! -f scripts/ralph/hooks/ralph-guard.py ] || scripts/ralph/hooks/ralph-guard.py",
"timeout": 5
}
],
"matcher": "Bash|Execute"
},
{
"hooks": [
{
"type": "command",
"command": "PLUGIN_ROOT=\"${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}\"; [ -z \"$PLUGIN_ROOT\" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1); [ -f \"$PLUGIN_ROOT/hooks/auto-index-brain.sh\" ] && \"$PLUGIN_ROOT/hooks/auto-index-brain.sh\" || true",
"timeout": 5
}
],
"matcher": "brain/"
}
],
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "PLUGIN_ROOT=\"${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}\"; [ -z \"$PLUGIN_ROOT\" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1); [ -f \"$PLUGIN_ROOT/hooks/inject-brain.sh\" ] && \"$PLUGIN_ROOT/hooks/inject-brain.sh\" || true",
"timeout": 5
},
{
"type": "command",
"command": "PLUGIN_ROOT=\"${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}\"; [ -z \"$PLUGIN_ROOT\" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1); [ -f \"$PLUGIN_ROOT/hooks/recommendation-pulse.sh\" ] && \"$PLUGIN_ROOT/hooks/recommendation-pulse.sh\" || true",
"timeout": 10
}
],
"matcher": "startup|resume"
}
],
"SubagentStop": [
{
"hooks": [
{
"type": "command",
"command": "[ ! -f scripts/ralph/hooks/ralph-guard.py ] || scripts/ralph/hooks/ralph-guard.py",
"timeout": 5
}
]
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": "PLUGIN_ROOT=\"${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}\"; [ -z \"$PLUGIN_ROOT\" ] && PLUGIN_ROOT=$(ls -td ~/.claude/plugins/cache/nairon-flux/flux/*/ 2>/dev/null | head -1); [ -f \"$PLUGIN_ROOT/hooks/flux-config-route.py\" ] && \"$PLUGIN_ROOT/hooks/flux-config-route.py\" || true",
"timeout": 5
}
]
}
]
}"{\"riskFlags\": {\"touchesBash\": true, \"matchAllTools\": false, \"touchesFileWrites\": true}, \"typeStats\": {\"command\": 10}, \"eventStats\": {\"Stop\": 1, \"PreToolUse\": 3, \"PostToolUse\": 2, \"SessionStart\": 2, \"SubagentStop\": 1, \"UserPromptSubmit\": 1}, \"originCounts\": {\"absolutePaths\": 0, \"pluginScripts\": 5, \"projectScripts\": 0}, \"timeoutStats\": {\"commandsWithoutTimeout\": 0}}"