Gerenciador de downloads para terminal, controlado pelo teclado e feito em Go, que divide arquivos em partes paralelas e pode baixar de vários mirrors.
charmbracelet/bubbletea
Um framework Go para criar interfaces de terminal usando o padrão model-update-view da The Elm Architecture.
- Estrelas
- 45,471
- Forks
- 4,035
- Issues abertas
- 272
- Último commit
- há 13 dias
O que é?
Bubble Tea é um framework Go para criar aplicações de terminal, desde pequenas ferramentas interativas até programas maiores em tela cheia. Ele segue a The Elm Architecture: a aplicação é um modelo que mantém o estado, uma função Update que processa mensagens como pressionamentos de tecla e uma função View que renderiza a interface a partir desse estado. O runtime cuida de redesenhar a interface, então os desenvolvedores descrevem a UI em vez de gerenciar manualmente a saída do terminal.
O framework oferece layouts inline, em tela cheia e mistos. Ele inclui um renderizador baseado em células, redução da profundidade de cores para terminais com paletas limitadas, views declarativas que podem definir opções como o modo de tela alternativa e o rastreamento do mouse, tratamento de entradas do teclado e do mouse e suporte à área de transferência. Os comandos permitem que os programas executem operações de I/O, como temporizadores ou solicitações de rede, sem bloquear a interface.
Bubble Tea costuma ser usado junto com bibliotecas irmãs do mesmo projeto: Bubbles, que oferece componentes prontos, como campos de texto e viewports; Lip Gloss, para estilização e layout; e Harmonica, para animações.
Recursos principais
- 01Implementa a The Elm Architecture com os métodos Init, Update e View em um modelo.
- 02Oferece um renderizador baseado em células e redução de cores integrada.
- 03Oferece layouts de terminal inline, em tela cheia e mistos.
- 04Trata entradas do teclado e do mouse, além de oferecer acesso nativo à área de transferência.
- 05Oferece um sistema de comandos para operações assíncronas de I/O, como temporizadores e solicitações.
Casos de uso
- Criar ferramentas de linha de comando interativas em Go, com formulários, listas ou menus.
- Criar dashboards de terminal em tela cheia ou gerenciadores de arquivos.
- Criar jogos ou visualizações de terminal que respondem a eventos de entrada.
Início rápido
- 1
Importe o pacote Bubble Tea v2 no seu código Go
- 2
Baixe bubbletea e suas dependências
go mod tidy
Antes de usar
- É escrito em Go, então você precisa ter conhecimentos práticos de Go para usá-lo.
- Para atualizar da v1, é necessário seguir um guia de atualização específico, pois a v2 altera a API.
Tópicos
Perguntas frequentes
- O que é bubbletea?
- Um framework Go para criar interfaces de terminal usando o padrão model-update-view da The Elm Architecture. Bubble Tea é um framework Go para criar aplicações de terminal, desde pequenas ferramentas interativas até programas maiores em tela cheia. Ele segue a The Elm Architecture: a aplicação é um modelo que mantém o estado, uma função Update que processa mensagens como pressionamentos de tecla e uma função View que renderiza a interface a partir desse estado. O runtime cuida de redesenhar a interface, então os desenvolvedores descrevem a UI em vez de gerenciar manualmente a saída do terminal.
- bubbletea é gratuito? Qual é a licença?
- bubbletea é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- bubbletea ainda é mantido?
- Manutenção ativa. O último commit de bubbletea foi em 8 de out. de 2026.
- Para que posso usar bubbletea?
- Criar ferramentas de linha de comando interativas em Go, com formulários, listas ou menus. Criar dashboards de terminal em tela cheia ou gerenciadores de arquivos. Criar jogos ou visualizações de terminal que respondem a eventos de entrada.
- Como instalar bubbletea?
- Importe o pacote Bubble Tea v2 no seu código Go Baixe bubbletea e suas dependências: go mod tidy
- Onde consigo bubbletea?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/charmbracelet/bubbletea
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Leitor e renderizador de Markdown no terminal que exibe arquivos .md e repositórios com formatação estilizada na CLI.
Protetor de tela para terminal escrito em Go, que é ativado quando o shell fica ocioso e exibe cenas animadas, como constelações, chuva e partículas.
Uma CLI e TUI que rastreia qualquer processo, porta, contêiner ou arquivo até a cadeia de sistemas que o iniciou.
Gerenciador de senhas de linha de comando para equipes, compatível com a ferramenta UNIX pass e com segredos criptografados com GPG e versionados no git.
Ferramenta de interface de terminal escrita em Go que descobre e explora dispositivos na rede local sem privilégios elevados.