36 dépôts
Frameworks and components used to build interactive, text-based user interfaces within terminal environments.
Explore 36 awesome GitHub repositories matching operating systems & systems programming · Terminal Interfaces. Refine with filters or upvote what's useful.
Nerd Fonts is a suite of tools and collections designed for aggregating glyphs, patching programming fonts, and generating web-ready font assets. It provides an iconic font patcher for injecting large sets of icons into existing system fonts, a glyph aggregator that consolidates symbols from multiple icon sets, and a collection of pre-patched monospaced typefaces for use in terminals and editors. The project includes a font metrics tool to adjust glyph widths and cell sizing, ensuring consistent icon alignment in monospace environments. It also features a web font generator that converts patc
Integrates a wide range of glyphs and icons into fonts to support status lines and shell prompts.
This project is a community-driven repository of simplified, example-based reference guides for command-line tools. It functions as an open-source knowledge base designed to provide concise, practical usage examples that help developers navigate complex software without the need for lengthy technical documentation. The system relies on a decentralized architecture where independent client applications fetch and render documentation locally. This approach ensures that reference materials remain accessible offline while supporting a wide variety of user interfaces across desktop, mobile, and we
Powers diverse community-built terminal clients that offer specialized ways to interact with the underlying reference data.
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
Provides a suite of components for representing structured data and progress through tables, bars, and spinners.
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfac
Constructs sophisticated terminal interfaces using a versatile set of layout primitives and interactive visual components.
Dive is a command-line tool designed for the analysis and optimization of container images. It functions as a layered storage inspector, allowing users to decompose image manifests to examine individual filesystem layers and identify opportunities to reduce total image size. The tool features a filesystem diffing engine that calculates net changes between sequential layers to highlight redundant data and storage inefficiencies. Users interact with this data through a terminal-based dashboard that provides keyboard-driven navigation of complex file structures and layer metadata. By abstracting
Navigates internal file systems and metadata layers through an interactive, terminal-based interface.
Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured set of tools for building interactive terminal interfaces, including menus, checklists, and text inputs, to gather user data and manage complex interactions. The framework allows for the creation of dynamic user experiences through branching prompt logic and the resolution of asynchronous configurations. Users can define custom prompts using a provided API and localize interface text into different languages. The library covers a wide range of input capabilities, including sing
Ships a set of components for building interactive terminal menus, checklists, and text inputs.
This project is a terminal-based music controller that provides a text-based interface for managing audio streaming, library navigation, and playback device selection. It functions as a client for remote music services, allowing users to browse catalogs, control playback states, and manage their streaming accounts directly from the command line. The application distinguishes itself through a highly customizable interface and automation capabilities. Users can modify the visual layout, adjust themes, and define custom keyboard shortcuts to create a personalized control workflow. Beyond interac
Offers a highly customizable terminal interface for browsing and controlling music.
This project is a modular, terminal-based dashboard framework designed to aggregate and display real-time information within a grid-aligned interface. It functions as a centralized monitoring tool that translates data from local system resources, infrastructure services, and external web APIs into a unified, text-based display. The dashboard is distinguished by its plugin-based architecture, which allows users to encapsulate distinct data sources and display logic into isolated, independently managed modules. Users define their workspace through declarative configuration files or an interacti
Organizes interface components into a flexible coordinate system that allows users to define row and column spans for dashboard widgets.
blessed-contrib is a terminal user interface framework and a Node.js console widget library designed for building data-driven command line interfaces. It serves as an ASCII data visualization toolkit and a dashboard framework for organizing grid-based layouts and interactive elements within a console. The project provides a collection of reusable terminal components, including a command line image renderer and tools for text-based graphic rendering. It specifically enables the creation of terminal dashboards through a system for positioning multiple widgets across rows and columns and a mecha
Offers a system for positioning terminal widgets using a coordinate-based grid of rows and columns.
webpack-dashboard is a terminal-based build monitor and asset viewer designed for the Webpack development process. It provides a command line interface to track compilation status, monitor development server activity, and organize build errors for debugging. The tool integrates as a Webpack plugin to intercept compilation events and extract asset metadata. It utilizes a terminal-UI layout engine and state-driven rendering to display build progress and logs in a structured grid of dynamic windows. The system includes capabilities for real-time build log visualization and asset filtering using
Implements a terminal layout engine to organize logs and build statistics into a structured grid of windows.
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
Provides a library for building sophisticated command-line interfaces with complex layouts and interactive components.
Powerlevel10k is a customizable Zsh theme framework and command line prompt customizer designed to create a visual shell status dashboard. It provides a toolkit for defining the layout, colors, and segments of a terminal prompt to improve the command line user experience. The project distinguishes itself through a flexible configuration system for prompt appearance and layout, allowing users to organize information segments across multiple lines and visually merge adjacent blocks. It supports extensive visual customization, including the use of custom font codepoints for icons and state-based
Features a layout engine that organizes prompt components across multiple vertical lines using shell escape sequences.
Tig is a terminal-based interface for version control systems that functions as an interactive visual layer over standard command-line operations. It provides a text-based environment for navigating commit history, managing staging areas, and inspecting file changes directly within the terminal. By utilizing a split-view layout, the application allows users to view logs, diffs, and status information simultaneously for efficient code analysis. The tool distinguishes itself through a state-driven navigation model that processes piped output from version control utilities into structured, color
Provides an interactive, text-based user interface within the terminal using low-level character libraries.
Broot is an interactive terminal file manager designed for navigating, searching, and manipulating complex file system hierarchies. It provides a visual tree-based interface that allows users to explore disk contents, manage file operations, and execute shell commands directly within the command line environment. The tool distinguishes itself through real-time fuzzy searching and recursive tree traversal, which filter directory structures as you type to maintain a clear, relevant view of the file system. It integrates version control status directly into the navigation view, displaying branch
Renders interactive, text-based user interfaces directly within the terminal using low-level control sequences.
Spectre.Console is a .NET framework designed for building structured, feature-rich command-line applications. It provides a comprehensive toolkit for managing complex command hierarchies, type-safe argument parsing, and dependency injection, allowing developers to decouple business logic from input processing while maintaining modular application designs. The framework distinguishes itself through a sophisticated terminal user interface toolkit that enables the creation of dynamic, interactive console experiences. It utilizes a markup-based rendering system to display styled text, tables, cha
Renders structured data like tables, charts, and trees to present information clearly within a standard console environment.
gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based applications. It provides a structured system for composing terminal views using a view hierarchy and a dedicated layout engine. The library distinguishes itself through a component-based widget system and a constraint-based layout engine that allows interfaces to remain responsive across different terminal window dimensions. It employs a virtual-screen buffer to minimize flickering during redraws and uses state-driven theme configurations to maintain persistent visual styles.
A collection of buttons, checkboxes, menus and data tables for rendering high-fidelity terminal displays.
This project is a command-line utility designed to monitor and analyze token consumption and financial expenditure for AI coding assistants. By parsing local session logs directly on the user's machine, it provides a privacy-focused way to track development activity without transmitting sensitive data to external servers. The tool distinguishes itself through its ability to aggregate disparate log formats from multiple coding assistants into a unified, schema-agnostic representation. It features a decoupled pricing engine that allows users to apply custom model-specific cost multipliers, over
Renders structured usage summaries and diagnostic data directly to the command line with support for multiple output formats.
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
Implements a grid-based layout engine for composing complex, multi-layered terminal interfaces.
python-prompt-toolkit is a Python library and terminal user interface framework used for building interactive command line interfaces. It provides a toolkit for constructing complex terminal applications with advanced input handling and layout management. The project features a real-time syntax highlighting engine and a rendering system that ensures correct alignment and display of double-width Unicode characters. It includes specialized capabilities for command line autocompletion, providing ghost text suggestions and searchable input history. The framework covers a broad range of interface
Offers a full framework for creating sophisticated terminal interfaces with mouse support and multi-line editing.
Up is an interactive shell pipeline tool and Linux pipeline builder designed for prototyping text-processing sequences. It provides a terminal user interface for constructing chains of shell commands while displaying real-time data transformations. The tool allows for the iterative development of command sequences with an instant live preview of processing results. Once a sequence is finalized, it functions as a shell script generator that exports the completed pipeline into a reusable script file. The workspace includes capabilities for terminal data exploration and text processing workflow
Implements a text-based workspace for exploring data streams and managing buffers.