A collection of reusable TUI components for building interactive terminal applications with the Bubble Tea framework.
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.
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.
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.
TUI components for Bubble Tea 🫧
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
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.
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.
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.
Provides extensive example code for each component, like the spinner and text input examples, making it easier for developers to integrate and customize quickly.
Tightly integrated with the Bubble Tea framework, meaning you cannot use Bubbles components independently, locking you into the Charm ecosystem and its design patterns.
Restricted to terminal-based interfaces with no support for graphical elements, limiting applicability to text-only environments and excluding GUI or web projects.
The presence of an upgrade guide for v2 indicates significant API changes, which can introduce migration overhead and compatibility issues for existing projects.