#!/bin/bash # install-hooks — Symlink version-controlled hooks into .git/hooks/ # Usage: ./scripts/install-hooks # Example: ./scripts/install-hooks set -euo pipefail REPO_DIR="$(cd "$(dirname "$0")/.." && pwd)" HOOKS_SRC="${REPO_DIR}/scripts/hooks" HOOKS_DST="${REPO_DIR}/.git/hooks" for hook in "${HOOKS_SRC}"/*; do name="$(basename "${hook}")" target="${HOOKS_DST}/${name}" if [ -e "${target}" ] && [ ! -L "${target}" ]; then echo " skipping ${name}: non-symlink already exists at ${target}" continue fi ln -sf "${hook}" "${target}" echo " installed ${name}" done echo "==> Hooks installed."