Framework de TUI para Go baseado na Elm Architecture, com layout compatível com Unicode, renderização inline ou em tela cheia e uma biblioteca de componentes.
charmbracelet/bubbles
Uma coleção de componentes de TUI prontos (spinner, entrada de texto, tabela, lista, viewport, ajuda e mais) para criar apps de terminal com Bubble Tea em Go.
- Estrelas
- 9,002
- Forks
- 475
- Issues abertas
- 250
- Último commit
- há 18 dias
O que é?
Bubbles é uma biblioteca Go de componentes reutilizáveis de interface de terminal, criada para o Bubble Tea, um framework de apps de terminal baseado na arquitetura Elm. Em vez de escrever cada widget do zero, os desenvolvedores podem incluir componentes como spinner, entradas de texto de uma ou várias linhas, tabela com ordenação, lista com filtros, viewport com rolagem, barra de progresso, paginador, seletor de arquivos, temporizadores e cronômetros, além de uma tela de ajuda gerada automaticamente.
Cada componente é um modelo do Bubble Tea com seus próprios métodos Update e View, então pode ser integrado a uma aplicação maior e combinado com outros componentes. Um pacote auxiliar para key bindings permite que as aplicações definam mapas de teclas, ofereçam aos usuários a opção de remapear teclas e gerem textos de ajuda a partir dos mesmos bindings. Os componentes oferecem suporte a entrada Unicode, colagem, rolagem e estilos personalizáveis. A biblioteca está na versão 2 e é publicada pelo caminho de importação charm.land.
Recursos principais
- 01Inclui componentes de spinner, entrada de texto, área de texto, tabela, lista, viewport e progresso
- 02Oferece um paginador com exibição de páginas em pontos ou números
- 03Disponibiliza um seletor de arquivos que pode filtrar por extensão
- 04Inclui componentes de temporizador e cronômetro para contagem regressiva e progressiva
- 05Gera telas de ajuda automaticamente a partir dos key bindings
Casos de uso
- Adicionar indicadores de carregamento e barras de progresso a uma ferramenta de linha de comando em Go
- Criar um formulário de terminal com vários campos de texto
- Exibir listas com rolagem ou dados tabulares em uma aplicação TUI
- Permitir que usuários selecionem arquivos ou remapeiem key bindings dentro de um app de terminal
Antes de usar
- O README não informa um comando de instalação, então não há um guia de início rápido para mostrar.
- Para atualizar da v1 para a v2, é necessário seguir um guia de atualização separado.
- Esses componentes foram criados para apps Bubble Tea, então você também precisa desse framework.
Tópicos
Perguntas frequentes
- O que é bubbles?
- Uma coleção de componentes de TUI prontos (spinner, entrada de texto, tabela, lista, viewport, ajuda e mais) para criar apps de terminal com Bubble Tea em Go. Bubbles é uma biblioteca Go de componentes reutilizáveis de interface de terminal, criada para o Bubble Tea, um framework de apps de terminal baseado na arquitetura Elm. Em vez de escrever cada widget do zero, os desenvolvedores podem incluir componentes como spinner, entradas de texto de uma ou várias linhas, tabela com ordenação, lista com filtros, viewport com rolagem, barra de progresso, paginador, seletor de arquivos, temporizadores e cronômetros, além de uma tela de ajuda gerada automaticamente.
- bubbles é gratuito? Qual é a licença?
- bubbles é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- bubbles ainda é mantido?
- Manutenção ativa. O último commit de bubbles foi em 4 de out. de 2026.
- Para que posso usar bubbles?
- Adicionar indicadores de carregamento e barras de progresso a uma ferramenta de linha de comando em Go Criar um formulário de terminal com vários campos de texto Exibir listas com rolagem ou dados tabulares em uma aplicação TUI Permitir que usuários selecionem arquivos ou remapeiem key bindings dentro de um app de terminal
- Onde consigo bubbles?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/charmbracelet/bubbles
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um framework Go para criar interfaces de terminal usando o padrão model-update-view da The Elm Architecture.
Um dashboard de terminal configurado por YAML, baseado em Bubble Tea, que define fontes de dados de comandos shell e um grid de widgets em um único arquivo.
Leitor e renderizador de Markdown no terminal que exibe arquivos .md e repositórios com formatação estilizada na CLI.
Biblioteca Go para estilizar e organizar interfaces de terminal baseadas em texto com definições declarativas de estilo semelhantes a CSS.
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.