awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
charmbracelet avatar

charmbracelet/bubbles

0
View on GitHub↗
7,796 stars·359 forks·Go·mit·16 views

Bubbles

Bubbles is a terminal user interface toolkit and component library providing a set of pre-built, reusable widgets for creating interactive command-line applications. It functions as a framework for building complex tools that require real-time updates and keyboard navigation.

The library includes a variety of specialized interface elements such as fuzzy-filterable item lists, single-line and multi-line text inputs, and tabular data grids. It also provides visual feedback components including animated loading spinners, progress meters, countdown timers, and stopwatches.

Additional capabilities cover navigation and layout through scrollable content viewports, file picker interfaces, and pagination systems. The toolkit also includes a system for generating dynamic help views based on defined keyboard bindings.

Features

  • Terminal User Interface Frameworks - Serves as a comprehensive framework for building interactive, keyboard-driven terminal user interfaces.
  • Terminal Widget Toolkits - Offers a collection of pre-built UI widgets for constructing complex, keyboard-navigable terminal applications.
  • Model-View-Update Runtimes - Uses a unidirectional data flow pattern to update state and trigger UI redraws based on user input.
  • Keyboard Shortcuts - Includes a system for mapping physical keys to software actions and allowing user redefinition of controls.
  • State-Driven UI Rendering - Generates terminal output by transforming the current state model into a string representation for every frame update.
  • Interactive CLI Frameworks - Provides a toolkit for building complex terminal interfaces with advanced input handling and layout management.
  • Application Action Mappings - Maps keyboard events to internal software actions for efficient control of the terminal interface.
  • TUI Component Libraries - Provides a reusable library of interactive widgets for building terminal user interfaces.
  • UI Composition - Implements an architecture for assembling terminal interfaces from independent, reusable UI components.
  • Fuzzy-Filterable Lists - Provides a navigable list component featuring fuzzy filtering and pagination to locate items quickly.
  • Fuzzy Matching - Provides fuzzy-matching algorithms to calculate string similarity for filtering list items.
  • Interactive CLI Prompts - Provides interactive prompts and text input fields for capturing user data within the terminal.
  • Keyboard Shortcut Managers - Maps user input combinations to application-specific actions and generates dynamic help menus.
  • Picker Interfaces - Implements an interactive file picker for navigating directories and selecting files in the terminal.
  • Terminal Viewport Clipping - Renders only a subset of larger content by calculating a visible window offset and cropping the output.
  • Data Grids - Ships an interactive tabular data grid for displaying and navigating structured data in the terminal.
  • Terminal Widget Sets - Ships a variety of visual controls like progress bars, spinners, and timers for character-based interfaces.
  • TUI - Provides file pickers, paginated lists, and scrollable viewports for browsing datasets in the terminal.
  • Plain Text Input Fields - Provides a single-line text input field with support for unicode and horizontal scrolling.
  • Multiline Text Areas - Includes a multi-line text area component supporting vertical scrolling and unicode characters for long-form input.
  • Scrollable Containers - Implements scrollable containers that allow users to navigate content exceeding the terminal viewport.
  • Selectable Lists - Provides interactive vertical lists that support selection, focus, and custom visual styling.
  • Terminal Data Visualizations - Renders tabular data, progress meters, and loading indicators using text-based graphics.
  • Command Line Tools - TUI components for terminal apps.
  • Console Interfaces - Listed in the “Console Interfaces” section of the Awesome Go awesome list.
  • Terminal User Interfaces - TUI components for terminal applications.

Star history

Star history chart for charmbracelet/bubblesStar history chart for charmbracelet/bubbles

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Bubbles

These projects share indexed features with Bubbles. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • textualize/textualTextualize avatar

    Textualize/textual

    36,285View on GitHub↗

    This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int

    Pythoncliframeworkpython
    View on GitHub↗36,285
  • gizak/termuigizak avatar

    gizak/termui

    13,574View on GitHub↗

    Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a command-line environment. It functions as a TUI layout engine, an interactive CLI framework, and a terminal data visualization toolkit. The library provides a set of specialized widgets for rendering charts, plots, gauges, and tables using character-based graphics. It includes a grid-based system for arranging interface elements using relative coordinates and proportional sizing to create structured displays. The toolkit covers a broad range of capabilities including data visua

    Go
    View on GitHub↗13,574
  • jroimartin/gocuijroimartin avatar

    jroimartin/gocui

    10,575View on GitHub↗

    gocui is a console user interface library for the Go programming language. It provides a toolkit for building interactive terminal applications using a layout engine that organizes overlapping rectangular views and coordinates. The library features a terminal input handler to capture and map keyboard shortcuts and mouse events to specific application actions. It includes an ANSI escape sequence parser to manage text attributes, colors, and cursor positioning. The framework covers interface view management and overlapping window layering, allowing for a structured arrangement of content. Rend

    Gocuigogocui
    View on GitHub↗10,575
  • gui-cs/terminal.guigui-cs avatar

    gui-cs/Terminal.Gui

    11,068View on GitHub↗

    Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a component-based architecture, a terminal rendering engine, and a declarative layout system to create console applications that run consistently across Windows, macOS, and Linux. The framework distinguishes itself with a comprehensive set of interactive console widgets, including data grids, hex editors, and hierarchical tree components. It supports advanced visual capabilities such as 24-bit True Color, Sixel image support, and a relative-coordinate layout system that adapts to ter

    C#consoleconsole-applicationcross-platform
    View on GitHub↗11,068
Compare all 30 related projects→

Frequently asked questions

What does charmbracelet/bubbles do?

Bubbles is a terminal user interface toolkit and component library providing a set of pre-built, reusable widgets for creating interactive command-line applications. It functions as a framework for building complex tools that require real-time updates and keyboard navigation.

What are the main features of charmbracelet/bubbles?

The main features of charmbracelet/bubbles are: Terminal User Interface Frameworks, Terminal Widget Toolkits, Model-View-Update Runtimes, Keyboard Shortcuts, State-Driven UI Rendering, Interactive CLI Frameworks, Application Action Mappings, TUI Component Libraries.

Which projects share features with charmbracelet/bubbles?

Projects with overlapping indexed features include: textualize/textual — This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative… gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… jroimartin/gocui — gocui is a console user interface library for the Go programming language. It provides a toolkit for building… gui-cs/terminal.gui — Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a… charmbracelet/gum — Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell… pterm/pterm — pterm is a Go terminal UI library used to build rich command-line interfaces. It provides toolsets for terminal data…