Minha configuração de terminal para programar com agentes de IA
Como uso Ghostty, Yazi, Fish e LazyGit para rodar múltiplos agentes de IA em paralelo - uma stack de terminal leve para workflows agênticos.
O gargalo na programação assistida por IA já não é o agente em si. Ferramentas como Claude Code, Aider e Codex CLI são notavelmente capazes. A restrição real é a capacidade humana de orquestrar múltiplos agentes trabalhando em paralelo - monitorar suas saídas, corrigir quando desviam e mesclar o trabalho deles.
Cheguei a uma configuração centrada no terminal que torna isso gerenciável. Quatro ferramentas, todas leves, todas combináveis: Ghostty para o terminal, Yazi para navegação de arquivos, Fish para o shell e LazyGit para operações Git. Aqui explico por que cada uma merece seu lugar.
Por que o terminal para programação agêntica
Os agentes de programação IA são nativos do CLI. Eles leem arquivos, executam comandos e produzem saída em um terminal. Quando você quer rodar três agentes simultaneamente - um desenvolvendo uma funcionalidade, outro corrigindo um bug, outro escrevendo testes - precisa de três sessões de shell lado a lado.
Uma IDE pode fazer isso, mas tem um custo. VS Code com múltiplos terminais integrados, extensões, servidores de linguagem e o editor em si pode consumir facilmente 2-4 GB de RAM. Essa é memória que seus agentes de IA poderiam usar. Cada token de contexto, cada chamada de API, cada leitura de arquivo compete pelos mesmos recursos do sistema.
Uma configuração de terminal leve inverte essa equação. As ferramentas que uso consomem coletivamente uma fração do que um único editor baseado em Electron demanda, deixando os recursos da máquina disponíveis para o que importa: os agentes fazendo o trabalho real.
Ghostty - A base
Ghostty é um emulador de terminal acelerado por GPU que usa Metal no macOS e OpenGL no Linux. É escrito em Zig, e é rápido - benchmarks mostram renderização de texto puro cerca de 4x mais rápida que iTerm2 e Kitty, mantendo aproximadamente 60 fps mesmo sob carga pesada.
Para workflows agênticos, a funcionalidade-chave é a divisão nativa de painéis e abas. Não precisa de tmux. Ghostty gerencia a divisão de painéis no nível da aplicação, o que significa renderização suave, escalonamento correto de fontes e zero cerimônia de configuração. Abra uma nova divisão, inicie um agente e pronto.
Meu layout típico tem quatro painéis:
- Superior esquerdo: Claude Code trabalhando em uma branch de funcionalidade
- Superior direito: Um segundo agente em outra tarefa
- Inferior esquerdo: Yazi para monitorar mudanças em arquivos
- Inferior direito: LazyGit para revisão e commits
Quando um LLM faz streaming de uma resposta longa, alguns terminais engasgam com a saída rápida. A renderização GPU do Ghostty lida com isso sem queda de frames ou travamento, o que importa quando você está monitorando múltiplos fluxos ao mesmo tempo.
Yazi - Navegando enquanto os agentes trabalham
Quando três agentes estão modificando arquivos pela sua codebase, você precisa de uma forma rápida de ver o que está mudando. Yazi é um gerenciador de arquivos de terminal escrito em Rust com I/O totalmente assíncrono. Cada operação é não-bloqueante, então navegar por um diretório grande nunca trava enquanto uma pré-visualização de arquivo carrega em segundo plano.
Mantenho Yazi aberto em um painel e uso para:
- Monitorar mudanças em tempo real enquanto os agentes criam e modificam arquivos
- Pré-visualizar arquivos sem abrir um editor - Yazi renderiza código com destaque de sintaxe, imagens e até PDFs diretamente no terminal
- Renomeação em massa quando um agente gera arquivos com convenções de nomenclatura que quero ajustar
- Pular rapidamente entre diretórios usando favoritos e busca
O sistema de plugins (baseado em Lua) permite customizar Yazi para seu workflow. Uso alguns plugins para indicadores de status Git e navegação rápida entre diretórios, mas as configurações padrão já são sólidas.
Fish Shell - Reduzindo a carga cognitiva
Quando você está alternando entre quatro painéis de terminal, cada um rodando tarefas diferentes, a carga cognitiva se acumula rápido. Você dá uma olhada em um painel e precisa lembrar o que ele estava fazendo, se reorientar, digitar um comando e seguir adiante.
Fish reduz esse atrito com funcionalidades que funcionam imediatamente:
- Autosugestões: Fish sugere o restante do seu comando em texto cinza baseado no histórico. Pressione a seta direita para aceitar. Sem plugins necessários.
- Destaque de sintaxe: Comandos válidos aparecem em uma cor, inválidos em outra. Você percebe erros de digitação antes de pressionar Enter.
- Completamento com Tab: Fish analisa as man pages para gerar completamentos automaticamente. Digite um comando, pressione Tab e receba opções contextuais.
A diferença fundamental do zsh é zero configuração. Não tem oh-my-zsh para instalar, não tem .zshrc para manter, não tem gerenciador de plugins para atualizar. Fish funciona imediatamente após a instalação. Quando você está focado em orquestrar agentes, a última coisa que quer é debugar a configuração do seu shell.
LazyGit - Desenvolvimento paralelo baseado em worktrees
Aqui é onde a configuração realmente brilha para trabalho agêntico em paralelo. LazyGit é uma interface de terminal para Git, e seu suporte a worktrees torna o desenvolvimento multi-agente prático.
O padrão é direto: cada agente trabalha em uma worktree Git separada. Uma worktree é uma cópia vinculada do seu repositório que faz checkout de uma branch diferente em um diretório diferente. O agente A trabalha em ./feature-auth/ na branch feat/auth. O agente B trabalha em ./fix-perf/ na branch fix/performance. Eles nunca tocam nos arquivos um do outro, então não há conflitos de merge durante o trabalho paralelo.
LazyGit torna o gerenciamento desse workflow visual e rápido:
- Criar worktrees com uma única tecla (
w) - Alternar entre worktrees para revisar o que cada agente fez
- Rebase interativo para limpar o histórico de commits de um agente antes de mergear
- Diffs visuais para inspecionar mudanças entre branches lado a lado
- Desfazer/Refazer via integração com reflog - se um agente produz algo inesperado, pressione
zpara voltar atrás
Sem uma ferramenta Git visual, gerenciar múltiplas worktrees significa ficar fazendo malabarismo com comandos cd e saídas de git log entre diretórios. LazyGit condensa tudo isso em uma única interface navegável.
Juntando tudo
Uma sessão típica funciona assim: abro Ghostty e divido em quatro painéis. Crio duas worktrees com LazyGit - uma para uma funcionalidade, outra para uma correção de bug. Inicio Claude Code no painel superior esquerdo apontando para a worktree da funcionalidade, e um segundo agente no painel superior direito apontando para a worktree de correção. Embaixo à esquerda fica Yazi, onde posso navegar pelos dois diretórios de worktree e pré-visualizar mudanças em tempo real. Embaixo à direita fica LazyGit, onde reviso diffs, faço staging de mudanças e finalmente mergeio as duas branches.
A sacada é que nenhuma dessas ferramentas compete por recursos. Ghostty, Yazi, Fish e LazyGit são todos programas nativos compilados. Sem runtime Electron, sem JVM, sem interpretador Python consumindo memória em segundo plano. Os recursos da máquina ficam disponíveis para os agentes de IA, que é onde o processamento real acontece.
Pra fechar
A melhor configuração para programação agêntica não depende de qual modelo de IA você usa - é uma questão de camada humana. Sua capacidade de rodar múltiplos agentes, monitorar suas saídas, corrigir quando desviam e mesclar o trabalho deles de forma limpa determina o quanto você realmente produz.
Essa stack é opinada mas mínima. Ghostty para renderização, Yazi para arquivos, Fish para o shell, LazyGit para Git. Cada ferramenta é rápida, leve e combinável. Se você está usando agentes de programação IA e ainda não testou um workflow de terminal paralelo, escolha uma dessas ferramentas e veja como ela muda seu processo.
Assine a newsletter
Receba atualizações sobre meus projetos mais recentes, artigos e experimentos com IA e desenvolvimento web.