#!/usr/bin/env bash set -e BUILD_DIR="build" echo "Running clang-format..." FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(cpp|hpp)$' || true) if [ -z "$FILES" ]; then echo "No C/C++ files to check" exit 0 fi git diff -U0 --cached | \ python3 <(curl -s https://raw.githubusercontent.com/llvm/llvm-project/refs/heads/main/clang/tools/clang-format/clang-format-diff.py) -p1 -i echo "Running clang-tidy..." for file in $FILES; do clang-tidy \ "$file" \ -p "$BUILD_DIR" done echo "pre-commit checks passed"