awesome-ruby
💎 A collection of awesome Ruby libraries, tools, frameworks and software
https://github.com/markets/awesome-ruby
Last synced: 17 days ago
JSON representation
Admin Interface
- Avo Admin for Rails - Avo is the modern approach to building an advanced admin panel that can be used by the entire organization. It has all the tools an admin panel needs and more. We have carefully made sure that you have all the escape hatches you need to ensure you can build your next admin panel for Ruby on Rails incredibly fast and easily.
- ActiveScaffold - ActiveScaffold provides quick and powerful user interfaces for CRUD (create, read, update, delete) operations for Rails applications. It's excellent for generating admin interfaces, managing Data-Heavy Applications, creating Widgets or for quick prototyping. ActiveScaffold is completly customizable and offers a bunch of additional features including searching, pagination, layout control and overrides of fields, forms and templates.
- Administrate - A Rails engine that helps you put together a super-flexible admin dashboard, by Thoughtbot.
- Madmin - A robust Admin Interface for Ruby on Rails apps
- MotorAdmin - A low-code Admin panel and Business Intelligence Rails engine. No DSL - configurable from the UI.
- Trestle - A modern, responsive admin framework for Rails. Build a back-end in minutes that will grow with the needs of your application.
- Hot Glue - Hot Glue takes a different approach to building both admin and user dashboards. It is a code generation tool like the Rails scaffold generator but with significantly more features. Instead of providing a lot of configuration options, Hot Glue can generate your code. Good for lists & CRUD views for both admin and user-facing dashboards.
- RailsAdmin - A Rails engine that provides an easy-to-use interface for managing your data.
- bhf - A simple to use Rails-Engine-Gem that offers an admin interface for trusted user.
AI and LLMs
- langchain.rb - Library for building LLM-powered applications in Ruby.
- ruby-openai - OpenAI API + Ruby!
- anthropic-sdk-ruby - The official Ruby SDK for the Anthropic API, for building applications with Claude.
- openai-ruby - The official Ruby SDK for the OpenAI API.
- RubyLLM - A delightful Ruby way to work with AI, providing one unified interface to OpenAI, Anthropic, Gemini, and other LLM providers.
- ruby-sdk - The official Ruby SDK for the Model Context Protocol (MCP), for building MCP servers and clients.
- tidewave - MCP server for better agentic Rails development, runtime-level tools for your agent to talk to your running app.
Analytics
- ActiveAnalytics - First-party, privacy-focused traffic analytics for Ruby on Rails applications.
- Ahoy - A solid foundation to track visits and events in Ruby, JavaScript, and native apps.
- Impressionist - Rails Plugin that tracks impressions and page views.
- Legato - Model analytics reports and queries against the official Google Analytics Reporting API.
- Rack::Tracker - Rack middleware that can be hooked up to multiple services and exposing them in a unified fashion.
- Staccato - Track analytics into the official Google Analytics Collection API.
API Builder and Discovery
- ActiveModel::Serializers - JSON serialization of objects.
- Acts_As_Api - Easy And Fun, in creating XML/JSON responses in Rails 3,4,5 and 6.
- Alba - A JSON serializer for Ruby, JRuby and TruffleRuby.
- Blanket - A dead simple API wrapper.
- cache_crispies - Speedy Rails JSON serialization with built-in caching.
- Crepe - The thin API stack.
- jbuilder - Create JSON structures via a Builder-style DSL.
- jsonapi-rb
- jsonapi-serializer - A fast JSON:API serializer for Ruby Objects.
- JSONAPI::Resources - JSONAPI::Resources, or "JR", provides a framework for developing a server that complies with the JSON API specification.
- JSONAPI::Utils - JSONAPI::Utils is built on top of JSONAPI::Resources taking advantage of its resource-driven style and bringing an easy way to build modern JSON APIs with no or less learning curve.
- Jsonite - A tiny, HAL-compliant JSON presenter for your APIs.
- Pliny - Opinionated template Sinatra app for writing excellent APIs in Ruby.
- rabl - General ruby templating with json, bson, xml, plist and msgpack support.
- Spyke - Interact with REST services in an ActiveRecord-like manner.
- Version Cake - An unobtrusive way to version APIs in your Rails app.
- EasyTalk - Define structured data models with a DSL that generates JSON Schema and ActiveModel validations from a single source of truth.
- Blueprinter - Simple, Fast, and Declarative Serialization Library for Ruby.
- Her - an ORM that maps REST resources to Ruby objects. Designed to build applications that are powered by a RESTful API instead of a database.
- Roar - Resource-Oriented Architectures in Ruby.
Assets
- Asset Sync - Synchronises Assets between Rails and S3.
- Autoprefixer - Parse CSS and add vendor prefixes to rules by Can I Use.
- Emoji - Exposes the Phantom Open Emoji library unicode/image assets and APIs for working with them.
- Less Rails - The dynamic stylesheet language for the Rails asset pipeline.
- Shakapacker - Use Webpack to manage app-like JavaScript modules in Rails. (Official and actively maintained successor to rails/webpacker)
- Sprockets - Rack-based asset packaging system.
- Torba - Bower-less bundler for Sprockets.
- Vite Ruby - Use Vite.js as a modern assets pipeline in Ruby and Rails apps.
- Bundlebun - bundles Bun, the all-in-one JavaScript runtime, package manager, and build tool, directly into your Ruby gem bundle.
- Rails Assets - Bundler to Bower proxy.
Authentication and OAuth
- API Guard - JWT authentication solution for Rails APIs.
- Authentication Zero - An authentication system generator for Rails applications.
- Authlogic - Authlogic is a clean, simple, and unobtrusive ruby authentication solution.
- Clearance - Small and simple email & password based authentication for Rails.
- Devise - A flexible authentication solution for Rails based on Warden.
- JWT - JSON Web Token implementation in Ruby.
- OmniAuth - A library that standardizes multi-provider authentication utilizing Rack middleware.
- Rodauth - Authentication and account management framework for Rack applications.
- Sorcery - A stripped-down, bare-bones authentication library for Rails.
- Doorkeeper - An OAuth2 provider for Rails.
- Oath - A very simple and extensible user authentication library for rails (formerly Monban).
- warden - General Rack Authentication Framework.
- OAuth2 - A Ruby wrapper for the OAuth 2.0 protocol.
- Rodauth-Oauth - A rodauth OAuth and OpenID provider plugin.
Authorization
- acl9 - Acl9 is a role-based authorization system that provides a concise DSL for securing your Rails application.
- AccessGranted - Multi-role and whitelist based authorization gem for Rails.
- ActionPolicy - Authorization framework for Ruby and Rails applications. Composable, extensible and performant.
- CanCanCan - Continuation of CanCan, an authorization Gem for Ruby on Rails.
- Consul - A scope-based authorization solution for Ruby on Rails.
- Petergate - Easy to use and read action and content based authorizations.
- Pundit - Minimal authorization through OO design and pure Ruby classes.
- Rabarber - Simple role-based authorization for Rails with multi-tenancy support.
Automation
- ActiveWorkflow - An intelligent process and workflow automation platform based on software agents.
- Danger - Automate your team's conventions surrounding code review.
- Runbook - A framework and Ruby DSL for progressive system automation.
- Huginn - Huginn is a system for building agents that perform automated tasks for you online.
- Neovim - Ruby bindings for Neovim to make your own neovim editor plugins in Ruby.
Boilerplates & UI Kits
- Jumpstart - The Ruby on Rails SaaS template to save you months of development time.
- Rails Blocks - Delightful UI components for your Rails app that use Tailwind CSS & Stimulus controllers.
- Speedrail - A free Rails 8 app template: Devise auth, Stripe billing, Tailwind CSS, admin panel, SEO helpers, etc.
- Wheel - Rails application template to build Rails applications faster.
Breadcrumbs
- Breadcrumbs on Rails - A simple Ruby on Rails plugin for creating and managing a breadcrumb navigation for a Rails project.
- Gretel - A Ruby on Rails plugin that makes it easy yet flexible to create breadcrumbs.
- Simple Navigation - A ruby gem for creating navigation (html list, link list or breadcrumbs with multiple levels) for your Rails 2, 3 & 4, Sinatra or Padrino.
- loaf - Manages and displays breadcrumb trails in Rails app - lean & mean.
Business logic
- ActiveInteraction - Manage application specific business logic.
- Interactor - Interactor provides a common interface for performing complex interactions in a single request.
- Light Service - Series of Actions with an emphasis on simplicity.
- Mutations - Compose your business logic into commands that sanitize and validate input.
- Surrounded - Encapsulated related objects in a single system to add behavior during runtime. Extensible implementation of DCI.
- Waterfall - A slice of functional programming to chain ruby services and blocks, thus providing a new approach to flow control.
- wisper - A micro library providing Ruby objects with Publish-Subscribe capabilities.
- Servactory - A set of tools for building reliable service objects of any complexity.
- Dentaku - A parser and evaluator for mathematical and logical formulas, safely evaluating user-supplied expressions at runtime.
- Stoplight - A circuit breaker implementation for Ruby that prevents cascading failures when external dependencies (databases, APIs, third-party services) start failing.
Caching
- Action caching for Action Pack - Action caching for Action Pack.
- Garner - A set of Rack middleware and cache helpers that implement various caching strategies.
- IdentityCache - A blob level caching solution to plug into ActiveRecord.
- Record Cache - Cache Active Model Records in Rails 3.
- redis-store - Redis Store provides a full set of stores (Cache, I18n, Session, HTTP Cache) for modern Ruby frameworks like: Ruby on Rails, Sinatra, Rack, Rack::Cache and I18n. It supports object marshalling, timeouts, single or multiple nodes, and namespaces.
- Second Level Cache - Write-Through and Read-Through caching library for ActiveRecord 4.
- Dalli - A high performance pure Ruby client for accessing memcached servers.
Captchas and anti-spam
- ActsAsTextcaptcha - Protection for Rails models with text-based logic question captchas (from Rob Tuley's textcaptcha.com)
- Invisible Captcha - Unobtrusive and flexible spam protection based on the honeypot strategy. It also provides a time-sensitive form submission.
- Rakismet - Easy Akismet and TypePad AntiSpam integration for Rails.
- reCAPTCHA - reCaptcha API helpers for ruby apps.
- Voight-Kampff - A Ruby gem that detects bots, spiders, crawlers and replicants.
CLI Builder
- Clamp - A command-line application framework.
- Commander - The complete solution for Ruby command-line executables.
- dry-cli - General purpose Command Line Interface (CLI) framework for Ruby.
- GLI - Git-Like Interface Command Line Parser.
- Main - A class factory and DSL for generating command line programs real quick.
- Optimist - A commandline option parser for Ruby that just gets out of your way.
- Rake - A make-like build utility for Ruby.
- Runfile - Build command line applications per project with ease. Rake-inspired, Docopt inside.
- Slop - Simple Lightweight Option Parsing.
- Terrapin - A small command line library (Formerly Cocaine).
- Thor - A toolkit for building powerful command-line interfaces.
- TTY - Toolbox for developing CLI clients.
- cmdparse - An advanced command line parser supporting nested commands.
CLI Utilities
- Awesome Print - Pretty print your Ruby objects with style -- in full color and with proper indentation
- Betty - Friendly English-like interface for your command line. Don't remember a command? Ask Betty.
- colorize - Extends String class or add a ColorizedString with methods to set text color, background color and text effects.
-
colorls
- Beautifies the
lscommand, with color and font-awesome icons. - formatador - STDOUT text formatting.
- Paint - Simple and fast way to set ANSI terminal colors.
- Ru - Ruby in your shell.
- Ruby/Progressbar - The most flexible text progress bar library for Ruby.
- Tabulo - Plain text table generator with a DRY, column-based API.
- TablePrint - Slice your data from multiple DB tables into a single CLI view.
- Terminal Table - Ruby ASCII Table Generator, simple and feature rich.
- Tmuxinator - Create and manage complex tmux sessions easily.
- Whirly - A simple, colorful and customizable terminal spinner library for Ruby.
- Pastel - Terminal output styling with intuitive and clean API.
Cloud
- AWS SDK for Ruby - The official AWS SDK for Ruby.
- Fog - The Ruby cloud services library.
- browse-everything - Multi-provider Rails engine providing access to files in cloud storage.
- humidifier - Programmatically generate and manage AWS CloudFormation templates, stacks, and change sets.
CMS
- Sitepress - Manage content files in Rails with the same features you'd expect from static site generators like Jekyll, Middleman, and Bridgetown.
- Camaleon CMS - A dynamic and advanced content management system based on Ruby on Rails 4.
- Fae - Flexible, open source, Rails CMS engine.
- Publify - A self hosted Web publishing platform on Rails.
- Storytime - Rails 4+ CMS and blogging engine, with a core focus on content.
- Refinery CMS - An open source Ruby on Rails content management system for Rails 5.2+.
- Spina CMS - A beautiful CMS for Rails developers.
- Comfy Middle Seat - Powerful Rails 7.2+ CMS Engine, and the active successor to ComfortableMexicanSofa.
- Avo CMS for Rails - Avo is a very custom Content Management System for Ruby on Rails that saves engineers and teams months of development time. It's designed to use your app's database structure, uses configuration instead of traditional methods, and when configuration isn't enough, it falls back to writing regular Rails code that you're used to.
- MaglevCMS - An open source page builder with an sleek UI.
- LocomotiveCMS - A simple but powerful CMS based on Liquid templates and Mongodb database.
Code Analysis and Metrics
- Brakeman - A static analysis security vulnerability scanner for Ruby on Rails applications.
- Coverband - Rack middleware to help measure production code coverage.
- Fasterer - Make your Rubies go faster with this command line tool highly inspired by fast-ruby and Sferik's talk at Baruco Conf.
- Flay - Flay analyzes code for structural similarities. Differences in literal values, variable, class, method names, whitespace, programming style, braces vs do/end, etc are all ignored. Making this totally rad.
- Flog - Flog reports the most tortured code in an easy to read pain report. The higher the score, the more pain the code is in.
- fukuzatsu - Complexity analysis tool with a rich web front-end.
- MetricFu - A fist full of code metrics.
- Pippi - A utility for finding suboptimal Ruby class API usage, focused on runtime analysis.
- Reek - Code smell detector for Ruby.
- Rubycritic - A Ruby code quality reporter.
- Scientist - A Ruby library for carefully refactoring critical paths.
- Suture - A Ruby gem that helps you refactor your legacy code.
- Traceroute - A Rake task gem that helps you find the dead routes and actions for your Rails 3+ app
- Pronto - Quick automated code review of your changes.
- rails_best_practices - A code metric tool for rails projects.
- rubydex - A high-performance static analysis suite for Ruby, built in Rust with Ruby APIs.
- SimpleCov - Code coverage for Ruby 1.9+ with a powerful configuration library and automatic merging of coverage across test suites.
Code Formatting
- niceql - A dependentless SQL and SQL errors formatting and colorizing. ActiveRecord seemless integration.
- prettier - A prettier plugin for the Ruby language.
- RuboCop - A static code analyzer, based on the community Ruby style guide.
- Rubocop Rails - A RuboCop extension focused on enforcing Rails best practices and coding conventions.
- Rubocop Rspec - Code style checking for RSpec files
- Rubocop Performance - A RuboCop extension focused on code performance checks.
- Standard - Ruby Style Guide, with linter & automatic code fixer
Code Highlighting
- CodeRay - Fast and easy syntax highlighting for selected languages.
- pygments.rb - A Ruby wrapper for the Python pygments syntax highlighter.
- Rouge - A pure Ruby code highlighter that is compatible with Pygments.
Code Loaders
- Zeitwerk - An efficient and thread-safe Ruby code loader.
Coding Style Guides
- Best-Ruby - Ruby Tricks, Idiomatic Ruby, Refactoring & Best Practices.
- Fundamental Ruby - Fundamental programming ruby with examples. Threads, design patterns, data structures, OOP SOLID principle, algorithms.
- fast-ruby - Writing Fast Ruby. Collect Common Ruby idioms.
- Rails style guide - Community-driven Rails best practices and style for Rails 3 and 4.
- RSpec style guide - Better Specs { rspec guidelines with ruby }.
- Ruby style guide - Community-driven Ruby coding style.
Compression
- rubyzip - A Ruby library for reading and writing zip files.
Concurrency and Parallelism
- Concurrent Ruby - Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
- EventMachine - An event-driven I/O and lightweight concurrency library for Ruby.
- forkoff - brain-dead simple parallel processing for ruby.
- Parallel - Run any code in parallel Processes (> use all CPUs) or Threads (> speedup blocking operations). Best suited for map-reduce or e.g. parallel downloads/uploads.
- Polyphony - Fine-grained concurrency for Ruby.
Configuration
- AnywayConfig - Configuration library for Ruby gems and applications, supporting multiple sources (yml, secrets) and environments.
- Chamber - Surprisingly customizable convention-based approach to managing your app's configuration.
- Configatron - Simple and feature rich configuration system for Ruby apps.
- Configus - Helps you easily manage environment specific settings.
-
dotenv
- Loads environment variables from
.env. - ENVied - ensure presence and type of your app's ENV-variables
- Envyable - The simplest YAML to ENV config loader.
-
Figaro
- Simple, Heroku-friendly Rails app configuration using
ENVand a single YAML file. - Global - Provides accessor methods for your configuration data.