#!/bin/sh
set -eu

HOOK_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
REPO_ROOT=$(CDPATH= cd -- "$HOOK_DIR/.." && pwd)
LOCAL_PYTHON="$REPO_ROOT/.venv/bin/python"
WINDOWS_PYTHON="$REPO_ROOT/.venv/Scripts/python.exe"

if [ -x "$LOCAL_PYTHON" ]; then
    PYTHON_BIN="$LOCAL_PYTHON"
elif [ -x "$WINDOWS_PYTHON" ]; then
    PYTHON_BIN="$WINDOWS_PYTHON"
elif command -v python3 >/dev/null 2>&1; then
    PYTHON_BIN=$(command -v python3)
elif command -v python >/dev/null 2>&1; then
    PYTHON_BIN=$(command -v python)
else
    echo "python not available, cannot run pre-commit hook"
    exit 1
fi

echo "▶ Running pre-commit hooks"
exec "$PYTHON_BIN" "$REPO_ROOT/scripts/run_repo_tool.py" pre-commit run --hook-stage commit
