install-hooks.sh 587 B

1234567891011121314151617181920212223242526
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. # Self-installing git hooks for qmd
  4. # Called from package.json "prepare" script after bun install / npm install
  5. REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
  6. HOOKS_DIR="$REPO_ROOT/.git/hooks"
  7. if [[ ! -d "$HOOKS_DIR" ]]; then
  8. echo "Not a git repository, skipping hook install"
  9. exit 0
  10. fi
  11. INSTALLED=()
  12. for hook in pre-commit pre-push; do
  13. src="$REPO_ROOT/scripts/$hook"
  14. if [[ -f "$src" ]]; then
  15. cp "$src" "$HOOKS_DIR/$hook"
  16. chmod +x "$HOOKS_DIR/$hook"
  17. INSTALLED+=("$hook")
  18. fi
  19. done
  20. echo "Installed git hooks: ${INSTALLED[*]}"