A curated collection of Ruby gems and Rails libraries, organized by category. Sourced from personal starred repositories on GitHub.
- Web Frameworks & Servers
- Authentication & Authorization
- Background Jobs & Queues
- API & Serialization
- GraphQL
- Database & ActiveRecord
- Database Migrations & Safety
- Multi-tenancy
- Audit & Versioning
- Testing
- Test Performance & Parallelization
- Code Coverage
- Code Quality & Linting
- Performance & Profiling
- Monitoring & Observability
- Resiliency & Circuit Breakers
- Admin Panels
- Feature Flags
- Notifications & Email
- Payments
- AI & LLM Integration
- MCP (Model Context Protocol)
- Frontend & Hotwire
- Web Scraping
- Markdown & Documentation
- I18n & Localization
- Async & Concurrency
- Kafka & Messaging
- A/B Testing & Experimentation
- Type Systems & Static Analysis
- Modularization & Architecture
- CLI & Tools
- QR Codes, Calendar & Misc Utilities
- Asset Pipeline
- Ruby Implementations & Compatibility
- Cross-language & Interop
- Real-World Apps (Open Source)
- Style Guides & Best Practices
- Learning & Resources
- Rails-specific Dev Tools & Skills
- Rails DOM & Testing Helpers
| Gem | Description |
|---|---|
| rails | Ruby on Rails, the full-stack web framework |
| rage | Ruby framework for non-blocking I/O |
| puma | A Ruby/Rack web server built for parallelism |
| falcon | High-performance web server supporting HTTP/1, HTTP/2 and TLS |
| rackup | Rack server interface |
| Gem | Description |
|---|---|
| pundit | Object-oriented authorization with plain Ruby classes |
| omniauth | Flexible authentication with Rack middleware |
| doorkeeper | OAuth 2 provider for Rails and Grape |
| devise_token_auth | Token-based authentication for Rails APIs |
| devise-jwt | JWT authentication with Devise and Rails |
| ruby-jwt | Ruby implementation of JSON Web Tokens (RFC 7519) |
| authentication-zero | Authentication generator for Rails |
| revise_auth | Pure Rails authentication system |
| stytch-ruby | Stytch SDK for Ruby |
| rolify | Role management with resource scoping |
| strong_password | Password strength validation |
| Gem | Description |
|---|---|
| good_job | Multithreaded Active Job backend using Postgres |
| solid_queue | Database-backed Active Job backend |
| mission_control-jobs | Dashboard and administration for Active Job |
| job-iteration | Interruptible and resumable jobs |
| sidekiq-throttled | Throttling for Sidekiq |
| sidekiq-history | Sidekiq job history |
| active_job_log | Job history logging |
| Gem | Description |
|---|---|
| blueprinter | Declarative JSON serialization |
| alba | Fast JSON serializer for Ruby |
| jsonapi-serializer | JSON:API compliant serializer (Netflix fast_jsonapi fork) |
| jsonapi.rb | Lightweight JSON:API for Ruby |
| props_template | Fast JSON builder for Rails |
| json_matchers | Validate JSON API responses in tests |
| json-schema | JSON Schema validator |
| rack-cors | CORS middleware for Rack-compatible web applications |
| Gem | Description |
|---|---|
| graphql-ruby | GraphQL implementation for Ruby |
| graphiql-rails | GraphiQL IDE for Rails applications |
| Gem | Description |
|---|---|
| ancestry | Tree structures for ActiveRecord |
| scenic | Versioned database views |
| fx | Versioned database functions and triggers |
| activerecord-import | Bulk insert for ActiveRecord |
| active_record-acts_as | Multi-table inheritance for ActiveRecord |
| foreigner | Foreign keys in migrations |
| active_type | Make any Ruby object quack like ActiveRecord |
| store_attribute | Typecasting for store accessors |
| after_commit_everywhere | Transactional callbacks outside of models |
| discard | Soft deletes for ActiveRecord |
| ransack | Object-based searching |
| neighbor | Nearest neighbor search for ActiveRecord |
| pgvector-ruby | pgvector support for Ruby |
| redis-objects | Map Redis types to Ruby objects |
| dalli | High-performance Memcached client |
| Gem | Description |
|---|---|
| strong_migrations | Detect unsafe migrations |
| data-migrate | Data migrations for Rails |
| next_rails | Toolkit for Rails upgrades |
| Gem | Description |
|---|---|
| acts_as_tenant | Multi-tenancy with shared database |
| apartment | Multi-tenancy for Rack and Rails |
| activerecord-tenanted | Separate databases per tenant |
| Gem | Description |
|---|---|
| paper_trail | Track changes to ActiveRecord models |
| logidze | Database change log for Rails |
| audit-log | Audit logs with built-in UI |
| Gem | Description |
|---|---|
| rspec-rails | RSpec testing framework for Rails |
| minitest | Complete testing suite for Ruby |
| capybara | Acceptance testing framework |
| cuprite | Capybara driver for headless Chrome via CDP |
| ferrum | Ruby API for Chrome DevTools Protocol |
| capybara_accessible_selectors | Accessible selectors for Capybara |
| vcr | Record and replay HTTP interactions in tests |
| testcontainers-ruby | Testcontainers for Ruby |
| fixturebot | Fixtures with factory-style syntax |
| rspec_junit_formatter | JUnit XML formatter for RSpec |
| webdrivers | Auto-update WebDrivers |
| Gem | Description |
|---|---|
| parallel_tests | Run tests in parallel (2x+ speedup) |
| flatware | Parallel test runner |
| quickdraw | Multi-core test runner |
| test-queue | Parallel test runner for CI |
| knapsack | Optimal test distribution across CI nodes |
| test-prof | Test profiling toolbox |
| Gem | Description |
|---|---|
| simplecov | Code coverage with powerful configuration |
| coverband | Production code coverage |
| undercover | Detect untested code changes |
| rcov | Code coverage tool (legacy) |
| Gem | Description |
|---|---|
| rubocop | Static analyzer and code formatter |
| brakeman | Security scanner for Rails |
| reek | Code smell detector |
| skunk | SkunkScore: complexity without coverage |
| rubycritic | Code quality report |
| pronto | Automated code review |
| pronto-rubocop | Pronto runner for RuboCop |
| bundler-audit | Security audit for Bundler dependencies |
| overcommit | Git hook manager |
| callback_hell | Analyzer for Rails callbacks |
| Gem | Description |
|---|---|
| bullet | Detect N+1 queries and unused eager loading |
| rack-mini-profiler | Profiler for development and production |
| rails_performance | Self-hosted performance monitor |
| ruby-prof | Fast code profiler for Ruby |
| stackprof | Sampling call-stack profiler |
| rbspy | CPU profiler for Ruby |
| debugbar | Devtools for Rails |
| fast-ruby | Fast Ruby idioms and benchmarks |
| fast_blank | Fast implementation of String#blank? |
| fast_underscore | Fast implementation of String#underscore |
| sniffer | Log outgoing HTTP requests |
| Gem | Description |
|---|---|
| yabeda | Extensible metrics framework |
| upright | Synthetic monitoring with Playwright |
| rails_semantic_logger | Semantic logging for Rails |
| Gem | Description |
|---|---|
| semian | Resiliency toolkit for failing external services |
| stoplight | Traffic light-based circuit breaker |
| isolator | Detect non-atomic interactions within transactions |
| Gem | Description |
|---|---|
| activeadmin | Administration framework for Rails |
| rails_admin | Admin engine for Rails |
| madmin | Robust admin interface |
| administrate | Flexible admin dashboard framework |
| Gem | Description |
|---|---|
| flipper | Feature flags for Ruby |
| feature | Feature toggles |
| feature_toggles | Feature toggles for pending features |
| Gem | Description |
|---|---|
| noticed | Notification system for Rails |
| exception_notification | Exception notifier for Rails |
| mjml-rails | MJML templates for Rails emails |
| unsubscribe | Auto-unsubscribe from emails |
| action_push_native | Native push notifications for mobile |
| Gem | Description |
|---|---|
| pay | Payments engine for Rails |
| sdk-ruby | MercadoPago SDK for Ruby |
| Gem | Description |
|---|---|
| ruby_llm | Unified API for multiple LLM providers |
| ruby-openai | OpenAI client for Ruby |
| ruby-anthropic | Anthropic (Claude) client for Ruby |
| langchainrb | LangChain for Ruby |
| langchainrb_rails | LangChain integration for Rails |
| raif | Ruby AI Framework |
| activeagent | AI agents framework for Rails |
| tiktoken_ruby | Tiktoken tokenization for Ruby |
| rumale | Machine learning library for Ruby |
| roast | Structured AI workflows |
| top_secret | Filter PII before sending to LLMs |
| Gem | Description |
|---|---|
| fast-mcp | MCP implementation in Ruby |
| rails-mcp-server | MCP server for Rails projects |
| nvim-mcp-server | MCP server for Neovim |
| ruby-mcp-client | MCP client in Ruby |
| chatwerk | MCP for Packwerk |
| Gem | Description |
|---|---|
| turbo-rails | Turbo integration for Rails |
| jsbundling-rails | JS bundling with esbuild, Bun, rollup, or webpack |
| cssbundling-rails | CSS bundling with Tailwind, PostCSS, Sass, and more |
| tailwindcss-rails | Tailwind CSS for Rails |
| ruby_ui | UI components for Ruby |
| showcase | Component previews for Rails |
| superglue | Rails + React + Redux integration |
| sweet-alert2-rails | SweetAlert2 for Rails |
| marksmith | GitHub-style Markdown editor |
| ruby2js | Convert Ruby to JavaScript |
| Gem | Description |
|---|---|
| kimuraframework | Web scraping framework with AI support |
| wombat | Web scraper with an elegant DSL |
| tanakai | Modern fork of Kimurai framework |
| Gem | Description |
|---|---|
| kramdown | Pure Ruby Markdown parser |
| redcarpet | Safe and fast Markdown processor |
| commonmarker | Ruby wrapper for CommonMark parser |
| rdoc | HTML documentation generator for Ruby |
| yard | Ruby documentation tool |
| Gem | Description |
|---|---|
| globalize | Model translation for ActiveRecord |
| Gem | Description |
|---|---|
| async | Event-driven concurrency reactor for Ruby |
| goru | Concurrent routines without threads |
| anycable-rails | High-performance WebSockets for Rails |
| Gem | Description |
|---|---|
| karafka | Kafka framework for Ruby and Rails |
| rdkafka-ruby | Kafka client based on librdkafka |
| ruby-kafka | Kafka client for Ruby |
| Gem | Description |
|---|---|
| split | Rack-based A/B testing framework |
| scientist | Safe refactoring of critical code paths |
| Gem | Description |
|---|---|
| ruby-lsp | Language server for Ruby |
| sorbet | Type checker for Ruby |
| tapioca | RBI file generator for Sorbet |
| spoom | Tools for Sorbet |
| prism | Ruby parser |
| low_type | Elegant types for Ruby |
| dry-monads | Idiomatic monads for Ruby |
| dry-validation | Type-safe data validation |
| dry-initializer | DSL for class initializers |
| Gem | Description |
|---|---|
| packwerk | Packages for code modularization |
| packs | Extensible packaging specification |
| packs-rails | Packs integration for Rails |
| code_ownership | Code ownership declarations |
| interactor | Interactor design pattern |
| Gem | Description |
|---|---|
| thor | Toolkit for building command-line interfaces |
| tmuxinator | Manage tmux sessions easily |
| rubyshell | Write shell scripts in Ruby |
| rv | Fast Ruby version manager (written in Rust) |
| trace_location | Trace source code locations |
| Gem | Description |
|---|---|
| rqrcode | QR code generator |
| add_to_calendar | "Add to Calendar" URL helpers |
| simple_calendar | Simple calendar view for Rails |
| fugit | Time tools (cron parsing, durations, etc.) |
| refer | Referral codes for Rails |
| sqids-rails | Sqids (Hashids) for Rails |
| globalid | Identify app models with a URI |
| chartkick | Create charts with one line of Ruby |
| wikipedia-client | Wikipedia API client |
| xsv | Fast .xlsx parser |
| Gem | Description |
|---|---|
| propshaft | Asset delivery for Rails |
| Gem | Description |
|---|---|
| ruby | The Ruby programming language |
| jruby | Ruby on the JVM |
| truffleruby | Ruby on GraalVM |
| ruby.wasm | Ruby compiled to WebAssembly |
| ruby-next | Use modern Ruby features in older versions |
| bootboot | Dual boot Ruby applications |
| deprecation_toolkit | Track and eliminate deprecation warnings |
| end_of_life | Detect end-of-life software |
| gvltools | GVL instrumentation tools |
| Gem | Description |
|---|---|
| crystalruby | Embed Crystal code in Ruby |
| rutie | Ruby-Rust bridge |
| ruby-libgd | Native GD graphics bindings |
| RatatuiRuby | Ratatui wrapper for terminal UIs in Ruby |
| iruby | Ruby kernel for Jupyter notebooks |
| App | Description |
|---|---|
| mastodon | Federated social network |
| discourse | Community discussion platform |
| maybe | Personal finance app |
| gumroad | Sell digital products |
| fizzy | Kanban board |
| once-campfire | Group chat |
| stemplin | Time tracking |
| Resource | Description |
|---|---|
| ruby-style-guide | Community-driven Ruby style guide |
| rails-style-guide | Community-driven Rails style guide |
| rspec-style-guide | Community-driven RSpec style guide |
| ruby (Airbnb) | Airbnb's Ruby style guide |
| ruby-style-guide (Shopify) | Shopify's Ruby style guide |
| secure_rails | Rails security best practices |
| production_rails | Rails in production best practices |
| rails_standards | Rails coding standards |
| design-patterns-in-ruby | Design patterns implemented in Ruby |
| ruby-science | Reference for growing Rails applications |
| Resource | Description |
|---|---|
| awesome-ruby | Curated collection of Ruby resources |
| real-world-ruby-apps | Real-world Ruby applications |
| real-world-rails | Real-world Rails applications |
| awesome-ruby-blogs | Collection of Ruby blogs |
| engineering-blogs | Engineering blogs from top companies |
| ruby-warrior | Game for learning Ruby |
| prep-test | Ruby certification prep |
| planetruby | Ruby blog aggregator |
| how-to-build-desktop-applications-in-ruby | Build desktop apps with Ruby |
| libgd-gis | GIS with Ruby and libGD |
| dev-meeting-log | Ruby core developer meeting logs |
| ruby-definitions | Shopify's Ruby build definitions |
| Resource | Description |
|---|---|
| claude-on-rails | Claude framework for Rails developers |
| rails-claude-code | Rails skills for Claude Code |
| ruby-skills | Claude skills for Ruby |
| skills | Skills based on Layered Rails |
| rails-audit-thoughtbot | Rails code audit tool |
| cursor-rails-rules | Cursor rules for Rails |
| superpowers-rails | Superpowers with Rails features |
| Gem | Description |
|---|---|
| rails-dom-testing | DOM assertions for Rails views |
| rails-controller-testing | assigns and assert_template for Rails controllers |
| rails-observers | Observers extracted from Rails 4 |
| rails-training-testing-exercise | Testing exercises for Rails |
| action_dispatch-testing-integration-capybara | Capybara integration for ActionDispatch |
| hotwire-example-template | Hotwire example templates |
Contributions are welcome! If you know of a great Ruby gem or Rails library that should be listed here, feel free to open a pull request.
This project is licensed under the MIT License.