49 repository-uri
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 este o bibliotecă Node.js pentru crearea de interfețe interactive de linie de comandă pentru a colecta input structurat de la utilizator. Oferă un set de prompt-uri de terminal, inclusiv meniuri, formulare și câmpuri de text, pentru a colecta date prin completare automată, selecție multiplă și confirmări booleene. Proiectul servește ca un framework personalizabil care permite crearea de tipuri de prompt-uri personalizate printr-o clasă de bază și extinderea funcționalității printr-o arhitectură de plugin-uri. Biblioteca acoperă o gamă largă de tipare de interacțiune, cum ar fi capturarea datelor numerice și sensibile, validarea input-ului utilizatorului conform unor reguli personalizate și executarea secvențelor de prompt-uri pentru a colecta feedback complex. Include, de asemenea, capabilități pentru sortarea listelor, completarea fragmentelor de text și gestionarea colectării formularelor în terminal.
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 este un editor de text bazat pe terminal, conceput pentru a imita experiența utilizatorului și interfața unui editor de cod grafic într-un mediu de linie de comandă. Funcționează atât ca editor de text, cât și ca manager de fișiere cu interfață text-utilizator, oferind o bară laterală navigabilă pentru organizarea și comutarea între fișiere și directoare. Editorul este construit pentru extensibilitate printr-un sistem de plugin-uri care permite încărcarea de scripturi și pachete externe pentru a adăuga funcții noi și funcționalități de bază. Utilizatorii pot personaliza fluxul de lucru al editorului prin remapearea scurtăturilor de tastatură, ajustarea parametrilor de performanță și modificarea aspectului interfeței, inclusiv culorile și stilurile textului. Capabilitățile de bază includ editarea de text bazată pe terminal cu evidențierea sintaxei, suport pentru interacțiunea cu mouse-ul pentru selecție și navigare, și integrarea cu clipboard-ul sistemului de operare. Sistemul menține, de asemenea, un istoric liniar pentru operațiunile de undo și redo și suportă manipularea fișierelor pe servere la distanță prin SSH.
Terminal-based text editor.
colors.js este o bibliotecă de culori pentru terminalul Node.js și un instrument de stilizare a textului în consolă. Acesta servește drept wrapper pentru codurile de escape ANSI, oferind un API de nivel înalt pentru a aplica culori de prim-plan și fundal, stiluri și modele decorative output-ului din consolă. Biblioteca include un formator de output pentru terminal capabil să creeze efecte vizuale specializate, cum ar fi modelele curcubeu și zebră. Utilizează un mecanism pentru a detecta automat suportul pentru culori al terminalului sau pentru a permite suprascrieri manuale ale stilizării vizuale. Instrumentul acoperă o gamă largă de formatare a textului, inclusiv atribute de accentuare a textului precum bold, italic, subliniat și tăiat. Aceste capabilități sunt utilizate pentru stilizarea output-ului din terminal și vizualizarea log-urilor din consolă pentru a organiza informațiile în cadrul interfețelor de linie de comandă.
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.