49 مستودعات
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 هو مكتبة Node.js لإنشاء واجهات سطر أوامر تفاعلية لجمع مدخلات المستخدم المنظمة. يوفر مجموعة من مطالبات الطرفية، بما في ذلك القوائم، والنماذج، وحقول النصوص، لجمع البيانات عبر الإكمال التلقائي، والاختيار المتعدد، وتأكيدات القيم المنطقية. يعمل المشروع كإطار عمل قابل للتخصيص يسمح بإنشاء أنواع مطالبات مخصصة من خلال فئة أساسية وتوسيع الوظائف عبر بنية إضافات. تغطي المكتبة مجموعة واسعة من أنماط التفاعل، مثل التقاط البيانات الرقمية والحساسة، والتحقق من مدخلات المستخدم مقابل قواعد مخصصة، وتنفيذ تسلسلات من المطالبات لجمع ملاحظات معقدة. كما تتضمن قدرات لفرز القوائم، وملء مقتطفات النصوص، وإدارة جمع نماذج الطرفية.
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 هو محرر نصوص يعتمد على الطرفية مصمم لمحاكاة تجربة المستخدم وواجهة محرر الكود الرسومي داخل بيئة سطر الأوامر. يعمل كمحرر نصوص ومدير ملفات بواجهة مستخدم نصية، ويوفر شريطاً جانبياً قابلاً للتنقل لتنظيم والتبديل بين الملفات والمجلدات. تم بناء المحرر ليكون قابلاً للتوسيع من خلال نظام إضافات يسمح بتحميل سكربتات وحزم خارجية لإضافة ميزات جديدة ووظائف أساسية. يمكن للمستخدمين تخصيص سير عمل المحرر عن طريق إعادة تعيين اختصارات لوحة المفاتيح، وضبط معلمات الأداء، وتعديل مظهر الواجهة، بما في ذلك الألوان وأنماط النصوص. تشمل القدرات الأساسية تحرير النصوص في الطرفية مع تمييز الصيغة، ودعم التفاعل بالماوس للاختيار والتنقل، والتكامل مع حافظة نظام التشغيل. يحتفظ النظام أيضاً بمكدس تاريخ خطي لعمليات التراجع والإعادة ويدعم معالجة الملفات على خوادم بعيدة عبر SSH.
Terminal-based text editor.
colors.js هي مكتبة ألوان طرفية لـ Node.js وأداة لتصميم نصوص وحدة التحكم. تعمل كمغلف لرموز الهروب ANSI، مما يوفر واجهة برمجة تطبيقات عالية المستوى لتطبيق ألوان المقدمة والخلفية، والأنماط، والأنماط الزخرفية على مخرجات وحدة التحكم. تتضمن المكتبة منسق مخرجات طرفي قادراً على إنشاء تأثيرات مرئية متخصصة، مثل أنماط قوس قزح والحمار الوحشي. تستخدم آلية لاكتشاف دعم ألوان الجهاز الطرفي تلقائياً أو السماح بالتجاوزات اليدوية للتصميم المرئي. تغطي الأداة مجموعة واسعة من تنسيق النصوص، بما في ذلك سمات تركيز النص مثل الغامق، والمائل، والتسطير، والتوسط. تُستخدم هذه القدرات لتصميم مخرجات الجهاز الطرفي وتصور سجل وحدة التحكم لتنظيم المعلومات داخل واجهات سطر الأوامر.
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.