settings.json
1 { 2 "$schema": "https://json.schemastore.org/claude-code-settings.json", 3 "statusLine": { 4 "type": "command", 5 "command": "$CLAUDE_PROJECT_DIR/.claude/scripts/statusline.sh" 6 }, 7 "hooks": { 8 "PreToolUse": [ 9 { 10 "matcher": "Bash", 11 "hooks": [ 12 { 13 "type": "command", 14 "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/enforce-uv.sh", 15 "timeout": 5.0 16 }, 17 { 18 "type": "command", 19 "command": "uv run --directory=$CLAUDE_PROJECT_DIR --no-project .claude/hooks/validate_pr_body.py", 20 "timeout": 5.0 21 } 22 ] 23 } 24 ], 25 "PostToolUse": [ 26 { 27 "matcher": "Edit|Write", 28 "hooks": [ 29 { 30 "type": "command", 31 "command": "uv run --directory=$CLAUDE_PROJECT_DIR --no-project .claude/hooks/lint.py", 32 "timeout": 10.0 33 } 34 ] 35 } 36 ] 37 } 38 }