#!/usr/bin/env bash

set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
HOOKS_DIR="$ROOT_DIR/.git/hooks"
HOOK_PATH="$HOOKS_DIR/pre-commit"

if [[ ! -d "$ROOT_DIR/.git" ]]; then
    echo "Expected a Git repository at $ROOT_DIR/.git" >&2
    exit 1
fi

mkdir -p "$HOOKS_DIR"

cat >"$HOOK_PATH" <<'EOF'
#!/usr/bin/env bash

set -euo pipefail

ROOT_DIR="$(git rev-parse --show-toplevel)"
cd "$ROOT_DIR"

echo "[pre-commit] Running ./test.sh all"
./test.sh all
EOF

chmod +x "$HOOK_PATH"

echo "Installed pre-commit hook at $HOOK_PATH"
echo "The hook runs ./test.sh all before each commit."
