mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-13 03:33:15 +08:00
Adds a complete Spanish translation of the ECC documentation under docs/es/, mirroring the Turkish (docs/tr/) translation in scope. 141 files covering agents, commands, rules, skills, contexts, examples, and core docs. Updates root README.md with the Spanish language link. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
125 lines
3.5 KiB
Markdown
125 lines
3.5 KiB
Markdown
---
|
|
description: Revisión de código Go completa para patrones idiomáticos, seguridad de concurrencia, manejo de errores y seguridad. Invoca al agente go-reviewer.
|
|
---
|
|
|
|
# Revisión de Código Go
|
|
|
|
Este comando invoca al agente **go-reviewer** para una revisión de código Go completa y específica.
|
|
|
|
## Qué Hace Este Comando
|
|
|
|
1. **Identificar Cambios de Go**: Encontrar archivos `.go` modificados mediante `git diff`
|
|
2. **Ejecutar Análisis Estático**: Ejecutar `go vet`, `staticcheck` y `golangci-lint`
|
|
3. **Escaneo de Seguridad**: Verificar inyección SQL, inyección de comandos, condiciones de carrera
|
|
4. **Revisión de Concurrencia**: Analizar seguridad de goroutines, uso de canales, patrones de mutex
|
|
5. **Verificación de Go Idiomático**: Verificar que el código sigue las convenciones y mejores prácticas de Go
|
|
6. **Generar Reporte**: Categorizar problemas por severidad
|
|
|
|
## Cuándo Usar
|
|
|
|
Usar `/go-review` cuando:
|
|
- Después de escribir o modificar código Go
|
|
- Antes de hacer commit de cambios de Go
|
|
- Al revisar pull requests con código Go
|
|
- Al incorporarse a una nueva base de código de Go
|
|
- Al aprender patrones idiomáticos de Go
|
|
|
|
## Categorías de Revisión
|
|
|
|
### CRÍTICO (Debe Corregirse)
|
|
- Vulnerabilidades de inyección SQL/comandos
|
|
- Condiciones de carrera sin sincronización
|
|
- Fugas de goroutines
|
|
- Credenciales hardcodeadas
|
|
- Uso de punteros inseguros
|
|
- Errores ignorados en rutas críticas
|
|
|
|
### ALTO (Debería Corregirse)
|
|
- Manejo de errores sin context
|
|
- Panic en lugar de retorno de errores
|
|
- Context no propagado
|
|
- Canales sin buffer causando deadlocks
|
|
- Errores de interfaz no satisfecha
|
|
- Protección de mutex faltante
|
|
|
|
### MEDIO (Considerar)
|
|
- Patrones de código no idiomáticos
|
|
- Comentarios godoc faltantes en exports
|
|
- Concatenación de strings ineficiente
|
|
- Slice no preasignado
|
|
- Pruebas table-driven no usadas
|
|
|
|
## Verificaciones Automáticas Ejecutadas
|
|
|
|
```bash
|
|
# Análisis estático
|
|
go vet ./...
|
|
|
|
# Verificaciones avanzadas (si están instaladas)
|
|
staticcheck ./...
|
|
golangci-lint run
|
|
|
|
# Detección de condiciones de carrera
|
|
go build -race ./...
|
|
|
|
# Vulnerabilidades de seguridad
|
|
govulncheck ./...
|
|
```
|
|
|
|
## Ejemplo de Uso
|
|
|
|
```text
|
|
Usuario: /go-review
|
|
|
|
Agente:
|
|
# Reporte de Revisión de Código Go
|
|
|
|
## Archivos Revisados
|
|
- internal/handler/user.go (modificado)
|
|
- internal/service/auth.go (modificado)
|
|
|
|
## Resultados del Análisis Estático
|
|
✓ go vet: Sin problemas
|
|
✓ staticcheck: Sin problemas
|
|
|
|
## Problemas Encontrados
|
|
|
|
[CRÍTICO] Condición de Carrera
|
|
Archivo: internal/service/auth.go:45
|
|
Problema: Mapa compartido accedido sin sincronización
|
|
Fix: Usar sync.RWMutex o sync.Map
|
|
|
|
[ALTO] Context de Error Faltante
|
|
Archivo: internal/handler/user.go:28
|
|
Problema: Error retornado sin context
|
|
Fix: Envolver con context
|
|
return fmt.Errorf("get user %s: %w", userID, err)
|
|
|
|
## Resumen
|
|
- CRÍTICO: 1
|
|
- ALTO: 1
|
|
- MEDIO: 0
|
|
|
|
Recomendación: FALLAR: Bloquear merge hasta que se corrija el problema CRÍTICO
|
|
```
|
|
|
|
## Criterios de Aprobación
|
|
|
|
| Estado | Condición |
|
|
|--------|-----------|
|
|
| PASAR: Aprobar | Sin problemas CRÍTICOS o ALTOS |
|
|
| ADVERTENCIA | Solo problemas MEDIOS (fusionar con precaución) |
|
|
| FALLAR: Bloquear | Problemas CRÍTICOS o ALTOS encontrados |
|
|
|
|
## Integración con Otros Comandos
|
|
|
|
- Usar `/go-test` primero para asegurarse de que las pruebas pasen
|
|
- Usar `/go-build` si ocurren errores de build
|
|
- Usar `/go-review` antes de hacer commit
|
|
- Usar `/code-review` para preocupaciones no específicas de Go
|
|
|
|
## Relacionado
|
|
|
|
- Agente: `agents/go-reviewer.md`
|
|
- Skills: `skills/golang-patterns/`, `skills/golang-testing/`
|