Uma interface de terminal que exibe o grafo de commits do Git como imagens, semelhante a git log --graph --all, para navegar pelo histórico do repositório.
ratatui/ratatui
Uma crate Rust para criar interfaces de usuário no terminal (TUIs), com widgets reutilizáveis e um modelo de renderização simples.
- Estrelas
- 23,037
- Forks
- 809
- Issues abertas
- 204
- Último commit
- ontem
O que é?
Ratatui é uma crate Rust para criar interfaces de usuário baseadas em texto que rodam no terminal. Ela é voltada a ferramentas de linha de comando, dashboards e outros programas interativos de console que precisam exibir layouts, listas, tabelas e outros widgets como texto.
Aplicações criadas com Ratatui redesenham a tela a cada frame: o desenvolvedor escreve uma função de renderização que posiciona widgets em áreas do frame, e a biblioteca cuida do buffering e das atualizações. Há um template de início rápido disponível via cargo-generate, e o projeto oferece documentação da API no docs.rs, tutoriais no site e coleções de exemplos de widgets e aplicações.
Ratatui foi criado como fork da crate tui-rs em 2023 para dar continuidade ao seu desenvolvimento. O projeto é licenciado sob a MIT e foi desenvolvido para ser usado como biblioteca em outros projetos Rust.
Recursos principais
- 01Oferece widgets como layouts, listas e tabelas para interfaces de usuário no terminal.
- 02Usa uma função de renderização por frame que desenha widgets em áreas da tela.
- 03Inclui um template de início rápido gerado via cargo-generate.
- 04Oferece documentação completa da API no docs.rs, além de tutoriais e exemplos no site.
- 05Baseia-se em um fork de tui-rs e é mantido como um workspace modular.
Casos de uso
- Criar um dashboard de linha de comando que exiba métricas em tempo real do sistema ou de serviços.
- Criar uma ferramenta interativa para terminal com menus, listas e formulários.
- Desenvolver um navegador de arquivos ou visualizador de logs baseado em texto dentro do terminal.
Início rápido
- 1
Instale o cargo-generate
cargo install --locked cargo-generate - 2
Gere um projeto a partir dos templates do Ratatui
cargo generate ratatui/templates
Antes de usar
- É necessário ter um toolchain do Rust instalado para compilar e executar.
Tópicos
Perguntas frequentes
- O que é ratatui?
- Uma crate Rust para criar interfaces de usuário no terminal (TUIs), com widgets reutilizáveis e um modelo de renderização simples. Ratatui é uma crate Rust para criar interfaces de usuário baseadas em texto que rodam no terminal. Ela é voltada a ferramentas de linha de comando, dashboards e outros programas interativos de console que precisam exibir layouts, listas, tabelas e outros widgets como texto.
- ratatui é gratuito? Qual é a licença?
- ratatui é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ratatui ainda é mantido?
- Manutenção ativa. O último commit de ratatui foi em 21 de out. de 2026.
- Para que posso usar ratatui?
- Criar um dashboard de linha de comando que exiba métricas em tempo real do sistema ou de serviços. Criar uma ferramenta interativa para terminal com menus, listas e formulários. Desenvolver um navegador de arquivos ou visualizador de logs baseado em texto dentro do terminal.
- Como instalar ratatui?
- Instale o cargo-generate: cargo install --locked cargo-generate Gere um projeto a partir dos templates do Ratatui: cargo generate ratatui/templates
- Onde consigo ratatui?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ratatui/ratatui
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma interface de terminal para rsync que gerencia perfis de transferência reutilizáveis, pré-visualiza alterações com um diff de execução simulada e exibe o progresso em tempo real, inclusive via SSH.
Um clone do cat(1) para o terminal, com realce de sintaxe, indicadores de alterações do Git e paginação automática.
Uma alternativa rápida e fácil de usar ao comando Unix find para localizar arquivos e diretórios pelo nome.
Renderer React para criar aplicativos de linha de comando interativos com componentes e layouts Flexbox no terminal.
Ferramenta de linha de comando para comparar o desempenho de comandos, com análise estatística, execuções de aquecimento e exportação para CSV, JSON, Markdown e AsciiDoc.