- RubyGems Basics
- What is a gem?
- Make your own gem
- Gems with Extensions
- Name your gem
- Publishing your gem
- Security Practices
- Managing owners using UI
- Removing a Published gem
- SSL Certificate Update
- Patterns
- Specification Reference
- Command Reference
- RubyGems.org API
- RubyGems.org API V2.0
- RubyGems.org Compact Index API
- RubyGems.org rate limits
- API key scopes
- Run your own gem server
- Setting up multi-factor authentication
- Using multi-factor authentication in command line
- MFA requirement opt in
- Using S3 as gem source
- Default gems and bundled gems
- Resources
- Contributing to RubyGems
- Frequently Asked Questions
- Plugins
- Common Vulnerabilities and Exposures
- Trusted Publishing
- Organizations
- Credits
Bundler
- Bundler in gems
- Gemfiles
- Getting Started
- How to Upgrade to Bundler 2
- How to deploy bundled applications
- How to install gems from git repositories
- How to manage application dependencies with Bundler
- How to manage groups of gems
- How to manage dependencies with Bundler
- How to troubleshoot RubyGems and Bundler TLS/SSL Issues
- How to update gems with Bundler
- How to use Bundler in a single-file Ruby script
- How to use Bundler with Docker
- How to use Bundler with Rails
- How to use Bundler with Ruby
- How to use Bundler with RubyMotion
- How to use Bundler with Sinatra
- How to use git bisect with Bundler
- How to write a Bundler plugin
- Known Plugins
- Recommended Workflow with Version Control
- Ruby Directive
Contributing to RubyGems
How you can help make RubyGems and the surrounding ecosystem better.
Looking to contribute to a RubyGems project? You’ve come to the right place! There are many development efforts going on right now, and they could use your help. Just follow the links below to get started contributing or to contact the project maintainers.
Core Projects
These projects are maintained by the core RubyGems team across the ruby and rubygems organizations.
Ruby’s package management system. This monorepo contains two CLI tools:
gem for installing and managing individual gems, and bundle for managing
application dependencies. Both are bundled with Ruby.
Alumni:
The Ruby community’s gem hosting service and registry.
Alumni:
Ecosystem Projects
These projects are part of the RubyGems organization and support the core infrastructure.
The central home for RubyGems documentation, including tutorials and reference material. Contributions are welcome!
Alumni:
A Ruby client library for the RubyGems.org API.
Alumni:
The gem mirror command for creating local mirrors of all gems from a remote
gem source. Useful for running RubyGems behind a firewall or for availability.
Alumni:
A RubyGems.org cache and private gem server.
Alumni:
The official GitHub Action for publishing gem files to RubyGems.org.
Alumni:
configure-rubygems-credentials
A GitHub Action to configure RubyGems.org credential environment variables for use in CI/CD workflows.
A CLI tool to automate the process of configuring a trusted publisher for a gem.
Alumni:
3rd Party Projects
These projects are outside of the RubyGems organization, but work closely with RubyGems to improve the gem experience for everyone.
Provides YARD documentation for every RubyGem available. Push a gem, and you get docs created instantly!
A simple way to host RubyGems internally and allow uploading of private gems.
Patch-level verification for Bundler. Checks for known vulnerabilities in gems listed in Gemfile.lock.
A community-maintained database of security advisories for Ruby gems. Used by bundler-audit and other tools to check for vulnerable dependencies.
Add Your Own Idea
We’d love for your new idea to be on this list. If you’re working on a RubyGems related project, just fork this repo and add the link!











































