#!/bin/sh
# Pre-commit hook: run ruff check and format on staged Python files
# Install: cp scripts/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit

STAGED_PY=$(git diff --cached --name-only --diff-filter=ACM | grep '\.py$')

if [ -z "$STAGED_PY" ]; then
    exit 0
fi

echo "🔍 Running ruff check..."
uv run ruff check $STAGED_PY --fix --quiet 2>/dev/null
if [ $? -ne 0 ]; then
    echo "❌ Ruff check failed. Fix errors and try again."
    exit 1
fi

echo "🎨 Running ruff format..."
uv run ruff format $STAGED_PY --quiet 2>/dev/null
if [ $? -ne 0 ]; then
    echo "❌ Ruff format failed."
    exit 1
fi

# Re-stage any auto-fixed files
git add $STAGED_PY

echo "✅ Ruff passed"
exit 0
