Cap 5: Revisión de Commits
Por qué revisar código de IA
Los agentes de IA generan código funcional, pero no siempre generan código correcto, seguro o mantenible. Revisar los diffs antes de hacer merge es una práctica esencial. Orca integra herramientas de revisión directamente en la UI para que este proceso sea fluido.
El Diff Viewer
El Diff Viewer de Orca muestra los cambios de cada worktree/agente de forma visual. Accede con Ctrl/Cmd + D o desde la sidebar en la sección del worktree.
Vistas disponibles
- Side by side: muestra el archivo original y el modificado lado a lado
- Unified: muestra los cambios en una sola columna con marcas de adición/eliminación
- Por archivo: navega entre archivos modificados con la lista lateral
- Por commit: agrupa cambios por commit del agente
Navegar entre cambios
| Atajo | Acción |
|---|---|
] | Siguiente cambio (hunk) |
[ | Cambio anterior |
Shift + ] | Siguiente archivo |
Shift + [ | Archivo anterior |
Enter | Abrir archivo en editor |
Flujo de revisión
El flujo recomendado para revisar código generado por agentes:
flowchart TD
A[Agente completa tarea] --> B[Abrir Diff Viewer]
B --> C{Revisar cada archivo}
C -->|OK| D[Aprobar]
C -->|Necesita cambios| E[Editar en el editor]
E --> F[Commit de la edición]
F --> C
D --> G{Todos los archivos revisados?}
G -->|No| C
G -->|Sí| H[Merge a main]
1. Revisar los diffs
Abre el Diff Viewer para el worktree del agente. Revisa archivo por archivo, prestando atención a:
- Seguridad: inputs sin validar, secrets hardcodeados, SQL injection
- Lógica: errores en condiciones, edge cases no manejados
- Tipos:
anyen TypeScript, casteos inseguros - Performance: queries N+1, re-renders innecesarios, loops ineficientes
- Estilo: consistencia con el codebase existente
2. Editar cambios
Si encuentras algo que corregir, haz click en el archivo para abrirlo en el editor. Edita directamente en el worktree del agente. Tus cambios se suman a los del agente.
# También puedes pedir al agente que corrija
# Desde la terminal del agente:
"Corrige el SQL injection en src/api/users.ts línea 45"
3. Staging selectivo
No siempre quieres hacer commit de todos los cambios. Orca permite staging selectivo:
- Por archivo: checkbox junto a cada archivo en el Git Panel
- Por hunk: click derecho en un cambio > “Stage this hunk”
- Por línea: selecciona líneas específicas > “Stage selected lines”
4. Hacer commit
Desde el Git Panel o la terminal:
# Orca hace commit en el worktree del agente
orca commit --worktree feat-auth -m "feat: implementa login con JWT"
# O usa el Git Panel de la UI con el campo de mensaje
Comparar entre worktrees
Orca permite comparar cambios entre dos worktrees diferentes. Esto es útil cuando dos agentes tocaron archivos relacionados:
orca diff feat-auth fix-api
La UI muestra un diff de tres vías: main, worktree A y worktree B.
Historial de cambios del agente
Cada agente genera un log de sus acciones. Orca lo muestra en el panel de historial:
[14:30:01] Claude Code (feat/auth)
- Leyó src/auth/login.ts
- Editó src/auth/login.ts (+45 -12)
- Creó src/auth/jwt.ts (+89)
- Ejecutó: bun test src/auth/
- Tests: 12 passed, 0 failed
- Commit: feat: add JWT authentication
Revertir cambios
Si un agente generó cambios inaceptables, puedes revertir:
Revertir un commit específico
# En el worktree del agente
git revert <commit-hash>
Descartar todos los cambios del agente
# Eliminar el worktree completo
orca worktree remove feat-auth --force
Revertir cambios parciales
Desde el Diff Viewer, haz click derecho en un hunk > “Revert this change”.
Merge a main
Una vez aprobados los cambios:
# Desde Orca CLI
orca merge feat-auth
# Equivalente a:
git checkout main
git merge feat/auth
git worktree remove ../proyecto-wt/feat-auth
git branch -d feat/auth
Orca ejecuta el merge, limpia el worktree y el branch en un solo comando.
Resolver conflictos de merge
Si hay conflictos al hacer merge, Orca abre el editor de conflictos:
flowchart LR
M[Merge] -->|conflicto| C[Editor de conflictos]
C --> R1[Aceptar incoming]
C --> R2[Aceptar current]
C --> R3[Editar manualmente]
R1 --> D[Commit de merge]
R2 --> D
R3 --> D
Buenas prácticas de revisión
- Revisa siempre: nunca hagas merge sin revisar, sin importar cuánto confíes en el agente
- Tests primero: ejecuta los tests del worktree antes de aprobar
- Commits atómicos: si el agente hizo un commit gigante, considera dividirlo
- Documenta el review: usa los comentarios de commit para explicar qué revisaste
- Limpia después del merge: Orca limpia automáticamente si usas
orca merge