Added SessionStart hook that adds $CLAUDE_PROJECT_DIR/target/release to PATH via CLAUDE_ENV_FILE. This makes `blue` available by name in all subsequent hooks. - .claude/hooks/session-start.sh: Sets PATH on session start - .claude/hooks/guard-write.sh: Now uses `blue` instead of full path - .claude/settings.json: Added SessionStart hook Requires Claude Code restart to take effect. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
14 lines
450 B
Bash
Executable file
14 lines
450 B
Bash
Executable file
#!/bin/bash
|
|
# PreToolUse hook for Write/Edit/MultiEdit - enforces RFC 0038 worktree protection
|
|
|
|
# Extract file_path directly with jq (recommended pattern - avoids cat hanging)
|
|
FILE_PATH=$(jq -r '.tool_input.file_path // empty')
|
|
|
|
# If no file_path, allow (shouldn't happen for Write/Edit)
|
|
if [ -z "$FILE_PATH" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Call blue guard with the extracted path
|
|
# RFC 0051: PATH is set by SessionStart hook
|
|
blue guard --path="$FILE_PATH"
|