#!/usr/bin/env python3
"""
Git pre-commit hook — 在提交前强制运行 SKILL 静态一致性检查。
安装方式：复制或软链接到 .git/hooks/pre-commit
  Windows: copy .opencode\skills\skill-tester\hooks\pre-commit .git\hooks\pre-commit
  Unix:    ln -sf ../../.opencode/skills/skill-tester/hooks/pre-commit .git/hooks/pre-commit
"""

import subprocess
import sys
from pathlib import Path

SCRIPT = Path(__file__).resolve().parent.parent / "static-checks" / "run.py"

# 检查是否有 .opencode/skills/ 下的文件被 staged
result = subprocess.run(
    ["git", "diff", "--cached", "--name-only", "--", ".opencode/skills/"],
    capture_output=True, text=True
)
staged = [f for f in result.stdout.strip().split("\n") if f]

if not staged:
    print("[pre-commit] 无 Skill 文件变更，跳过静态检查")
    sys.exit(0)

print(f"[pre-commit] 检测到 {len(staged)} 个 Skill 文件变更，运行 Layer 1 静态检查...\n")
result = subprocess.run([sys.executable, str(SCRIPT)])
sys.exit(result.returncode)
