28 Repos
Frameworks and libraries for building command-line interfaces.
Explore 28 awesome GitHub repositories matching part of an awesome list · CLI Tools. Refine with filters or upvote what's useful.
This project is a command-line media downloader designed for the systematic retrieval and organization of digital content from diverse online platforms. It functions as an extensible extraction engine that utilizes a declarative format-selection pipeline to automate the identification, merging, and downloading of specific audio and video streams based on user-defined criteria. The system distinguishes itself through a modular architecture that supports custom plugins and site-specific scripts, allowing for the bypass of platform restrictions and the handling of complex authentication challeng
Listed in the “CLI Tools” section of the Awesome Python awesome list.
This tool is a rule-based engine designed to automate the correction of failed terminal commands. By integrating directly into the shell environment, it intercepts command execution errors, analyzes exit codes and output streams, and applies corrective logic to resolve typos or syntax mistakes. It functions as a persistent background utility that monitors command history to provide immediate remediation for input failures. The system distinguishes itself through a modular, plugin-oriented architecture that allows for extensive customization. Users can define their own correction rules via scr
Listed in the “CLI Tools” section of the Awesome Python awesome list.
This project is a terminal multiplexer that enables multiple terminal sessions to run simultaneously within a single window or a detached background process. By decoupling the client interface from a persistent server process, it allows users to maintain long-running command-line tasks that continue to execute even after disconnecting from a remote host. The system functions as a terminal window manager and process controller, providing a text-based interface to organize multiple shell processes into custom tiled layouts. It distinguishes itself through a programmable command-line interface t
Listed in the “CLI Tools” section of the Awesome Python awesome list.
HTTPie is a command-line HTTP client and REST API testing tool designed for sending requests to web services and APIs. It functions as a JSON-native network client and interactive HTTP debugger, providing a terminal interface for constructing and validating API requests and responses. The tool simplifies the process of interacting with APIs by automatically handling JSON payloads and applying colorized formatting to responses for human readability. It supports the simulation of request generation to verify headers and bodies before they are sent over the network. The project covers a broad r
User-friendly CLI HTTP client for API testing.
This project is a terminal-based HTTP client designed for interacting with web services, debugging APIs, and automating network requests. It provides a specialized command-line interface that simplifies the construction of complex HTTP exchanges, allowing users to test and inspect web services directly from the shell. The tool distinguishes itself through a declarative syntax engine that translates shorthand command-line tokens into fully formed HTTP requests, including headers, parameters, and body payloads. It features a modular, plugin-based architecture that enables users to extend core f
Listed in the “CLI Tools” section of the Awesome Python awesome list.
Cookiecutter is a command-line project templating engine and scaffolding tool used to automate the creation of software project structures. It functions as a project automator that generates initialized repositories and directories from predefined templates using variable substitution. The system utilizes the Jinja2 templating language to render files and folders, transforming generic blueprints into customized codebases based on user input. It supports template distribution via Git repositories or zip archives, allowing for the standardization of development environments across teams. The t
Listed in the “CLI Tools” section of the Awesome Python awesome list.
Vundle.vim is a plugin manager and configuration orchestrator for Vim. It allows users to install, update, and remove external extensions based on a central configuration file to maintain consistent editor environments across different machines. The system automates the acquisition of plugin bundles by using Git to clone and track source code. It manages the plugin lifecycle through configuration-driven installation and includes capabilities for searching and discovering new scripts. To ensure extensions are available without restarting the editor, the tool manages the Vim runtime path and r
Plugin manager for the Vim text editor.
This project is a Vim configuration distribution and IDE framework designed to transform Vim into a full-featured development environment. It functions as an environment bootstrapper that automates the cloning and installation of editor configurations and plugin bundles to ensure a consistent setup across different machines. The distribution uses a structured layer of settings and overrides, allowing users to customize the environment via local and fork-specific files without modifying the base source. It provides a curated collection of extensions that enable IDE-like capabilities for code n
Highly optimized configuration for the Vim editor.
pgcli is an interactive command-line interface and database management tool for PostgreSQL. It functions as an interactive SQL shell and query editor that allows users to inspect schemas, manage connections, and run queries against PostgreSQL data sources. The tool is distinguished by its real-time, schema-aware autocompletion for keywords, tables, and columns, as well as dynamic SQL syntax highlighting. It provides safety mechanisms through transaction-aware guardrails that warn against or block destructive statements when no active transaction is detected. Broad capabilities include secure
Listed in the “CLI Tools” section of the Awesome Python awesome list.
mycli is a MySQL command line client, database administration tool, and SQL query editor. It functions as a terminal interface for executing queries and managing MySQL connections, incorporating an integrated assistant that uses large language models to generate and analyze SQL statements based on the current database schema. The tool provides specialized query authoring capabilities, including context-sensitive syntax suggestions, fuzzy-matching identifier completion for tables and columns, and the ability to handover query buffers to external system text editors. It distinguishes its connec
Listed in the “CLI Tools” section of the Awesome Python awesome list.
spectre.console is a .NET console UI library and command-line interface framework used to build rich user interfaces for console applications. It functions as a console text markup processor and terminal layout engine to provide advanced text styling and structured data organization. The library enables the creation of visually organized interfaces using a system of tables, grids, and panels. It utilizes a dedicated markup language to apply colors and styles to terminal output, allowing for the rendering of formatted text and complex visual structures.
Library for creating beautiful console applications.
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.
Terminal UI toolkit for .NET.
Xonsh is a cross-platform command-line interface shell and automation tool that integrates a full Python interpreter with standard shell capabilities. It functions as a Python-powered environment where users can mix native programming logic and external subprocesses within a single shared namespace. The shell is designed for extensibility, supporting a plugin system, custom event hooks, and the ability to import configurations from other shells such as Bash or Zsh. It differentiates itself by representing system environment variables and paths as mutable Python objects, allowing for programma
Listed in the “CLI Tools” section of the Awesome Python awesome list.
CliWrap ist eine asynchrone Prozess-Manager- und Wrapper-Bibliothek für Kindprozesse, mit der externe Befehle ausgeführt und Command-Line-Interfaces in Anwendungen integriert werden können. Sie bietet ein Framework zum Starten externer Programme mittels asynchroner Muster, zur Verwaltung von Kindprozessen und zur Validierung von Exit-Codes. Die Bibliothek zeichnet sich dadurch aus, dass sie Standard-Input-, Output- und Error-Streams an Speicherpuffer oder Echtzeit-Event-Streams weiterleiten kann. Sie ermöglicht die Echtzeit-Überwachung von Prozess-Output-Zeilen und unterstützt das Beenden von Prozessen über Cancellation-Tokens. Das Projekt deckt ein breites Spektrum an Funktionen für das externe Prozessmanagement ab, einschließlich der Konfiguration von Umgebungsvariablen, der Umleitung von Standard-Streams und der Erfassung von Prozess-Output zur weiteren Verwendung als Daten innerhalb einer Anwendung.
Wrapper for executing command-line interfaces.
Diese Bibliothek ist ein .NET-Kommandozeilen-Parser für C# und F#, der POSIX-getopt-Konventionen implementiert, um Shell-Argumente in stark typisierte Objekte zu mappen. Sie bietet ein Framework für die Erstellung von Konsolenanwendungen, die Unix-artige Flags und Optionen verarbeiten. Das Projekt verfügt über ein Routing-System, das die Programmausführung basierend auf aktionsorientierten Verben steuert und Sub-Commands sowie Standardaktionen unterstützt. Es enthält einen automatischen Hilfe-Generator, der lokalisierte Nutzungshinweise und formatierte Hilfebildschirme basierend auf den definierten Befehlsoptionen erstellt. Das Toolset deckt das Argument-Parsing mit stark typisiertem Mapping, Eingabevalidierung für sich gegenseitig ausschließende oder erforderliche Optionen sowie die Möglichkeit ab, befüllte Options-Objekte zurück in Kommandozeilen-Strings zu serialisieren.
Concise API for manipulating command-line arguments.
tmuxp ist ein tmux-Session-Manager und deklarativer Workspace-Orchestrator, der die Erstellung und Organisation von Sessions, Fenstern und Panes automatisiert. Er fungiert als libtmux-Automatisierungs-Wrapper und ermöglicht es Benutzern, komplexe Terminal-Layouts und initiale Shell-Befehle mittels YAML- oder JSON-Konfigurationsdateien zu definieren. Das Projekt zeichnet sich als Terminal-Layout-Snapshot-Tool aus, das in der Lage ist, den Status einer laufenden Session zu erfassen und als reproduzierbare Konfiguration zu speichern. Es unterstützt zudem die Terminal-Workflow-Automatisierung durch die Ausführung von Bootstrap-Aufgaben und Startup-Skripten, um Umgebungen vor dem Start interaktiver Sessions vorzubereiten. Zu den weiteren Funktionen gehören Headless-Terminal-Orchestrierung für automatisierte Pipelines, Umgebungsvariablen-Management für dynamische Auflösung und eine Plugin-Architektur für benutzerdefinierte Session-Konstruktionen. Das System bietet zudem Tools für Session-Status-Suspendierung, Live-Session-Capture und Echtzeit-Statusinspektion über eine interaktive Konsole.
Listed in the “CLI Tools” section of the Awesome Python awesome list.
Because sometimes you need to do it live
Listed in the “CLI Tools” section of the Awesome Python awesome list.
Library and command-line utility for rendering projects templates.
Listed in the “CLI Tools” section of the Awesome Python awesome list.
CLI for SQLite Databases with auto-completion and syntax highlighting
Listed in the “CLI Tools” section of the Awesome Python awesome list.
Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
Listed in the “CLI Tools” section of the Awesome Python awesome list.