Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. bubbles

bubbles

MITGov2.2.1

A collection of reusable TUI components for building interactive terminal applications with the Bubble Tea framework.

GitHubGitHub
9.0k stars475 forks0 contributors

What is bubbles?

Bubbles is a Go library that provides a collection of production-tested UI components for building terminal user interfaces (TUIs) with the Bubble Tea framework. It offers ready-to-use primitives like input fields, lists, tables, and progress indicators, enabling developers to create rich terminal applications without implementing common interface patterns from scratch. The project emphasizes modularity and customization, allowing components to be tailored while maintaining a cohesive design language.

Target Audience

Go developers building terminal-based applications, such as CLI tools, interactive dashboards, or file managers, who want to leverage pre-built, customizable UI components within the Bubble Tea ecosystem. It is particularly suited for those seeking to avoid reinventing common TUI elements like spinners, text inputs, and lists.

Value Proposition

Developers choose Bubbles because it offers batteries-included, production-ready components that are modular and highly customizable, saving time and effort compared to building TUI primitives from scratch. Its integration with Bubble Tea ensures a consistent design language and seamless development experience for terminal applications.

Overview

TUI components for Bubble Tea 🫧

Use Cases

Best For

  • Building interactive CLI tools with rich user interfaces, such as file pickers or progress indicators.
  • Creating terminal-based dashboards that require tabular data display with scrolling and navigation.
  • Developing TUI applications needing multi-line text input areas for chat or story input features.
  • Implementing paginated lists with fuzzy filtering and auto-generated help in terminal environments.
  • Adding animated spinners and timers to indicate ongoing operations or countdowns in Go applications.
  • Managing keybindings and generating help views for user-remappable controls in terminal apps.

Not Ideal For

  • Projects requiring graphical user interfaces or web-based dashboards
  • Teams developing applications in languages other than Go, such as Python or Rust
  • Simple command-line tools that only need basic text output without interactive elements
  • Environments where dependency on the Bubble Tea framework is undesirable or restrictive

Pros & Cons

Pros

Production-Tested Reliability

Components are used in production applications like Crush and others listed in 'Bubble Tea in the Wild,' ensuring they are battle-tested and reliable for real-world use.

Rich Feature Set

Includes advanced features like fuzzy filtering in lists, Unicode support in text inputs, and customizable spinner frames, as demonstrated in the detailed example GIFs and code snippets.

Modular and Customizable

Emphasizes modularity, allowing components to be tailored or stripped down as needed, such as the List component which can disable pagination or help views, maintaining flexibility.

Comprehensive Examples

Provides extensive example code for each component, like the spinner and text input examples, making it easier for developers to integrate and customize quickly.

Cons

Ecosystem Lock-in

Tightly integrated with the Bubble Tea framework, meaning you cannot use Bubbles components independently, locking you into the Charm ecosystem and its design patterns.

Terminal-Only Limitation

Restricted to terminal-based interfaces with no support for graphical elements, limiting applicability to text-only environments and excluding GUI or web projects.

Breaking Changes Risk

The presence of an upgrade guide for v2 indicates significant API changes, which can introduce migration overhead and compatibility issues for existing projects.

Frequently Asked Questions

Quick Stats

Stars9,001
Forks475
Contributors0
Open Issues135
Last commit19 days ago
CreatedSince 2020

Tags

#hacktoberfest#bubble-tea#terminal#tui#elm-architecture#terminal-ui#cli#charmbracelet#interactive-cli#go#cli-tools

Built With

G
Go

Included in

Go169.1k
Auto-fetched 1 day ago

Related Projects

bubbleteabubbletea

A powerful little TUI framework 🏗

Stars45,477
Forks4,113
Last commit2 days ago
fxfx

Terminal JSON viewer & processor

Stars20,693
Forks495
Last commit15 days ago
termuitermui

Golang terminal dashboard

Stars13,586
Forks820
Last commit1 year ago
lipglosslipgloss

Style definitions for nice terminal layouts 👄

Stars11,943
Forks417
Last commit12 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub