160 lines
3.3 KiB
JSON
160 lines
3.3 KiB
JSON
{
|
|
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
"statusLine": {
|
|
"type": "command",
|
|
"command": "bash .claude/statusline.sh"
|
|
},
|
|
"permissions": {
|
|
"allow": [
|
|
"Bash(git status*)",
|
|
"Bash(git diff*)",
|
|
"Bash(git log*)",
|
|
"Bash(git branch*)",
|
|
"Bash(git rev-parse*)",
|
|
"Bash(ls *)",
|
|
"Bash(dir *)",
|
|
"Bash(python -m json.tool*)",
|
|
"Bash(python -m pytest*)",
|
|
"Bash(py -m pytest*)"
|
|
],
|
|
"deny": [
|
|
"Bash(rm -rf *)",
|
|
"Bash(git push --force*)",
|
|
"Bash(git push -f *)",
|
|
"Bash(git reset --hard*)",
|
|
"Bash(git clean -f*)",
|
|
"Bash(sudo *)",
|
|
"Bash(chmod 777*)",
|
|
"Bash(*>.env*)",
|
|
"Bash(cat *.env*)",
|
|
"Bash(type *.env*)",
|
|
"Read(**/.env*)"
|
|
]
|
|
},
|
|
"hooks": {
|
|
"SessionStart": [
|
|
{
|
|
"matcher": "",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/session-start.sh",
|
|
"timeout": 10
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/detect-gaps.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/validate-commit.sh",
|
|
"timeout": 15
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/validate-push.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostToolUse": [
|
|
{
|
|
"matcher": "Write|Edit",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/validate-assets.sh",
|
|
"timeout": 10
|
|
},
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/validate-skill-change.sh",
|
|
"timeout": 5
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Notification": [
|
|
{
|
|
"matcher": "",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/notify.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PreCompact": [
|
|
{
|
|
"matcher": "",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/pre-compact.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PostCompact": [
|
|
{
|
|
"matcher": "",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/post-compact.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Stop": [
|
|
{
|
|
"matcher": "",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/session-stop.sh",
|
|
"timeout": 10
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SubagentStart": [
|
|
{
|
|
"matcher": "",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/log-agent.sh",
|
|
"timeout": 5
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"SubagentStop": [
|
|
{
|
|
"matcher": "",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "bash .claude/hooks/log-agent-stop.sh",
|
|
"timeout": 5
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|