How to contribute

Community involvement is essential to RubyGems. We want to keep it easy as possible to contribute changes. There are a few guidelines that we need contributors to follow to reduce the time it takes to get changes merged in.

Guidelines

  1. New features should be coupled with tests.

  2. Ensure that your code blends well with ours:

    • No trailing whitespace

    • Match indentation (two spaces)

    • Match coding style (`if`, `elsif`, `when` need trailing `then`)

  3. If any new files are added or existing files removed in a commit or PR, please update the `Manifest.txt` accordingly.

  4. Don't modify the history file or version number.

  5. If you have any questions, just ask on IRC in rubygems on Freenode or file an issue here: github.com/rubygems/rubygems/issues

For more information and ideas on how to contribute to RubyGems ecosystem, see here: guides.rubygems.org/contributing/

Getting Started

$ gem install hoe
$ rake newb

To run commands like `gem install` from the repo:

$ ruby -Ilib bin/gem install

Issues

RubyGems uses labels to track all issues and pull requests. In order to provide guidance to the community this is documentation of how labels are used in the rubygems repository.

Type

Most Issues or pull requests will have one of these labels, which describes the type of the issue or pull request.

Bug report and Bugfix have the same color. And feature implementation and feature request have the same color since they are related labels.

Workflow

These are labels that indicate the state of an issue, where it is in the process from being submitted to being closed. These are listed in rough progression order from submitted to closed.

Feedback and blocked all have the same color since they are all waiting on someone in particular to do something.

Inactive Reason

Reasons are why an issue / pull request was closed without being worked on or accepted. There should also be more detailed information in the comments.

All the reason labels are the same maroon color.

Categories

These are aspects of the codebase, or what general area the issue or pull request pertains too. Not all issues will have a category.

All category labels are the same blue color.

Platforms

If an issue or pull request pertains to only one platform, then it should have an appropriate platform tag.

All platform tags are the same purple color.