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

0
View on GitHub↗
10,591 stars·311 forks·Go·mit·36 views

Lipgloss

This project is a framework for composing terminal interfaces through declarative styling and a grid-based layout engine. It provides a comprehensive toolkit for building responsive command-line applications by managing ANSI escape sequences, color profiles, and text rendering to ensure consistent visual output across different terminal environments.

The library distinguishes itself through its ability to automatically detect terminal capabilities and background themes, allowing it to adjust color schemes and downsample profiles for optimal readability. It utilizes a layered composition model that supports z-indexing and relative positioning, enabling the construction of complex, nested interfaces from individual styled components.

Beyond core styling, the toolkit includes utilities for rendering structured data such as tables and trees, as well as spatial hit testing for interactive elements. It handles the complexities of terminal display by calculating the visual width of multi-byte characters, managing text wrapping, and providing support for decorative borders and color gradients.

The library is designed for integration into Go-based command-line projects, offering a fluent API for defining immutable style objects and managing terminal output. It includes built-in support for legacy Windows console environments and provides tools for inspecting and debugging visual configurations.

Features

  • Terminal User Interfaces - Provides a framework for building visually rich command line interfaces using declarative styling and layout grids.
  • Terminal Layout Engines - Implements a grid-based layout engine for composing complex, multi-layered terminal interfaces.
  • ANSI Escape Sequence Renderers - Provides a comprehensive engine for managing and rendering ANSI escape sequences to style terminal output.
  • Terminal Layout Engines - Arranges text blocks and borders into complex grid structures that adapt to terminal dimensions.
  • Terminal Styling - Applies colors, decorations, and formatting to command line output with cross-terminal compatibility.
  • Terminal UI Frameworks - Offers a declarative framework for styling and building structured terminal user interfaces.
  • Grid Layout Engines - Arranges content using a virtual coordinate system with padding, margins, and alignment controls.
  • Declarative Style Objects - Provides a fluent API for defining immutable style objects to manage visual properties declaratively.
  • Terminal Output Formatters - Renders formatted text to standard output while automatically adjusting color profiles to terminal capabilities.
  • Terminal Color Schemes - Detects terminal background themes and capabilities to adjust foreground colors for optimal readability.
  • Data Visualization Components - Renders structured data like tables and trees with custom styles to improve terminal readability.
  • String Width Calculators - Calculates the true display width of text by accounting for multi-byte characters and ignoring ANSI sequences.
  • Terminal Text Styling - Applies visual formatting and ANSI styles to text while handling multi-byte characters.
  • Terminal-Agnostic Renderers - Converts composed grids of terminal cells into final string representations while preserving styles.
  • Visual Component Composition Systems - Supports z-indexing and relative positioning to build complex, nested interfaces from individual components.
  • Command Line Tools - Layout and styling for terminal interfaces.
  • Console Interfaces - Listed in the “Console Interfaces” section of the Awesome Go awesome list.
  • Terminal User Interfaces - Declarative styling for terminal layouts and colors.
  • Terminal Layout Engines - Manages fixed-size grids for precise placement and manipulation of character cells.
  • Terminal Capability Detectors - Queries host environments to detect terminal capabilities and adapt color profiles accordingly.
  • Terminal Environment Detection - Detects terminal background themes and capabilities to dynamically adjust color schemes.
  • Terminal Environment Detectors - Queries terminal emulators to detect supported features and environment states for adaptive rendering.
  • Windows Compatibility Layers - Configures legacy Windows consoles to interpret and render ANSI color sequences correctly.
  • Hierarchical Data Structures - Generates formatted tables, nested lists, and hierarchical trees with dynamic formatting based on data depth.
  • Adaptive Color Schemes - Automatically selects foreground colors based on detected terminal background brightness.
  • Measurement Tools - Calculates visual width and height of rendered text blocks by accounting for multi-cell characters.
  • Text Wrapping Utilities - Manages automatic text wrapping within boundaries while preserving ANSI styles and hyperlinks.
  • Gradient Generators - Generates one-dimensional or two-dimensional color gradients for text and borders.
  • Border Renderers - Constructs decorative frames around text blocks using customizable character sets for visual organization.
  • Hit Testing Systems - Identifies visual layers at specific coordinates to enable interactive terminal interfaces and mouse input.
  • Text Alignment - Provides utilities for horizontal and vertical text alignment within defined terminal dimensions.

Star history

Star history chart for charmbracelet/lipglossStar history chart for charmbracelet/lipgloss

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

Open-source alternatives to Lipgloss

Similar open-source projects, ranked by how many features they share with Lipgloss.
  • 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
  • junegunn/fzfjunegunn avatar

    junegunn/fzf

    81,017View on GitHub↗

    This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchrono

    Gobashclifish
    View on GitHub↗81,017
  • chalk/chalkchalk avatar

    chalk/chalk

    23,262View on GitHub↗

    Chalk is a Node.js console formatter and terminal styling library used to add colors and text modifiers to command line output. It functions as a tool for formatting strings with foreground colors, background tints, and text styles using ANSI escape sequences. The library includes a terminal color support detector that automatically determines the color depth and capabilities of the current environment. It features an ANSI color downsampler that converts RGB, Hex, or 256-color values to the nearest compatible format based on the detected terminal capabilities. The project provides capabiliti

    JavaScriptansiansi-escape-codeschalk
    View on GitHub↗23,262
  • gdamore/tcellgdamore avatar

    gdamore/tcell

    5,076View on GitHub↗

    tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab

    Go
    View on GitHub↗5,076
See all 30 alternatives to Lipgloss→

Frequently asked questions

What does charmbracelet/lipgloss do?

This project is a framework for composing terminal interfaces through declarative styling and a grid-based layout engine. It provides a comprehensive toolkit for building responsive command-line applications by managing ANSI escape sequences, color profiles, and text rendering to ensure consistent visual output across different terminal environments.

What are the main features of charmbracelet/lipgloss?

The main features of charmbracelet/lipgloss are: Terminal User Interfaces, Terminal Layout Engines, ANSI Escape Sequence Renderers, Terminal Styling, Terminal UI Frameworks, Grid Layout Engines, Declarative Style Objects, Terminal Output Formatters.

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

Open-source alternatives to charmbracelet/lipgloss include: gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… junegunn/fzf — This project is a general-purpose command-line filter that provides an interactive interface for processing standard… chalk/chalk — Chalk is a Node.js console formatter and terminal styling library used to add colors and text modifiers to command… gdamore/tcell — tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a… charmbracelet/bubbletea — This framework provides a functional architecture for building interactive command-line applications. It utilizes a… spectresystems/spectre.console — spectre.console is a .NET console UI library and command-line interface framework used to build rich user interfaces…