- Uma coleção com diversos exemplos de aplicativos baseados em terminal (TUI) criados com o framework Ratatui
- Inclui apps para vários usos, como monitoramento de sistema, navegação de arquivos, análise de rede e visualização de dados
- Entre os exemplos em destaque estão Atuin (gerenciamento do histórico do shell), GitUI (interface para Git), Oatmeal (chat com LLM) e Yazi (gerenciador de arquivos)
- Cada projeto foi escrito na linguagem Rust e oferece link para o GitHub e imagens de demonstração
- Uma coletânea de casos que mostra a escalabilidade e a praticidade do desenvolvimento de interfaces de terminal no ecossistema Rust
Visão geral
- A página App Showcase do Ratatui lista aplicativos reais de interface de usuário em terminal (TUI) desenvolvidos com Ratatui
- Cada item é composto por link para o repositório no GitHub, breve descrição e imagem ou GIF de demonstração
- Há mais de 27 projetos no total, cobrindo uma ampla variedade que vai de ferramentas de sistema a jogos, IA e gerenciamento de dados
Lista principal de aplicativos
Atuin
- Substitui o histórico tradicional do shell por um banco de dados SQLite e registra contexto adicional ao executar comandos
Bandwhich
- Utilitário CLI que mostra o uso de rede por processo, conexão e IP/host remoto
Binsider
- Ferramenta para fazer análise de binários no terminal
Bottom
- Monitor de sistema multiplataforma que visualiza o uso de recursos como CPU e memória
Crossword
- Jogo para resolver palavras cruzadas no terminal
Csvlens
- Visualizador dedicado para arquivos CSV, semelhante ao comando
less, mas otimizado para a estrutura de CSV
Dua
- Ferramenta de análise de espaço em disco com processamento paralelo, com função de exclusão rápida
Fzf-make
- Ferramenta CLI que executa alvos do
make usando um fuzzy finder
GitUI
- Interface TUI em Rust para operações com Git
Gpg-tui
- Interface de terminal para GnuPG
Joshuto
- Gerenciador de arquivos no estilo Ranger, escrito em Rust
Material
- Paleta de cores Material Design para terminal
Minesweep-rs
- Jogo Campo Minado escrito em Rust
Oatmeal
- Aplicativo de chat no terminal para conversar com LLMs, com suporte a backends ChatGPT ou Ollama
- Inclui recursos como comandos com barra, interface com bolhas de conversa e integração com Neovim
Oha
- Envia carga para aplicações web e mostra os resultados em uma TUI em tempo real
Oxker
- TUI para controle e monitoramento de contêineres Docker
OpenAPI-tui
- Ferramenta para consultar rapidamente documentação OpenAPI no terminal
Rainfrog
- Ferramenta de terminal leve para interação com banco de dados
Rucola
- Oferece gerenciamento de notas em Markdown e conversão para HTML
Scope-tui
- Implementa funções de osciloscópio, vetorscópio e espectroscópio no terminal
Slumber
- Executa um cliente HTTP/REST no terminal
Steer
- Agente de programação com IA para desenvolvimento local e automação
Taskwarrior-tui
- Interface de terminal da ferramenta de gerenciamento de tarefas Taskwarrior
Television
- Buscador baseado em algoritmo de fuzzy matching, com suporte à exploração de várias fontes de dados como arquivos, Git e variáveis de ambiente
Trippy
- Ferramenta de diagnóstico de rede que combina traceroute e ping
Xplr
- Explorador de arquivos TUI rápido e hackeável
Yazi
- Gerenciador de arquivos ultrarrápido com I/O assíncrono, escrito em Rust
Yozefu
- TUI interativa para explorar dados de clusters Kafka
- Suporte a filtragem detalhada com uma linguagem de consulta semelhante a SQL
- Alternativa ao AKHQ, Redpanda Console e plugin Kafka da JetBrains
Importância do ecossistema Ratatui
- Todos os apps foram criados com base no framework Ratatui, mostrando a diversidade e a maturidade do desenvolvimento de interfaces de terminal no ambiente Rust
- Cada projeto é disponibilizado como repositório open source no GitHub, podendo ser consultado diretamente por desenvolvedores
- Isso sugere que o Ratatui está se consolidando como a ferramenta padrão para desenvolvimento de CLI/TUI em Rust
1 comentários
Comentários do Hacker News
É interessante como hoje em dia há muitos TUIs feitos em Rust
Os que eu conheço são Awesome TUIs, terminaltrove e a lista awesome do Ratatui
Qt e GTK são grandes demais, o Windows muda com frequência, e eu não quero lidar com Electron
A qualidade dos terminais melhorou bastante nos últimos tempos, então ficou muito mais fácil criar aplicativos pequenos
A analogia de que é mais fácil fazer algo legal com LEGO do que esculpir em argila cai perfeitamente aqui
Ao visualizar o estado dos dados, não é preciso montar um pipeline de renderização de navegador
Como referência, há esta imagem de exemplo
Terminais modernos como Ghostty, WezTerm, Kitty, iTerm e Alacritty oferecem aceleração por GPU e suporte a cores de 24 bits
Além disso, hoje os desenvolvedores usam mais ferramentas como Claude Code, Gemini CLI e Codex no terminal do que na IDE
Há muitas limitações, mas por isso mesmo também é mais difícil criar uma UI toda bagunçada
Funciona muito bem para softwares de complexidade simples a média. Como exemplo, recomendo o Midnight Commander
Trabalhar com designers está parecendo cada vez mais burocrático e ineficiente
TUI força interfaces limpas, com alta densidade de informação e pouco espaço em branco desnecessário
TUI está em alta em Rust porque a situação das GUIs é muito ruim
Dá para ver isso nesta pesquisa sobre bibliotecas GUI em Rust
Eu gostaria de usar Qt com Rust, mas não quero QML, Slint, GTK nem UI de modo imediato
Seria realmente uma pena se algo como Qt nunca surgisse em Rust
O Ratatui é um framework tão prazeroso de usar que isso independe da falta de GUI
Quando CLI não basta, mas uma GUI completa é exagero, TUI preenche muito bem esse meio-termo
As referências de pai/filho entre janela-contêiner-botão entram em conflito com o modelo de ownership do Rust
O mecanismo de signal-slot do Qt também é complicado de implementar em Rust
A maior parte dos crates de que eu precisava estava em WIP ou abandonada
Tirando alguns crates grandes e populares, a documentação fica no nível de “veja a documentação em C++”
Isso acontece em parte porque Rust ainda é uma linguagem jovem, mas acho que o problema maior é a falta de disposição da comunidade para manter pacotes
Mas não tenho certeza se a parte de GUI foi implementada só em Rust
Estou esperando um navegador web TUI que me permita viver completamente dentro do terminal
Com tecnologias como sixel ou shaders, ele poderia até suportar gráficos, então parece bem viável fora a parte de vídeo
Bloquear anúncios seria fácil, então as empresas talvez odiassem isso, mas talvez desse para vender a ideia se fosse embalado como navegador para LLM
O terminal é um buffer de caracteres de baixa resolução, então renderização em pixels com aceleração por GPU é simplesmente muito mais eficiente
Ele roda o Firefox em modo headless e renderiza o resultado como ASCII no terminal. É bem legal
Lynx e w3m são os exemplos clássicos
Quero apresentar meu visualizador de Markdown mdfried
A legibilidade do Markdown puro é boa, mas achei mais confortável ver no navegador, então criei um visualizador que renderiza os cabeçalhos como imagens
É preciso configurar a fonte uma vez, e ele também suporta imagens inline
Agora ele consegue renderizar direto sem converter em imagem, usando o protocolo text-sizing do Kitty
O Teletekst da Holanda oferece uma interface via SSH
Segundo esta matéria, ele foi feito com Ratatui e pode ser acessado com
ssh teletekst.nlTestei um app pequeno feito com Ratatui e fiquei surpreso ao ver o uso de CPU chegar a 8% só com entrada de texto simples
Isso aconteceu mesmo usando o exemplo oficial exatamente como está
cargo runusa o modo debug por padrãoQuero integrar meu projeto open source TironCalc ao repositório principal ironcalc
Acho que é um bom projeto para trabalhar com Rust e Ratatui
Mas depois de ver o projeto edit da Microsoft, já não tenho certeza se Ratatui é mesmo a melhor opção
Quero apresentar meu jogo TUI baseado em Ratatui rebels-in-the-sky
Só que o vídeo no repositório não abre no meu dispositivo
Achei o título da postagem meio estranho
Pensei que seria um texto sobre a revolução do TUI em Rust, mas na verdade era uma coletânea de apps feitos com Ratatui
No ecossistema Go, o Charm cumpre um papel parecido
Sinto que está cada vez mais necessário ter utilitários para rodar agentes baseados em CLI por pasta no terminal
Por exemplo, isso poderia ser usado para automatizar verificações de compliance legal
Há várias opções, como Cline CLI, Opencode CLI, Codex CLI, Gemini CLI e Claude Code CLI