#!/bin/bash
# Script de instalación de git hooks para desarrollo de Orni Attack
# Copia los hooks desde tools/hooks/ a .git/hooks/ y los hace ejecutables

set -e

# Obtener raíz del repositorio
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || echo ".")

# Colores para output
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "🔧 Instalando Git Hooks para Orni Attack"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""

# Verificar que estamos en un repositorio git
if [ ! -d "$REPO_ROOT/.git" ]; then
    echo "❌ Error: No se encontró el directorio .git"
    echo "   Ejecuta este script desde la raíz del repositorio"
    exit 1
fi

# Verificar que existe el directorio de hooks versionados
if [ ! -d "$REPO_ROOT/tools/hooks" ]; then
    echo "❌ Error: No se encontró el directorio tools/hooks/"
    exit 1
fi

# Instalar pre-commit hook
if [ -f "$REPO_ROOT/tools/hooks/pre-commit" ]; then
    echo "📦 Instalando pre-commit hook..."
    cp "$REPO_ROOT/tools/hooks/pre-commit" "$REPO_ROOT/.git/hooks/pre-commit"
    chmod +x "$REPO_ROOT/.git/hooks/pre-commit"
    echo -e "   ${GREEN}✅ pre-commit instalado${NC}"
else
    echo -e "   ${YELLOW}⚠️  pre-commit no encontrado, saltando...${NC}"
fi

echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo -e "${GREEN}✅ Instalación completada${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "📋 Hooks instalados:"
echo "   • pre-commit: Ejecuta clang-format + clang-tidy en cada commit"
echo ""
echo "💡 Próximos pasos:"
echo "   1. Haz cambios en el código"
echo "   2. git add <archivos>"
echo "   3. git commit -m \"mensaje\""
echo "   4. El hook verificará automáticamente tu código"
echo ""
echo "⚙️  Para desinstalar:"
echo "   rm .git/hooks/pre-commit"
echo ""

exit 0
