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/gum

0
View on GitHub↗
22,814 stars·460 forks·Go·mit·33 views

Gum

Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell scripts. It functions as a library of modular components that allow developers to enhance terminal workflows by adding structured layouts, formatted text, and user-input widgets to standard command-line operations.

The project distinguishes itself by providing a suite of specialized utilities for common shell tasks, such as fuzzy-matched selection menus, interactive file system navigation, and confirmation dialogs. It translates high-level styling and layout instructions into terminal-native escape sequences, enabling the creation of complex, readable interfaces without requiring deep knowledge of terminal rendering logic.

Beyond basic input and styling, the tool supports advanced terminal interactions including scrollable viewports for long documents, animated progress indicators for background tasks, and structured table displays. It integrates into existing shell environments by reading from standard input and writing results to standard output, facilitating its use within automated pipelines and scripts.

Features

  • Interactive CLI Tooling - Provides a suite of modular components for building interactive, visually styled command-line interfaces directly within shell scripts.
  • Terminal UI Frameworks - Enables the creation of professional command-line experiences through a declarative framework for formatting text, managing layouts, and capturing user input.
  • ANSI Escape Sequence Renderers - Generates ANSI escape sequences to apply colors, borders, and formatting to terminal output.
  • Shell Scripting Utilities - Offers a library of interactive widgets that simplify data collection, file navigation, and task progress indication in terminal workflows.
  • Terminal Output Stylers - Enhances command-line readability by applying colors, markdown, and structured layouts to terminal output.
  • Interactive Command Interfaces - Builds visually styled command-line interfaces using modular components for script interaction.
  • Progress Indicators - Provides animated spinners and status indicators to give visual feedback during long-running command-line operations.
  • Model-View-Update Runtimes - Implements a message-passing architecture for state management in interactive terminal interfaces.
  • Native Input Prompts - Captures user-provided strings through interactive text input fields in shell scripts.
  • User Confirmation Dialogs - Creates intuitive prompts, selection menus, and confirmation dialogs for user interaction in shell scripts.
  • Command Line Tools - Tool for building shell scripts with TUI.
  • Shell Scripting Tools - Tool for creating interactive and styled shell scripts.
  • TUI Libraries - Tool for shell script TUIs.
  • File System Navigators - Enables interactive directory browsing and file selection directly within command-line interfaces.
  • Task Status Monitors - Monitors background tasks by providing visual feedback through spinners and status logs.
  • Input Collection Components - Gathers data from users through interactive text fields and selection lists.
  • Masked Inputs - Prompts users for text entries with support for masking sensitive characters.
  • Selectable Lists - Presents interactive lists that support fuzzy-matched filtering and selection for command-line workflows.
  • Text Rendering - Renders markdown, syntax-highlighted code, and structured tables to improve terminal output readability.
  • Item Navigation and Selection - Filters lists of options using fuzzy matching for single or multiple item selection.
  • Terminal UI Layouts - Provides declarative primitives for arranging terminal UI elements using a box-model approach.
  • Fuzzy Matching - Uses string similarity algorithms to filter and rank list items for rapid selection.
  • Background Processing Tools - Displays animated spinners to indicate activity during background command execution.
  • Viewport Navigators - Provides a scrollable viewport for viewing and navigating lengthy text content within the terminal.
  • Terminal Viewports - Manages scrollable regions and windowing logic to render large text buffers within constrained terminal dimensions.
  • Terminal Layout Engines - Structures command-line interfaces by arranging components into organized layouts.
  • Selection Tables - Displays structured data in tables and allows users to select specific rows for further processing.
  • Standard Input/Output Streams - Integrates with shell environments by reading from standard input and writing to standard output.
  • Content Display Components - Renders long documents in a scrollable viewport with line numbers and display settings.
  • Text Formatting Utilities - Formats command-line output using markdown, code highlighting, and templates.
  • Text Styling - Renders text with custom colors, styles, and markdown support.
  • Visual Status Indicators - Provides visual feedback through spinners and formatted logs to communicate task status.

Star history

Star history chart for charmbracelet/gumStar history chart for charmbracelet/gum

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Frequently asked questions

What does charmbracelet/gum do?

Gum is a toolkit for building interactive, visually styled command-line interfaces and prompts directly within shell scripts. It functions as a library of modular components that allow developers to enhance terminal workflows by adding structured layouts, formatted text, and user-input widgets to standard command-line operations.

What are the main features of charmbracelet/gum?

The main features of charmbracelet/gum are: Interactive CLI Tooling, Terminal UI Frameworks, ANSI Escape Sequence Renderers, Shell Scripting Utilities, Terminal Output Stylers, Interactive Command Interfaces, Progress Indicators, Model-View-Update Runtimes.

What are some open-source alternatives to charmbracelet/gum?

Open-source alternatives to charmbracelet/gum include: willmcgugan/rich — Rich is a Python terminal formatting library and user interface framework. It provides tools for rendering rich text,… vadimdemedes/ink — Ink is a declarative framework for building interactive command-line applications using a component-based… charmbracelet/bubbles — Bubbles is a terminal user interface toolkit and component library providing a set of pre-built, reusable widgets for… charmbracelet/bubbletea — This framework provides a functional architecture for building interactive command-line applications. It utilizes a… rivo/tview — tview is a library for building interactive text-based user interfaces in Go. It functions as a toolkit for managing… filamentphp/filament — Filament is a full-stack framework for building administrative panels and management interfaces within the Laravel…

Open-source alternatives to Gum

Similar open-source projects, ranked by how many features they share with Gum.
  • willmcgugan/richwillmcgugan avatar

    willmcgugan/rich

    56,640View on GitHub↗

    Rich is a Python terminal formatting library and user interface framework. It provides tools for rendering rich text, colors, and complex layouts within a terminal environment, including specialized formatters for markdown and source code syntax highlighting. The library distinguishes itself through high-level UI components such as tables with unicode borders, hierarchical tree views for nested data structures, and a system for building structured terminal user interfaces. It also includes a debugging visualizer for pretty-printing complex data and formatting error tracebacks. The capability

    Python
    View on GitHub↗56,640
  • vadimdemedes/inkvadimdemedes avatar

    vadimdemedes/ink

    38,933View on GitHub↗

    Ink is a declarative framework for building interactive command-line applications using a component-based architecture. It functions as a console renderer that maps component trees to terminal output buffers, allowing developers to manage stateful interfaces through standard component reconciliation. By translating high-level layout and style properties into terminal control codes, it enables the creation of responsive, dynamic interfaces within the console. The framework distinguishes itself by integrating a cross-platform layout engine that applies a flexible box model to the character-base

    TypeScriptclicommand-lineflexbox
    View on GitHub↗38,933
  • charmbracelet/bubblescharmbracelet avatar

    charmbracelet/bubbles

    7,796View on GitHub↗

    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 capabilitie

    Goclielm-architecturehacktoberfest
    View on GitHub↗7,796
  • charmbracelet/bubbleteacharmbracelet avatar

    charmbracelet/bubbletea

    43,164View on GitHub↗

    This framework provides a functional architecture for building interactive command-line applications. It utilizes a reactive runtime engine that synchronizes application state, user input, and visual output through a central event-driven message loop. By employing a unidirectional data flow pattern, the framework separates the definition of application state from the logic that processes updates and the declarative rendering process that transforms state into terminal-ready output. The framework distinguishes itself through its approach to side-effect management and terminal environment adapt

    Goclielm-architectureframework
    View on GitHub↗43,164
  • See all 30 alternatives to Gum→