49 repositorios
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 es una biblioteca de Node.js para crear interfaces de línea de comandos interactivas para recopilar datos estructurados del usuario. Proporciona un conjunto de prompts de terminal, incluyendo menús, formularios y campos de texto, para recopilar datos mediante autocompletado, selección múltiple y confirmaciones booleanas. El proyecto sirve como un framework personalizable que permite la creación de tipos de prompt personalizados a través de una clase base y la extensión de la funcionalidad mediante una arquitectura de plugins. La biblioteca cubre una amplia gama de patrones de interacción, como la captura de datos numéricos y sensibles, la validación de la entrada del usuario frente a reglas personalizadas y la ejecución de secuencias de prompts para recopilar comentarios complejos. También incluye capacidades para ordenar listas, rellenar fragmentos de texto y gestionar la recopilación de formularios en la 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 es un editor de texto basado en terminal diseñado para imitar la experiencia de usuario y la interfaz de un editor de código gráfico dentro de un entorno de línea de comandos. Funciona tanto como editor de texto como gestor de archivos con interfaz de usuario de texto (TUI), proporcionando una barra lateral navegable para organizar y cambiar entre archivos y directorios. El editor está construido para ser extensible mediante un sistema de plugins que permite cargar scripts y paquetes externos para añadir nuevas características y funcionalidades principales. Los usuarios pueden personalizar el flujo de trabajo del editor remapeando atajos de teclado, ajustando parámetros de rendimiento y modificando la apariencia de la interfaz, incluyendo colores y estilos de texto. Las capacidades principales incluyen edición de texto basada en terminal con resaltado de sintaxis, soporte de interacción con el ratón para selección y navegación, e integración con el portapapeles del sistema operativo. El sistema también mantiene un stack de historial lineal para operaciones de deshacer y rehacer, y admite la manipulación de archivos en servidores remotos mediante SSH.
Terminal-based text editor.
colors.js es una biblioteca de colores de terminal de Node.js y herramienta de estilo de texto de consola. Sirve como un envoltorio de código de escape ANSI, proporcionando una API de alto nivel para aplicar colores de primer plano y fondo, estilos y patrones decorativos a la salida de la consola. La biblioteca incluye un formateador de salida de terminal capaz de crear efectos visuales especializados, como patrones de arco iris y cebra. Emplea un mecanismo para detectar automáticamente el soporte de color de la terminal o permitir anulaciones manuales del estilo visual. La herramienta cubre una amplia gama de formato de texto, incluyendo atributos de énfasis de texto como negrita, cursiva, subrayado y tachado. Estas capacidades se utilizan para el estilo de salida de terminal y la visualización de registros de consola para organizar la información dentro de las interfaces de línea de comandos.
Console color styling.
🐈 CLI app helper
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.