Mi configuración de terminal para programar con agentes de IA
Cómo uso Ghostty, Yazi, Fish y LazyGit para ejecutar múltiples agentes de IA en paralelo - un stack de terminal liviano para flujos de trabajo agénticos.
El cuello de botella en la programación asistida por IA ya no es el agente en sí. Herramientas como Claude Code, Aider y Codex CLI son notablemente capaces. La verdadera restricción es la capacidad humana para orquestar múltiples agentes trabajando en paralelo - supervisar sus salidas, corregirlos cuando se desvían y fusionar su trabajo.
Llegué a una configuración centrada en el terminal que hace esto manejable. Cuatro herramientas, todas livianas, todas componibles: Ghostty para el terminal, Yazi para navegación de archivos, Fish para el shell y LazyGit para operaciones Git. Acá explico por qué cada una se gana su lugar.
Por qué el terminal para programación agéntica
Los agentes de programación IA son nativos del CLI. Leen archivos, ejecutan comandos y producen salida en un terminal. Cuando quieres ejecutar tres agentes simultáneamente - uno desarrollando una funcionalidad, otro corrigiendo un bug, otro escribiendo tests - necesitas tres sesiones de shell lado a lado.
Un IDE puede hacerlo, pero tiene un costo. VS Code con múltiples terminales integradas, extensiones, servidores de lenguaje y el editor mismo puede consumir fácilmente 2-4 GB de RAM. Esa es memoria que tus agentes IA podrían usar. Cada token de contexto, cada llamada a la API, cada lectura de archivo compite por los mismos recursos del sistema.
Una configuración de terminal liviana invierte esta ecuación. Las herramientas que uso consumen colectivamente una fracción de lo que un solo editor basado en Electron demanda, dejando los recursos de la máquina disponibles para lo que importa: los agentes haciendo el trabajo real.
Ghostty - La base
Ghostty es un emulador de terminal acelerado por GPU que usa Metal en macOS y OpenGL en Linux. Está escrito en Zig, y es rápido - los benchmarks muestran un renderizado de texto plano unas 4 veces más rápido que iTerm2 y Kitty, manteniendo aproximadamente 60 fps incluso bajo carga pesada.
Para flujos de trabajo agénticos, la característica clave es la división nativa de paneles y las pestañas. No se necesita tmux. Ghostty maneja la división de paneles a nivel de aplicación, lo que significa renderizado fluido, escalado correcto de fuentes y cero ceremonia de configuración. Abrís una nueva división, iniciás un agente y ya están funcionando.
Mi disposición típica tiene cuatro paneles:
- Arriba a la izquierda: Claude Code trabajando en una rama de funcionalidad
- Arriba a la derecha: Un segundo agente en otra tarea
- Abajo a la izquierda: Yazi para monitorear cambios en archivos
- Abajo a la derecha: LazyGit para revisión y commits
Cuando un LLM transmite una respuesta larga en streaming, algunos terminales se traban con la salida rápida. El renderizado GPU de Ghostty maneja esto sin pérdida de cuadros ni retraso, algo que importa cuando estás supervisando múltiples flujos a la vez.
Yazi - Navegar mientras los agentes trabajan
Cuando tres agentes están modificando archivos en tu base de código, necesitás una forma rápida de ver qué está cambiando. Yazi es un administrador de archivos de terminal escrito en Rust con E/S completamente asíncrona. Cada operación es no bloqueante, así que navegar por un directorio grande nunca se congela mientras una vista previa de archivo se carga en segundo plano.
Mantengo Yazi abierto en un panel y lo uso para:
- Monitorear cambios en tiempo real mientras los agentes crean y modifican archivos
- Previsualizar archivos sin abrir un editor - Yazi muestra código con resaltado de sintaxis, imágenes e incluso PDFs directamente en la terminal
- Renombrado masivo cuando un agente genera archivos con convenciones de nombres que quiero ajustar
- Saltar rápidamente entre directorios usando marcadores y búsqueda
El sistema de plugins (basado en Lua) permite personalizar Yazi según tu flujo de trabajo. Uso algunos plugins para indicadores de estado Git y navegación rápida entre directorios, pero los valores por defecto ya son sólidos.
Fish Shell - Reducir la carga cognitiva
Cuando estás alternando entre cuatro paneles de terminal, cada uno ejecutando tareas diferentes, la carga cognitiva se acumula rápido. Le echás un vistazo a un panel y necesitás recordar qué estaba haciendo, reorientarte, escribir un comando y pasar al siguiente.
Fish reduce esta fricción con funcionalidades que funcionan desde el primer momento:
- Autosugerencias: Fish sugiere el resto de tu comando en texto gris basándose en el historial. Presionás la flecha derecha para aceptar. Sin plugins necesarios.
- Resaltado de sintaxis: Los comandos válidos aparecen en un color, los inválidos en otro. Detectás errores de tipeo antes de presionar Enter.
- Completado con Tab: Fish analiza las páginas man para generar completados automáticamente. Escribís un comando, presionás Tab y obtenés opciones contextuales.
La diferencia fundamental con zsh es cero configuración. No hay oh-my-zsh que instalar, no hay .zshrc que mantener, no hay administrador de plugins que actualizar. Fish funciona inmediatamente después de la instalación. Cuando estás concentrado en orquestar agentes, lo último que querés es debuggear la configuración de tu shell.
LazyGit - Desarrollo paralelo basado en worktrees
Acá es donde la configuración realmente brilla para el trabajo agéntico en paralelo. LazyGit es una interfaz de terminal para Git, y su soporte de worktrees hace que el desarrollo multi-agente sea práctico.
El patrón es directo: cada agente trabaja en un worktree Git separado. Un worktree es una copia vinculada de tu repositorio que hace checkout de una rama diferente en un directorio diferente. El agente A trabaja en ./feature-auth/ en la rama feat/auth. El agente B trabaja en ./fix-perf/ en la rama fix/performance. Nunca tocan los archivos del otro, así que no hay conflictos de merge durante el trabajo paralelo.
LazyGit hace que manejar este flujo de trabajo sea visual y rápido:
- Crear worktrees con una sola tecla (
w) - Cambiar entre worktrees para revisar lo que cada agente hizo
- Rebase interactivo para limpiar el historial de commits de un agente antes de mergear
- Diffs visuales para inspeccionar cambios entre ramas lado a lado
- Deshacer/Rehacer mediante integración con el reflog - si un agente produce algo inesperado, presionás
zpara retroceder
Sin una herramienta Git visual, manejar múltiples worktrees significa hacer malabares con comandos cd y salidas de git log entre directorios. LazyGit condensa todo eso en una única interfaz navegable.
Uniendo todo
Una sesión típica se ve así: abro Ghostty y lo divido en cuatro paneles. Creo dos worktrees con LazyGit - uno para una funcionalidad, otro para una corrección de bug. Inicio Claude Code en el panel superior izquierdo apuntando al worktree de la funcionalidad, y un segundo agente en el panel superior derecho apuntando al worktree de corrección. Abajo a la izquierda está Yazi, donde puedo explorar ambos directorios de worktree y previsualizar cambios en tiempo real. Abajo a la derecha está LazyGit, donde reviso diffs, preparo cambios y finalmente mergeo ambas ramas.
La idea clave es que ninguna de estas herramientas compite por recursos. Ghostty, Yazi, Fish y LazyGit son todos programas nativos compilados. Sin runtime Electron, sin JVM, sin intérprete Python consumiendo memoria en segundo plano. Los recursos de la máquina quedan disponibles para los agentes IA, que es donde ocurre el cómputo real.
Para cerrar
La mejor configuración para programación agéntica no depende de qué modelo IA uses - es cuestión de la capa humana. Tu capacidad para ejecutar múltiples agentes, monitorear sus salidas, corregirlos cuando se desvían y fusionar su trabajo limpiamente determina cuánto lográs realmente.
Este stack es opinado pero mínimo. Ghostty para el renderizado, Yazi para archivos, Fish para el shell, LazyGit para Git. Cada herramienta es rápida, liviana y componible. Si estás usando agentes de programación IA y todavía no probaste un flujo de trabajo de terminal paralelo, elegí una de estas herramientas y fijate cómo cambia tu proceso.
Unite al boletín
Recibí actualizaciones sobre mis últimos proyectos, artículos y experimentos con IA y desarrollo web.