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

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"

echo "=== Checking Rust formatting ==="
if cargo fmt --version &>/dev/null; then
  cargo fmt --manifest-path "$PROJECT_ROOT/Cargo.toml" --all --check
else
  echo "Skipping Rust formatting check (rustfmt not installed)"
fi

echo "=== Running cargo clippy ==="
cargo clippy --manifest-path "$PROJECT_ROOT/Cargo.toml" --all-targets --all-features -- -D warnings

if [ -d "$PROJECT_ROOT/frontend" ]; then
  echo "=== Running Biome lint ==="
  cd "$PROJECT_ROOT/frontend"
  npx @biomejs/biome check src/
else
  echo "Skipping Biome lint (no frontend directory)"
fi
