Files
security-hooks/.claude/settings.json
2026-03-30 13:00:31 +02:00

76 lines
2.1 KiB
JSON

{
"allowedTools": [
"Bash(tmux *)",
"Bash(git worktree *)"
],
"enableAllProjectMcpServers": true,
"hooks": {
"PostToolUse": [
{
"hooks": [
{
"command": "HOOK=\"$(git rev-parse --show-toplevel 2>/dev/null)/.claude/hooks/post-edit-check.py\"; if [ -f \"$HOOK\" ]; then python3 \"$HOOK\"; else exit 0; fi",
"timeout": 5,
"type": "command"
}
],
"matcher": "Write|Edit"
},
{
"hooks": [
{
"command": "HOOK=\"$(git rev-parse --show-toplevel 2>/dev/null)/.claude/hooks/heartbeat.py\"; if [ -f \"$HOOK\" ]; then python3 \"$HOOK\"; else exit 0; fi",
"timeout": 3,
"type": "command"
}
]
}
],
"PreToolUse": [
{
"hooks": [
{
"command": "HOOK=\"$(git rev-parse --show-toplevel 2>/dev/null)/.claude/hooks/pre-web-check.py\"; if [ -f \"$HOOK\" ]; then python3 \"$HOOK\"; else exit 0; fi",
"timeout": 5,
"type": "command"
}
],
"matcher": "WebFetch|WebSearch"
},
{
"hooks": [
{
"command": "HOOK=\"$(git rev-parse --show-toplevel 2>/dev/null)/.claude/hooks/work-check.py\"; if [ -f \"$HOOK\" ]; then python3 \"$HOOK\"; else exit 0; fi",
"timeout": 3,
"type": "command"
}
],
"matcher": "Write|Edit|Bash"
}
],
"SessionStart": [
{
"hooks": [
{
"command": "HOOK=\"$(git rev-parse --show-toplevel 2>/dev/null)/.claude/hooks/session-start.py\"; if [ -f \"$HOOK\" ]; then python3 \"$HOOK\"; else exit 0; fi",
"timeout": 10,
"type": "command"
}
],
"matcher": "startup|resume"
}
],
"UserPromptSubmit": [
{
"hooks": [
{
"command": "HOOK=\"$(git rev-parse --show-toplevel 2>/dev/null)/.claude/hooks/prompt-guard.py\"; if [ -f \"$HOOK\" ]; then python3 \"$HOOK\"; else exit 0; fi",
"timeout": 5,
"type": "command"
}
]
}
]
}
}