#!/bin/bash
# AI Code Review Hook — generated by commit-ai-guardian
# 此文件由 commit-ai-guardian install 自动生成，请勿手动修改

# === 定位仓库根目录 ===
# SCRIPT_DIR = .git/hooks/ 的绝对路径
# REPO_ROOT  = 往上退两级，到仓库根目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"

# === 跳过 merge/rebase 操作 ===
# pull 有冲突后解决冲突再 commit，属于 merge 状态
# 此时暂存区包含别人的代码，不应审核
if [ -f "$REPO_ROOT/.git/MERGE_HEAD" ]; then
    echo "[信息] 处于 merge 状态，跳过 AI 审核"
    exit 0
fi
if [ -d "$REPO_ROOT/.git/rebase-merge" ] || [ -d "$REPO_ROOT/.git/rebase-apply" ]; then
    echo "[信息] 处于 rebase 状态，跳过 AI 审核"
    exit 0
fi

# === 运行 AI 代码审核 ===
# 直接调用 commit-ai-guardian 命令（通过 uv tool install 已全局安装到 PATH）
# 不用 'python -m' 或 'uv run'，避免目标仓库的 Python 环境问题
commit-ai-guardian audit --repo "$REPO_ROOT"

# === 透传退出码 ===
# Python 返回 0 → commit 放行
# Python 返回 1 → commit 被阻断（AI 发现了严重问题）
EXIT_CODE=$?

if [ $EXIT_CODE -ne 0 ]; then
    echo ""
    echo "提示: 使用 git commit --no-verify 跳过 AI 审核（不推荐）"
    exit $EXIT_CODE   # ← 把退出码传给 Git，决定 commit 是否放行
fi

exit 0
