49 dépôts
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 est une bibliothèque Node.js pour créer des interfaces en ligne de commande interactives afin de recueillir des entrées utilisateur structurées. Elle fournit un ensemble d'invites de terminal, y compris des menus, des formulaires et des champs de texte, pour collecter des données via l'autocomplétion, la sélection multiple et les confirmations booléennes. Le projet sert de framework personnalisable qui permet la création de types d'invites personnalisés via une classe de base et l'extension des fonctionnalités via une architecture de plugins. La bibliothèque couvre un large éventail de modèles d'interaction, tels que la capture de données numériques et sensibles, la validation des entrées utilisateur par rapport à des règles personnalisées, et l'exécution de séquences d'invites pour recueillir des retours complexes. Elle inclut également des capacités pour trier des listes, remplir des extraits de texte et gérer la collecte de formulaires dans le 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 est un éditeur de texte basé sur le terminal conçu pour imiter l'expérience utilisateur et l'interface d'un éditeur de code graphique dans un environnement en ligne de commande. Il fonctionne à la fois comme un éditeur de texte et un gestionnaire de fichiers en interface texte, fournissant une barre latérale navigable pour organiser et basculer entre les fichiers et les répertoires. L'éditeur est conçu pour l'extensibilité via un système de plugins qui permet le chargement de scripts et de packages externes pour ajouter de nouvelles fonctionnalités. Les utilisateurs peuvent personnaliser le workflow de l'éditeur en remappant les raccourcis clavier, en ajustant les paramètres de performance et en modifiant l'apparence de l'interface, y compris les couleurs et les styles de texte. Les capacités principales incluent l'édition de texte dans le terminal avec coloration syntaxique, la prise en charge de l'interaction à la souris pour la sélection et la navigation, et l'intégration avec le presse-papier du système d'exploitation. Le système maintient également une pile d'historique linéaire pour les opérations d'annulation et de rétablissement et prend en charge la manipulation de fichiers sur des serveurs distants via SSH.
Terminal-based text editor.
colors.js est une bibliothèque de couleurs de terminal Node.js et un outil de style de texte de console. Il sert de wrapper de code d'échappement ANSI, fournissant une API de haut niveau pour appliquer des couleurs de premier plan et d'arrière-plan, des styles et des motifs décoratifs à la sortie de la console. La bibliothèque inclut un formateur de sortie de terminal capable de créer des effets visuels spécialisés, tels que des motifs arc-en-ciel et zébrés. Elle utilise un mécanisme pour détecter automatiquement la prise en charge des couleurs du terminal ou permettre des remplacements manuels du style visuel. L'outil couvre un large éventail de formatage de texte, y compris les attributs d'emphase de texte comme le gras, l'italique, le souligné et le barré. Ces capacités sont utilisées pour le style de sortie de terminal et la visualisation des logs de console afin d'organiser les informations au sein des interfaces de ligne de commande.
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.