#!/usr/bin/env bash # Pre-commit hook dispatcher. Runs modular checks from tooling/. # Installed via: git config core.hooksPath .config/hooks set -euo pipefail REPO_ROOT="$(git rev-parse --show-toplevel)" ERRORS=0 run_check() { local script="$1" local label="$2" if [ -x "$REPO_ROOT/$script" ]; then if ! "$REPO_ROOT/$script"; then ERRORS=$((ERRORS + 1)) fi else echo "pre-commit: WARNING — $label skipped ($script not found or not executable)" echo " Run 'make setup' or check that $script exists and is executable." fi } # --- Checks --- run_check "tooling/check-fact-ids" "fact_id validation" run_check "tooling/check-decision-ids" "decision ID duplication" if [ "$ERRORS" -gt 0 ]; then echo "" echo "pre-commit: $ERRORS check(s) failed. Commit aborted." exit 1 fi