.claude/settings.json
|
{ "$schema": "https://json.schemastore.org/claude-code-settings.json", "hooks": { "PreToolUse": [ { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-write-style.sh", "timeout": 20, "statusMessage": "Checking dbatools style..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-edit-read-check.sh", "timeout": 10, "statusMessage": "Checking Read-before-Edit..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-write-snapshot-baseline.sh", "timeout": 10, "statusMessage": "Snapshotting pre-write baseline..." } ] }, { "matcher": "Bash", "hooks": [ { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-bash-guard.sh", "timeout": 10, "statusMessage": "Checking for destructive commands..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-bash-commit-do.sh", "timeout": 10, "statusMessage": "Checking commit message (do ...) pattern..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/pre-bash-pwsh-script.sh", "timeout": 10, "statusMessage": "Checking inline PowerShell usage..." } ] } ], "PostToolUse": [ { "matcher": "Read", "hooks": [ { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/post-read-track.sh", "timeout": 10, "statusMessage": "Tracking Read for Read-before-Edit..." } ] }, { "matcher": "Edit|Write", "hooks": [ { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/post-write-track-session-files.sh", "timeout": 10, "statusMessage": "Tracking session writes..." } ] } ], "SessionStart": [ { "matcher": "compact|resume", "hooks": [ { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/session-compact-reset-reads.sh", "timeout": 10, "statusMessage": "Resetting Read tracker post-compaction..." } ] } ], "Stop": [ { "hooks": [ { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/stop-registration-check.sh", "timeout": 15, "statusMessage": "Checking psd1/psm1 registration for new commands..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/stop-todo-report.sh", "timeout": 15, "statusMessage": "Scanning changed files for TODO/FIXME..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/stop-no-deflection.sh", "timeout": 15, "statusMessage": "Checking for deflection language..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/stop-verify.sh", "timeout": 15, "statusMessage": "Quality gate checklist..." }, { "type": "command", "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/stop-codex-review.sh", "timeout": 660, "statusMessage": "Running codex auto-review — tail -f ~/.codex-review.live.log to watch" } ] } ] } } |