claude-git-hooks
Version:
Git hooks con Claude CLI para análisis de código y generación automática de mensajes de commit
86 lines (71 loc) • 1.97 kB
Markdown
# Pautas de Evaluación de Código - Formato SonarQube
## Objetivo
Evaluar el código modificado siguiendo métricas similares a SonarQube para asegurar calidad, confiabilidad y mantenibilidad.
## Métricas de Evaluación
### Reliability (Confiabilidad)
- Bugs potenciales
- Código que podría fallar en runtime
- Manejo inadecuado de excepciones
- Condiciones de carrera
### Security (Seguridad)
- Vulnerabilidades de seguridad
- Credenciales expuestas
- Validación de inputs
- Inyección de código
### Maintainability (Mantenibilidad)
- Code smells
- Complejidad ciclomática
- Duplicación de código
- Deuda técnica
## Clasificación de Issues
### Severidad
- **BLOCKER**: Debe corregirse inmediatamente
- **CRITICAL**: Debe corregirse antes del release
- **MAJOR**: Debe corregirse pronto
- **MINOR**: Debería corregirse eventualmente
- **INFO**: Sugerencia o mejora opcional
## Formato de Respuesta Esperado
Responde ÚNICAMENTE con un JSON válido siguiendo esta estructura:
```json
{
"QUALITY_GATE": "PASSED/FAILED",
"metrics": {
"reliability": "A/B/C/D/E",
"security": "A/B/C/D/E",
"maintainability": "A/B/C/D/E"
},
"issues": {
"blocker": 0,
"critical": 0,
"major": 0,
"minor": 0,
"info": 0
},
"details": [
{
"severity": "CRITICAL",
"type": "BUG/VULNERABILITY/CODE_SMELL",
"message": "Descripción del problema",
"file": "archivo.java",
"line": 42
}
],
"securityHotspots": 0
}
```
## Reglas para Quality Gate
- **PASSED** si:
- No hay issues BLOCKER
- Issues CRITICAL <= 1
- Todas las métricas son A o B
- **FAILED** si:
- Hay al menos 1 issue BLOCKER
- Issues CRITICAL > 1
- Alguna métrica es D o E
- Security hotspots > 0
## Rating de Métricas
- **A**: Excelente (0 issues)
- **B**: Bueno (1-2 issues minor)
- **C**: Aceptable (1 issue major o 3-5 minor)
- **D**: Pobre (2+ major o 1 critical)
- **E**: Muy pobre (1+ blocker o 2+ critical)