{ "$schema": "https://json.schemastore.org/claude-code-settings.json", "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/bash-guard.sh" }, { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/generator-first-nudge.sh" }, { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/library-policy-nudge.sh" } ] } ], "PostToolUse": [ { "matcher": "Edit|Write|MultiEdit", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/post-manifest-edit.sh" }, { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/library-policy-nudge.sh" } ] } ], "SessionStart": [ { "matcher": ".*", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/session-start.sh" } ] } ], "UserPromptSubmit": [ { "matcher": ".*", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/prompt-context.sh" } ] } ], "Stop": [ { "matcher": ".*", "hooks": [ { "type": "command", "command": "$CLAUDE_PROJECT_DIR/.claude/hooks/stop-check-manifest-tests.sh" } ] } ] } }