- Apresenta o caso da equipe da Hatchet, que desenvolveu rapidamente uma UI baseada em terminal (TUI) usando Claude Code
- Com a stack Charm (Bubble Tea, Lip Gloss, Huh), implementaram um desenvolvimento baseado em componentes no nível do React e um estilo consistente
- Mesmo usando a mesma API da UI web existente, aumentaram a eficiência dos desenvolvedores com uma interface centrada em texto e densa em informação
- O Claude Code executou sessões do tmux e automatizou os testes, desempenhando um papel importante no desenvolvimento iterativo e na garantia de estabilidade
- Concluída em apenas 2 dias, a TUI da Hatchet é avaliada como um caso que mostra uma melhoria prática de produtividade com desenvolvimento baseado em LLM
Motivação para desenvolver a TUI
- A equipe da Hatchet queria uma TUI semelhante ao k9s, e os usuários a avaliaram como mais rápida e intuitiva do que a UI web
- Entre os feedbacks dos usuários, houve a opinião de que “a CLI e a TUI têm desempenho muito melhor”
- A TUI permite visualizar e executar fluxos de trabalho no mesmo ambiente do código, eliminando a necessidade de trocar de abas
- Como os principais usuários da Hatchet são desenvolvedores que trabalham dentro do IDE, o objetivo era oferecer uma experiência de gerenciamento de workflow dentro do terminal
Stack tecnológica
- Foi usada a stack Charm, equivalente a uma stack de frontend comum (React, Tailwind etc.)
- Bibliotecas principais: Bubble Tea, Lip Gloss, Huh
- Mantidas pela equipe da Charm, com documentação e exemplos abundantes
- Com Lip Gloss e os temas do Huh, foi aplicado um estilo consistente em toda a TUI
- O mesmo tema também foi reutilizado nos comandos da Hatchet CLI para oferecer uma experiência de usuário unificada
- Configurações personalizadas fora do Bubble Tea são um pouco mais difíceis, mas ainda são muito mais simples do que implementar diretamente um motor de renderização baseado em React
Abordagem de testes
- O Claude Code executou diretamente as ferramentas baseadas em terminal para realizar os testes
- Usou
tmux capture-pane para capturar a view renderizada e verificar se a saída estava correta
- Essa abordagem foi muito eficaz para automatizar a primeira etapa dos testes, e permitiu verificar a renderização com estabilidade mesmo à medida que o número de views aumentava
- Depois, testes manuais e testes unitários foram combinados para formar um loop de desenvolvimento iterativo estável
- Como o Claude Code é otimizado para tarefas repetitivas em ambientes ASCII, o loop de feedback dos testes convergiu rapidamente
Montagem de um ambiente de desenvolvimento eficiente
- O Claude Code aumentou a eficiência do desenvolvimento ao consultar a implementação de frontend existente da Hatchet
- Com uma estrutura simples de componentes baseada em React e a especificação OpenAPI, foi possível definir limites claros
- Com um cliente de API REST gerado automaticamente, tornou-se possível um desenvolvimento orientado por especificação
- A implementação do renderizador baseado em DAG foi a parte mais difícil, porém
- Com referência ao mermaid-ascii, conseguiram implementar com sucesso um renderizador de grafos ASCII
- Embora não seja perfeito, foi possível garantir uma funcionalidade utilizável de visualização de DAG
Resultados e lições
- O período total de desenvolvimento foi de cerca de 2 dias, muito mais rápido e estável do que uma refatoração anterior do frontend
- O desenvolvimento com Claude Code foi avaliado como o primeiro caso a mostrar uma melhoria de produtividade real e não aleatória
- A equipe da Hatchet planeja expandir gradualmente, no futuro, o desenvolvimento baseado em LLM para funcionalidades fora do caminho crítico
- As principais lições são a importância de loops curtos de feedback, modularização, design orientado por especificação e testes contínuos
- A TUI concluída da Hatchet está disponível em https://tui.hatchet.run, e a equipe está coletando feedback dos usuários
1 comentários
Comentários do Hacker News
Há uma ironia em uma página da web falar sobre desempenho de UI de terminal e, ao mesmo tempo, engasgar na rolagem até no meu Dell XPS de alto desempenho por causa de efeitos complexos como composição de máscara em CSS e gradientes cúbicos
Segundo o Gemini, isso é um “Scrim ou Easing Gradient” e, em vez de criar um fade suave com 16 paradas de cor, acaba recalculando as cores de milhões de pixels a cada rolagem
No Firefox, a maioria das páginas rola suavemente, então recomendo testar também em notebooks hiDPI com iGPU, não só em Macs
Aliás, há também uma imagem com o gradiente desativado — link
busybox ssl_clientegrepe o abre no FirefoxAcho meio triste essa tentativa de fazer TUI parecer GUI. A acessibilidade é pior, a estrutura fica achatada, e o usuário não consegue usar fora do caminho previsto. Já a GUI moderna é estruturalmente integrada ao sistema operacional e muito mais livre
Hoje em dia, desenvolver TUI ficou muito mais fácil. Isso graças a frameworks como BubbleTea, Textualize e Ratatui.
Com os LLMs, ficou possível criar esse tipo de ferramenta rapidamente, e eu mantenho a biblioteca de gráficos TUI NTCharts
Resolvi bugs graças ao entendimento espacial do Gemini e, no momento, estou criando um visualizador local de conversas com LLM em BubbleTea
Links relacionados: issue do NTCharts, projeto thinkt
Não consigo entender essa obsessão por TUI em apps de LLM. Olhando o Copilot do VS2026, a GUI mostra muito mais informação com muito mais rapidez. Dá para clicar no diff em tempo real e verificar tudo com eficiência
Na era em que LLMs consomem os recursos de computação, isso acabou virando um estímulo para criar ferramentas com stack leve.
Escrevi em C, aumentei o desempenho da CPU em milhares de vezes e reduzi a RAM pela metade. TUI é um bom exemplo dessa eficiência
Acho que o Midnight Commander (mc) continua sendo uma das melhores TUIs. Oferece quase os mesmos recursos da versão GUI (Double Commander) e ainda pode ser executado remotamente.
Neste momento estou trabalhando em um novo skin e espero que ele entre na próxima versão
O Gemini criou uma TUI para o meu projeto de scraper DHT — imagem
A primeira versão precisou de ajustes por causa de problemas com caracteres CJK, mas no geral foi impressionante. Graças a isso, pude focar no algoritmo
Não vejo muito bem em que a TUI é melhor que formulários web ou GUI. Em compensação, acho composição de pipelines CLI muito poderosa
Gosto do Claude Code, mas sinto que a estrutura de TUI baseada em React é realmente muito ineficiente
Criei meu próprio frontend de prompts com base no Cursor CLI — imagem
Integrei git, diff e histórico de chat, e também consigo acessar facilmente pelo celular via Tailscale.
Ele reconhece minhas regras e consegue fazer grep no projeto, então a usabilidade é muito alta