For a ruby framework for building cli applications, the strongest matches are rails/thor (Thor is a comprehensive Ruby toolkit specifically designed for), piotrmurach/tty (This repository serves as a comprehensive toolkit for building) and dry-rb/dry-cli (This is a dedicated framework for building Ruby CLI). docopt/docopt and charmbracelet/lipgloss round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best ruby cli frameworks”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Thor is a Ruby toolkit for building command line interfaces and task runners. It maps user flags and parameters to executable methods, functioning as both a command line argument parser and a framework for creating self-documenting terminal tools. The framework automatically generates usage banners and help menus based on defined method signatures. It organizes related commands within classes to create isolated namespaces and injects user-defined flags directly into method logic. Beyond interface generation, the project includes capabilities for build task automation and the sequential execu
Thor is a comprehensive Ruby toolkit specifically designed for building command-line interfaces, providing robust command parsing, automatic help generation, and task automation features that align perfectly with your requirements.
gem: http://badge.fury.io/rb/tty travis: http://travis-ci.org/piotrmurach/tty appveyor: https://ci.appveyor.com/project/piotrmurach/tty codeclimate: https://codeclimate.com/github/piotrmurach/tty/maintainability coverage: https://codeclimate.com/github/piotrmurach/tty/test_coverage…
This repository serves as a comprehensive toolkit for building command-line applications in Ruby, providing a suite of modular components for terminal UI, interactive prompts, and text formatting that covers all the core requirements for CLI development.
General purpose Command Line Interface (CLI) framework for Ruby
This is a dedicated framework for building Ruby CLI applications that provides robust command parsing and auto-generated help, though it lacks built-in terminal UI components and interactive prompts.
Docopt is a command-line argument parser and declarative interface tool that converts raw terminal input into a structured data map. It derives its parsing logic and requirements directly from a standardized POSIX-style help message, using the documentation as the formal specification for the interface. The system implements a POSIX usage pattern parser to translate human-readable help strings into rules for extracting options and positional arguments. It automatically generates help screens and version information based on the internal usage patterns defined by the user. The tool ensures a
This is a command-line argument parser library written in Python, which does not meet the requirement for a Ruby-based CLI framework.
This project is a framework for composing terminal interfaces through declarative styling and a grid-based layout engine. It provides a comprehensive toolkit for building responsive command-line applications by managing ANSI escape sequences, color profiles, and text rendering to ensure consistent visual output across different terminal environments. The library distinguishes itself through its ability to automatically detect terminal capabilities and background themes, allowing it to adjust color schemes and downsample profiles for optimal readability. It utilizes a layered composition model
This is a terminal styling and layout library for Go, not a Ruby framework, and it provides visual components rather than the full command-parsing and plugin architecture required for a CLI application framework.
Krew is a command-line extension manager and cross-platform plugin installer designed specifically for the kubectl ecosystem. It functions as a package manager that allows users to discover, install, and update community-driven extensions to add new capabilities to the Kubernetes command line interface. The project utilizes a manifest-based distribution system where YAML files map binaries to specific operating systems and architectures. This ensures secure deployment through the use of checksums for integrity verification and enables the hosting of both public and private plugin registries.
This is a package manager for Kubernetes CLI plugins rather than a library or toolkit for developers to build their own command-line applications.
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfac
This is a Python library for terminal formatting and UI components, which does not support the Ruby programming language requested by the visitor.
This project is a shell plugin that provides real-time command suggestions to accelerate terminal input. By hooking into the command line editor and utilizing a strategy-based prediction engine, it generates completions derived from command history, shell completion data, or custom user-defined sources. The tool distinguishes itself by rendering suggestions as a visual ghost layer directly within the terminal buffer using ANSI-styled overlays. To maintain a responsive command-line environment, it performs all prediction calculations in the background, ensuring that heavy computation does not
This is a shell plugin for Zsh rather than a Ruby library or framework for developers to build their own command-line applications.
Nushell is a cross-platform shell and programming language designed to treat all input and output as structured data rather than raw text streams. By enforcing data types and command signatures, it provides a consistent environment for building robust, pipeline-oriented workflows. The shell allows users to chain commands that pass structured objects between stages, enabling complex data processing and automation tasks that remain predictable across different operating systems. What distinguishes the project is its focus on interactive data exploration and modular extensibility. Users can quer
Nushell is a standalone shell and data-processing environment rather than a library or toolkit for developers to build their own command-line applications in Ruby.
rbenv is a Ruby version manager and shell shim environment manager. It allows for the installation of multiple Ruby versions on a single machine and coordinates the selection of the active version based on the current directory or shell session. The tool functions as an extensible command line framework that intercepts executable calls using shell shims. These shims route requests to the selected language version, ensuring environment isolation by storing binaries in independent directories. The system includes capabilities for language runtime administration, including the ability to downlo
This repository is a specialized tool for managing Ruby versions and shell environments rather than a framework or library for developers to build their own command-line applications.
Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent, reconfigurable layouts. It functions as a terminal plugin framework, allowing users to extend their environment with modular, event-driven components that interact with the host through a structured message-passing protocol. The project distinguishes itself through a layout-engine-based architecture that decouples visual pane arrangements from process execution, enabling automated and repeatable terminal workflows. It includes integrated support for web-based remote access, facil
Zellij is a terminal multiplexer and workspace manager rather than a framework for building CLI applications, serving as a tool to run within the terminal rather than a library to develop your own command-line interfaces.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| rails/thor | 5.3K | Ruby | MIT | |
| piotrmurach/tty | 2.5K | Ruby | MIT | |
| dry-rb/dry-cli | 354 | Ruby | MIT | |
| docopt/docopt | 8K | Python | MIT | |
| charmbracelet/lipgloss | 10.6K | Go | mit | |
| kubernetes-sigs/krew | 6.9K | Go | apache-2.0 | |
| textualize/rich | 56.6K | Python | MIT | |
| zsh-users/zsh-autosuggestions | 35.7K | Shell | MIT | |
| nushell/nushell | 39.7K | Rust | MIT | |
| sstephenson/rbenv | 16.7K | Shell | MIT |