#!/usr/bin/env bash
set -euo pipefail

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

echo "[pre-commit] cargo fmt --check"
cargo fmt -- --check

echo "[pre-commit] cargo clippy --all-targets --all-features -D warnings"
cargo clippy --all-targets --all-features -- -D warnings

echo "[pre-commit] cargo test"
cargo test --all-targets

if command -v semgrep >/dev/null 2>&1; then
  echo "[pre-commit] semgrep (.semgrep.yaml)"
  semgrep \
    --config .semgrep.yaml \
    --error --metrics=off \
    --exclude target --exclude lancedb --exclude .lancedb --exclude .fastembed_cache
else
  echo "[pre-commit] semgrep not installed; skipping (install via 'pipx install semgrep')."
fi

echo "[pre-commit] done"
