claude-git-hooks
Version:
Git hooks con Claude CLI para análisis de código y generación automática de mensajes de commit
62 lines (49 loc) • 1.99 kB
Markdown
# Pautas de Evaluación de Código - Claude Pre-commit Hook
## Objetivo
Evaluar el código modificado antes del commit para asegurar calidad, mantenibilidad y adherencia a buenas prácticas.
## Criterios de Evaluación
### 1. Calidad del Código (40%)
- **Claridad y legibilidad**: El código es fácil de entender
- **Nombres descriptivos**: Variables, métodos y clases tienen nombres significativos
- **Estructura lógica**: El código está bien organizado
- **Principio DRY**: No hay duplicación innecesaria
- **Complejidad**: Funciones y métodos no son excesivamente complejos
### 2. Buenas Prácticas (30%)
- **SOLID principles**: Adherencia cuando aplique
- **Patrones de diseño**: Uso apropiado cuando sea necesario
- **Manejo de errores**: Excepciones manejadas correctamente
- **Validación de inputs**: Datos de entrada validados
- **Separación de concerns**: Responsabilidades bien definidas
### 3. Seguridad (20%)
- **No hay credenciales hardcodeadas**
- **Validación de datos de usuario**
- **No hay vulnerabilidades obvias** (SQL injection, XSS, etc.)
- **Manejo seguro de datos sensibles**
### 4. Performance (10%)
- **No hay operaciones obviamente ineficientes**
- **Uso apropiado de estructuras de datos**
- **Queries optimizadas** (cuando aplique)
## Formato de Respuesta Esperado
Responde ÚNICAMENTE con un JSON válido siguiendo esta estructura:
```json
{
"approved": true/false,
"score": 8,
"recommendations": [
"Sugerencia 1",
"Sugerencia 2"
],
"blockingIssues": [
"Problema crítico 1 (si existe)"
]
}
```
## Reglas de Aprobación
- **approved = true** si score >= 7 Y no hay blockingIssues
- **approved = false** si score < 7 O hay blockingIssues
## Problemas que SIEMPRE son Blocking Issues
1. Credenciales o tokens hardcodeados
2. Vulnerabilidades de seguridad evidentes
3. Código que podría causar pérdida de datos
4. Errores de sintaxis o código que no compilaría
5. Eliminación de tests sin justificación