Awesome Ruby CLI Apps
A curated list of awesome command-line applications in Ruby.
Do you know an awesome Ruby CLI app? Great. Contribute it to the list! But first, please read the contribution guidelines.
Contents
Awesome Ruby CLIs
Automation
- danger - Automates team's conventions surrounding code review.
- git_reflow - Automatically creates pull requests and ensures code review process.
- guard - Automates tasks based on file or directory modifications.
- overcommit - Automates management and configuration of Git hooks.
- pronto - Automates code review of relevant changes.
Code Quality
- flay - Analyzes code for structural similarities.
- flog - Reports the most tortured/complex code.
- rails_best_practices - Checks the quality of Rails code.
- reek - Detects code smells.
- rubocop - Analyzes and formats code based on the community style guide.
- rubycritic - Uses Reek, Flay and Flog to provide a code quality report.
Converting
- asciidoctor - Converts AsciiDoc content to HTML 5, DocBook 5, and other formats.
- asciidoctor-pdf - Converts AsciiDoc content to PDF.
- image_optim - Optimizes images using multiple utilities.
- kitabu - Creates e-books from Markdown.
- review - Converts Re:VIEW files to e-book formats.
- video_transcoding - Transcodes, inspects and converts videos.
Database
- database_consistency - Checks database constraints for consistency with Rails model validations.
- lol_dba - Scans your Rails application for missing indexes.
- pgdexter - Creates Postgres indexes based on query analysis.
- pgslice - Partitions Postgres tables.
- pgsync - Syncs data from one Postgres database to another.
- squasher - Compresses old Rails migrations into a single migration.
DevOps
- dip - Gives the "native" interaction with applications configured with Docker Compose.
- foreman - Manages Procfile-based applications.
- vagrant - Builds and distributes development environments.
Games
- wolfentext3d - 3D dungeon crawling game.
Generating
- annotate - Comments Rails models with database schema information.
- github-changelog-generator - Generates a changelog from tags, issues, labels and pull requests on GitHub.
- jazzy - Generates documentation for Objective-C or Swift applications.
- pliny - Generates endpoints, models, schemas and other APIs.
- sord - Generates RBI and RBS type signature files from YARD documentation.
- tapioca - Generates RBI type signature files for DSLs, gems and Rails applications.
- tty - Generates a new application and commands in a gem directory structure.
Learning
- coltrane - Teaches music theory.
Linting
- cookstyle - Lints Chef Infra cookbooks.
- csvlint - Validates CSV files.
- erblint - Lints ERB or HTML files.
- haml-lint - Keeps HAML files clean and readable.
- markdownlint - Lints Markdown files.
- puppet-lint - Checks Puppet manifests conformity with the style guide.
- scss-lint - Lints SCSS files.
- slim-lint - Lints Slim templates.
- yard-junk - Lints YARD documentation.
Miscellaneous
Package Management
- brew - Manages packages for MacOS.
- cocoapods - Manages dependencies for Xcode projects.
- gel - Manages gem dependencies.
Profiling
- derailed_benchmarks - Provides various benchmarks for a Rails application.
- fasterer - Suggests speed improvements based on common idioms.
- rbspy - Profiles processes that are already running.
- ruby-prof - Profiles code measuring elapsed time, allocations or memory.
- stackprof - Profiles code by sampling call-stacks.
- typeprof - Performs type analysis.
Release
- bump - Increments the version number of a gem and a chef-cookbook.
- fastlane - Automates building and releasing iOS and Android apps.
- fpm - Builds packages such as rpms, debs, OSX packages, etc.
- ocra - Builds Windows executables from source code.
- rubyc - Packs a Ruby application into a single executable.
- warbler - Makes a Java jar or war file out of any Ruby, Rails or Rack application.
Search
- colorls - Enhances the
ls
command output. - faker-bot - Looks up Faker methods.
- gemdiff - Finds source repositories for gems.
- license_finder - Finds licenses for the project's dependencies.
Security
- brakeman - Scans Rails applications for security vulnerabilities.
- bundler-audit - Audits a project's Gemfile.lock for vulnerable gems and insecure gem sources.
- pws - Provides a secure password safe.
- wpscan - Scans WordPress websites for security vulnerabilities.
Third-party APIs
Workflow
- gitsh - Runs an interactive shell for git.
- octodown - Previews GitHub flavoured Markdown.
- tmuxinator - Creates and manages tmux sessions.
License
This work is licensed under a Creative Commons Attribution 4.0 International License
Share it!
Ruby command-line applications are awesome. I trust you agree. To make this resource useful and full of great CLI app examples, I need your help. Could I ask you to share this README far and wide and star it so that we reach as many developers as possible?