Thank you for your interest in contributing to RubyGems and Bundler! Community involvement is essential to both RubyGems and Bundler. We welcome contributions from everyone, and we want to keep it as easy as possible to contribute changes.
By participating in this project, you agree to abide by the terms of the Code of Conduct.
Before submitting a contribution:
- Set up your development environment - See GETTING_STARTED.md for detailed setup instructions
- Understand the repository structure - This is a monorepo containing both RubyGems and Bundler:
- RubyGems code is in the root
lib/andexe/directories - Bundler code is in the
bundler/subdirectory
- RubyGems code is in the root
All contributions to this repository should follow these guidelines:
-
Write tests - New features must be coupled with tests. Bug fixes should include a test that reproduces the issue.
-
Code style compliance:
- No trailing whitespace
- Use two-space indentation
- Run
bin/rake rubocopto check style compliance
-
File management (RubyGems only):
- If you add or remove files in the RubyGems portion of the repo, update
Manifest.txtby runningbin/rake update_manifest
- If you add or remove files in the RubyGems portion of the repo, update
-
Preserve version history:
- Don't modify version numbers or changelog files directly; maintainers handle these
-
Ask questions - Have questions? Feel free to open an issue
For more information on contributing to the RubyGems ecosystem, see guides.rubygems.org/contributing.
We track good first issues to help new contributors get started. Here are some great ways to begin:
- Test prerelease versions: Run
gem install bundler --preand report any issues - Report bugs or suggest features: Open an issue (see new features documentation)
- Improve documentation: Contribute to the Bundler website or man pages
- Triage issues: Check issue completeness and help close incomplete reports
- Write tests: Add failing tests for reported bugs or backfill missing test coverage
- Review pull requests: Provide feedback on pull requests
- Improve code: No patch is too small—fix typos, improve code clarity, or clean up whitespace
- Contribute features: See adding new features
See doc/PULL_REQUESTS.md for detailed guidelines.
Community involvement is vital to both projects:
- Answer questions: Help others on the issue tracker or Stack Overflow (questions about RubyGems, Bundler, and Ruby in general are welcome)
- Share knowledge: Write blog posts, create examples, make videos, or share your experiences
- Improve documentation: Suggest improvements to bundler.io via issues or pull requests on the bundler-site repository
Both RubyGems and Bundler are managed by Ruby Central, a non-profit organization supporting the Ruby community through projects like these, as well as RubyConf and RubyGems.org.
You can support Ruby Central by:
- Attending or sponsoring a conference
- Joining as a supporting member