d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
3.5 KiB
3.5 KiB
description
| 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
- Identificar Cambios de Go: Encontrar archivos
.gomodificados mediantegit diff - Ejecutar Análisis Estático: Ejecutar
go vet,staticcheckygolangci-lint - Escaneo de Seguridad: Verificar inyección SQL, inyección de comandos, condiciones de carrera
- Revisión de Concurrencia: Analizar seguridad de goroutines, uso de canales, patrones de mutex
- Verificación de Go Idiomático: Verificar que el código sigue las convenciones y mejores prácticas de Go
- 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
# 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
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-testprimero para asegurarse de que las pruebas pasen - Usar
/go-buildsi ocurren errores de build - Usar
/go-reviewantes de hacer commit - Usar
/code-reviewpara preocupaciones no específicas de Go
Relacionado
- Agente:
agents/go-reviewer.md - Skills:
skills/golang-patterns/,skills/golang-testing/