49 Repos
Frameworks and tools for building command-line interfaces.
Explore 49 awesome GitHub repositories matching part of an awesome list · CLI Frameworks. Refine with filters or upvote what's useful.
Commander.js is a framework for building command-line interfaces and terminal applications. It functions as an argument parsing library and command lifecycle manager, transforming raw terminal input strings into structured, validated objects for use in executable scripts. The system utilizes a recursive command tree pattern, allowing developers to organize complex execution flows through nested subcommands. It features a declarative interface for defining command-line flags and arguments, which maps user input directly to internal state properties. To assist with usability, the framework auto
Complete solution for CLI development.
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
CLI string styling tool.
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
Interactive CLI prompt collection.
Commitizen is a command-line utility designed to enforce consistent commit message formatting within version control systems. By guiding developers through interactive prompts, the tool ensures that every commit adheres to predefined standards, resulting in a predictable and searchable project history. The system utilizes a plugin-based adapter pattern that allows for the dynamic loading of custom commit formats and validation logic. This configuration-driven approach enables teams to define specific templates for message construction, which are then populated via user input to maintain stric
Commitizen CLI utility.
yargs is a command-line interface framework and argument parser for Node.js. It translates raw command-line strings into structured JavaScript objects, providing a toolkit for building terminal applications with nested sub-commands, dedicated handlers, and a structured user interface. The framework distinguishes itself through automated help text generation, which constructs formatted usage menus and instructions based on registered metadata. It also provides shell completion generation for Bash and Zsh and uses string-distance algorithms to offer typo correction suggestions when invalid inpu
Interactive CLI tool collection.
Ora is a terminal spinner library and Node.js CLI component used to integrate animated loading indicators and task-outcome symbols into JavaScript-based terminal applications. It functions as a progress visualizer that signals the status of command-line operations through animated sequences of characters. The library provides promise-based spinner wrapping, allowing animations to start and resolve automatically based on the outcome of asynchronous tasks. It replaces active animations with specific success, failure, warning, or info symbols to communicate the final result of a process. The to
Elegant CLI loading spinners.
oclif is a Node.js framework for building command-line interfaces. It provides a structured system for developing terminal applications with consistent command patterns, argument parsing, and automated help generation. The project features a modular plugin architecture that allows for external functionality to be injected via a manifest-based loading mechanism. It includes a dedicated distribution pipeline and packager to bundle applications into OS-native installers and tarballs for Windows, macOS, and Linux. The framework covers a broad range of development capabilities, including project
CLI framework for Node.js.
This project is a Node.js CLI input library and toolkit for building interactive command-line user interfaces. It functions as a questionnaire framework and prompt orchestrator designed to capture structured user data through a variety of visual input controls. The system differentiates itself through a logic-driven engine that supports dynamic prompt chains, allowing the sequence and properties of questions to adapt at runtime based on previous user answers. The toolkit provides a wide range of specialized input types, including date pickers, searchable lists, masked passwords, and numeric
Lightweight interactive CLI prompts.
Enquirer ist eine Node.js-Bibliothek zum Erstellen interaktiver Befehlszeilenschnittstellen zur Erfassung strukturierter Benutzereingaben. Sie bietet eine Reihe von Terminal-Prompts, einschließlich Menüs, Formularen und Textfeldern, um Daten über Autocomplete, Multiselect und boolesche Bestätigungen zu sammeln. Das Projekt dient als anpassbares Framework, das die Erstellung benutzerdefinierter Prompt-Typen durch eine Basisklasse und die Erweiterung der Funktionalität über eine Plugin-Architektur ermöglicht. Die Bibliothek deckt eine breite Palette von Interaktionsmustern ab, wie das Erfassen numerischer und sensibler Daten, das Validieren von Benutzereingaben gegen benutzerdefinierte Regeln und das Ausführen von Prompt-Sequenzen zur Erfassung komplexen Feedbacks. Sie enthält zudem Funktionen zum Sortieren von Listen, Ausfüllen von Text-Snippets und Verwalten der Terminal-Formularerfassung.
User-friendly CLI prompt library.
Plop is a template-based code generator and interactive command-line scaffolding tool. It functions as a file system automation engine that uses a pipeline of prompt-driven tasks and regular expression replacements to generate and modify codebase structures. The framework combines Handlebars templates with interactive terminal prompts to automate boilerplate code generation. It allows for the enforcement of codebase patterns through shared generators and provides the ability to embed the engine into custom command-line tools. The system covers the creation of project files from templates and
Micro-generator for code templates.
Slap ist ein terminalbasierter Texteditor, der darauf ausgelegt ist, die User Experience und das Interface eines grafischen Code-Editors in einer Kommandozeilenumgebung nachzuahmen. Er fungiert sowohl als Texteditor als auch als TUI-Dateimanager und bietet eine navigierbare Seitenleiste zum Organisieren und Wechseln zwischen Dateien und Verzeichnissen. Der Editor ist auf Erweiterbarkeit durch ein Plugin-System ausgelegt, das das Laden externer Skripte und Pakete ermöglicht, um neue Features und Kernfunktionalitäten hinzuzufügen. Benutzer können den Editor-Workflow durch das Neubelegen von Tastenkürzeln, das Anpassen von Performance-Parametern und das Modifizieren des Interface-Erscheinungsbilds, einschließlich Farben und Text-Styles, anpassen. Zu den Kernfunktionen gehören terminalbasiertes Editieren mit Syntax-Highlighting, Mausunterstützung für Auswahl und Navigation sowie die Integration in die Zwischenablage des Betriebssystems. Das System verwaltet zudem einen linearen History-Stack für Undo- und Redo-Operationen und unterstützt Dateimanipulation auf Remote-Servern via SSH.
Terminal-based text editor.
colors.js is a Node.js terminal color library and console text styling tool. It serves as an ANSI escape code wrapper, providing a high-level API to apply foreground and background colors, styles, and decorative patterns to console output. The library includes a terminal output formatter capable of creating specialized visual effects, such as rainbow and zebra patterns. It employs a mechanism to automatically detect terminal color support or allow for manual overrides of visual styling. The tool covers a broad range of text formatting, including text emphasis attributes like bold, italic, un
Console color styling.
Meow is a Node.js command line argument parser that converts raw input strings into structured objects. It functions as a tool for processing flags and positional arguments according to POSIX and shell conventions. The library provides a system for enforcing required arguments and verifying data types for command line inputs. It also serves as a helper for managing version strings, help menus, and subcommand routing within terminal applications. The project covers the broader surface of command line interface development, including input validation and the direction of execution paths via ke
CLI application helper.
` $ npm install --save listr `
CLI task lists.
` . . /\ \ /| |/ /| | / | || / / / | | ) | / \ | | / \ \ | |/ / / / \ \/ / | \ | \ \\ \ |\ /| | | |\ \ / / | | \ \ \ / ||\ //\ >| /\ /\| / > / / || / > \/ \/ \/ \/ \_| \/ \/ \/ `
FIGfont implementation for text banners.
Flexible ascii progress bar.
Flexible ASCII progress bars.
cac is a Node.js CLI framework used to build command line interfaces with a declarative API. It functions as a command line argument parser and a command dispatcher that maps terminal input keywords to specific JavaScript callback functions. The framework features an automated help generator that produces usage instructions and version documentation based on the defined command structures. It manages command aliases and provides a routing system to link specific keyword inputs to execution logic. The toolkit covers command interface definition, including the configuration of global and comma
Framework for building CLI applications.
Logs a progress bar and estimation for how long a Promise will take to complete. This library tracks previous durations in order to provide more accurate estimates over time.
Progress bar with Promise completion estimation.
Inform users of updates for your package in a non-intrusive way.
Update notifications for CLI apps.
The fastest Node.js library for formatting terminal text with ANSI colors~!
Fast CLI text coloring.