16 مستودعات
Developer libraries and frameworks for building command-line applications — argument parsing, subcommands, and help generation. These are the building blocks engineers code against, not finished tools; for ready-to-run command-line apps see Command Line Interfaces.
Explore 16 awesome GitHub repositories matching development tools & productivity · CLI Frameworks. Refine with filters or upvote what's useful.
This project is a community-driven directory of software resources, libraries, and tools designed to support iOS application development. It serves as a centralized reference point for developers, organizing a vast ecosystem of third-party components into a searchable, structured index to facilitate discovery and project integration. The repository distinguishes itself through its collaborative curation model, which aggregates disparate utilities into a single, maintainable catalog. By leveraging a flat-file documentation structure, it provides a clear overview of the tools available for nati
Composes terminal tools and command-line interfaces using structured syntax.
Cobra is a development framework for building command-line applications in Go. It organizes application logic into a hierarchical tree structure where each node represents a command, complete with its own flags and execution logic. This structure allows developers to build complex, nested command interfaces that mirror business domains while maintaining a clean separation between command orchestration and underlying business logic. The framework distinguishes itself through its declarative approach to metadata and configuration. It automatically derives help documentation, usage instructions,
Provides the core structure for building professional command-line tools with nested subcommands and flags.
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
Provides a complete framework for defining nested command structures and action handlers.
This is a framework for building structured terminal applications in Go. It provides the core components necessary to define a command-line interface, including a system for managing commands, sub-commands, and their associated flags. The library distinguishes itself through an automated help generator that produces formatted usage instructions and manual pages, and a shell completion generator that creates tab-completion scripts for Bash, Zsh, Fish, and PowerShell. It also features a command lifecycle manager to handle pre- and post-execution logic and process exit codes. The toolkit covers
Provides a comprehensive framework for defining structured terminal applications with commands, flags, and actions.
This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili
Provides a library for building command-line interfaces by converting standard functions into executable programs using type hints.
Click is a Python framework for building command-line interfaces. It provides a declarative approach to defining command structures, allowing developers to map functions to command-line arguments, options, and nested groups using decorators. The framework handles the complexities of parameter parsing, type validation, and help documentation generation automatically. The project distinguishes itself through its hierarchical context system, which propagates configuration and state across nested commands, and its environment-aware parameter resolution that prioritizes command-line inputs, enviro
A library for building complex command-line interfaces with automatic help generation, parameter parsing, and nested command groups.
Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through strongly-typed data structures. It functions as a comprehensive framework for building terminal applications, automating the transformation of raw string inputs into validated, type-safe code representations while simultaneously generating help documentation and usage statements. The library distinguishes itself by offering both a declarative, attribute-based approach and a fluent builder-pattern API, allowing for flexible interface construction. It includes a sophisticated validation
Provides a toolkit for building complex command-line applications using attribute-based macros or programmatic builders to map inputs to code.
This project is a functional programming library and toolkit for building production TypeScript applications. It provides a system for managing concurrency, error handling, and resource lifecycles using functional effects. The project distinguishes itself through a comprehensive suite of specialized toolkits, including a dependency injection framework for decoupling service implementations, a workflow orchestrator for coordinating durable processes, and a SQL database toolkit for consistent data operations across multiple dialects. It also implements an OpenTelemetry instrumentation library f
Provides tools to create structured terminal applications that handle user input and execute commands.
Spectre.Console is a .NET framework designed for building structured, feature-rich command-line applications. It provides a comprehensive toolkit for managing complex command hierarchies, type-safe argument parsing, and dependency injection, allowing developers to decouple business logic from input processing while maintaining modular application designs. The framework distinguishes itself through a sophisticated terminal user interface toolkit that enables the creation of dynamic, interactive console experiences. It utilizes a markup-based rendering system to display styled text, tables, cha
Serves as a foundational library for building feature-rich command-line applications with integrated dependency injection and interactive prompts.
Console هو إطار عمل PHP CLI يستخدم لبناء تطبيقات طرفية تفاعلية. يعمل كأداة تطوير لواجهة سطر الأوامر ومنسق يدير دورة حياة أوامر الطرفية، ويعالج مدخلات المستخدم، وينتج مخرجات نصية منسقة. يتضمن المشروع كاشفاً لقدرات الطرفية لتحديد أوضاع الألوان وأبعاد النافذة في النظام لإنشاء تخطيطات متجاوبة. يوفر منسقاً لمخرجات وحدة التحكم لعرض النصوص المنسقة، والكتل ذات الحدود، وأشرطة التقدم، إلى جانب نظام لإنشاء واجهات طرفية تفاعلية. يغطي إطار العمل تنسيق الأوامر من خلال تكامل حاوية الخدمة وحقن التبعية (dependency injection). كما يوفر أدوات لإدارة مدخلات المستخدم وواجهة مخصصة لاختبار تنفيذ الأوامر للتحقق من تدفقات المخرجات والنتائج.
Serves as a comprehensive toolkit for building structured PHP command-line applications.
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
Provides a comprehensive framework for building structured CLI applications with argument parsing and help generation.
Enquirer هو مكتبة Node.js لإنشاء واجهات سطر أوامر تفاعلية لجمع مدخلات المستخدم المنظمة. يوفر مجموعة من مطالبات الطرفية، بما في ذلك القوائم، والنماذج، وحقول النصوص، لجمع البيانات عبر الإكمال التلقائي، والاختيار المتعدد، وتأكيدات القيم المنطقية. يعمل المشروع كإطار عمل قابل للتخصيص يسمح بإنشاء أنواع مطالبات مخصصة من خلال فئة أساسية وتوسيع الوظائف عبر بنية إضافات. تغطي المكتبة مجموعة واسعة من أنماط التفاعل، مثل التقاط البيانات الرقمية والحساسة، والتحقق من مدخلات المستخدم مقابل قواعد مخصصة، وتنفيذ تسلسلات من المطالبات لجمع ملاحظات معقدة. كما تتضمن قدرات لفرز القوائم، وملء مقتطفات النصوص، وإدارة جمع نماذج الطرفية.
Offers an extensible framework with a base class for creating custom prompt types and plugin-based logic.
Rushstack هي مجموعة أدوات شاملة لإدارة مستودعات TypeScript الكبيرة (monorepos)، توفر إطار عمل لأتمتة خط أنابيب البناء، وتنسيق التبعية، والتحليل الثابت. تعمل كمنسق بناء تزايدي ونظام إدارة مصمم للحفاظ على الاتساق والأداء عبر حزم متعددة في مساحة عمل مشتركة. يتميز النظام من خلال نموذج تنفيذ قائم على الرسوم البيانية غير الدورية الموجهة والتزايد القائم على تجزئة المحتوى، مما يضمن إعادة بناء المشاريع المتأثرة فقط. كما يعمل على تحسين تدفقات عمل التطوير عبر التخزين المؤقت لآثار البناء عن بعد مع تكاملات لـ S3 وAzure وHTTP، ويستخدم إدارة مساحة العمل القائمة على الروابط الرمزية (symlink) للرؤية الفورية للتغييرات المحلية. تغطي مجموعة الأدوات مجموعة واسعة من القدرات بما في ذلك تدفقات عمل الإصدار المؤتمتة، وتحليل عقد API، وفرض جودة الكود على مستوى المؤسسة من خلال ملفات تعريف التدقيق (linting) المعيارية. كما توفر دعماً واسعاً لتجميع الأصول، وتحويل TypeScript، وتوليد تعريفات النوع من مخططات JSON والأصول الثابتة. تشمل مجالات المرافق الإضافية إدارة التوطين، وتوليد إشعارات الترخيص، وتنسيق واجهات سطر الأوامر مع مخرجات العمليات المتزامنة.
Provides a structured framework for building command-line applications with type-safe parameter handling and syntax validation.
Thor هو مجموعة أدوات (toolkit) بلغة Ruby لبناء واجهات سطر الأوامر (CLI) ومشغلات المهام. يقوم بربط أعلام (flags) ومعاملات المستخدم بالأساليب القابلة للتنفيذ، ويعمل كأداة لتحليل وسائط سطر الأوامر وإطار عمل لإنشاء أدوات طرفية ذاتية التوثيق. يقوم إطار العمل تلقائياً بتوليد لافتات الاستخدام وقوائم المساعدة بناءً على توقيعات الأساليب المحددة. وينظم الأوامر ذات الصلة داخل فئات لإنشاء مساحات أسماء معزولة، ويقوم بحقن الأعلام المحددة من قبل المستخدم مباشرة في منطق الأسلوب. بعيداً عن توليد الواجهات، يتضمن المشروع قدرات لأتمتة مهام البناء والتنفيذ المتسلسل لعمليات التطوير. وهذا يسمح بتنسيق سلسلة محددة من الأساليب لمحاكاة سير عمل أتمتة البناء القياسي.
Provides a framework for mapping command line arguments and options to functions with automatic documentation generation.
هذا المشروع هو تنفيذ مرجعي ودليل تعليمي مصمم لتوضيح سير العمل الشامل لبناء وإصدار وتحميل توزيعات Python. يعمل كقالب مشروع ملموس ومثال لتكوين البيانات الوصفية وبناء القطع الأثرية لفهارس الحزم. يوضح المستودع كيفية حزم البرمجيات من خلال تعريف البيانات الوصفية للمشروع والتبعيات في ملفات تكوين ثابتة. ويغطي عملية تحويل أشجار المصدر إلى أرشيفات ذات إصدارات وتوزيعات ثنائية خاصة بالمنصة، مع إظهار كيفية بناء ملفات binary wheels وتوزيعات المصدر بشكل خاص. يغطي المشروع مجالات قدرات أوسع بما في ذلك إدارة التبعية، وإنشاء واجهات سطر الأوامر، وأتمتة نشر الإصدارات إلى المستودعات. كما يوضح استخدام البيئات الافتراضية المعزولة ودمج الامتدادات الثنائية.
Demonstrates how to create a terminal-based interface that maps user arguments to Python functions.
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
Provides a declarative API for defining commands and options to handle structured terminal input.