Skip to content

Latest commit

 

History

History
60 lines (50 loc) · 3.24 KB

CONTRIBUTING.md

File metadata and controls

60 lines (50 loc) · 3.24 KB

Contributing

If you discover issues, want to add or change some code-style rules, have ideas for improvements or new features, please report them to the issue tracker of the repository or submit a pull request. Please, try to follow these guidelines when you do so.

Issue reporting

  • Check that the issue has not already been reported.
  • Check that the issue has not already been fixed in the latest code (a.k.a. master).
  • Be clear, concise and precise in your description of the problem.
  • Open an issue with a descriptive title and a summary in grammatically correct, complete sentences.
  • Include any relevant code to the issue summary

Pull requests

  • Read how to properly contribute to open source projects on GitHub.
  • Fork the project (if it's necessary and you don't have writing access).
  • Use a topic/feature branch to easily amend a pull request later, if necessary.
  • Write good commit messages.
  • Use the same coding conventions as the rest of the project.
  • Commit and push until you are happy with your contribution.
  • If your change has a corresponding open GitHub issue, prefix the commit message with [Fix #github-issue-number].
  • Make sure to add tests for it. This is important so we don't break it in a future version unintentionally.
  • If you add new code-style rule or cop, add some words about it in the Code Style Notes or related files.
  • Add an entry to the Changelog accordingly. See changelog entry format.
  • If you deliver new cop, try to suggest and deliver it to the community rubocop gem.
  • Squash related commits together.
  • Open a pull request that relates to only one subject with a clear title and description in grammatically correct, complete sentences.

Changelog entry format

Here are a few examples:

* [#716](https://github.com/rubocop-hq/rubocop/issues/716): Fixed a regression in the auto-correction logic of `MethodDefParentheses`. ([@bbatsov][])
* New cop `ElseLayout` checks for odd arrangement of code in the `else` branch of a conditional expression. ([@bbatsov][])
  • There are four categories for each release: added, changed, bug fixed and removed
  • Mark it up in Markdown syntax.
  • The entry line should start with * (an asterisk and a space).
  • If the change has a related GitHub issue (e.g. a bug fix for a reported issue), put a link to the issue as [#123](https://github.com/rubocop-hq/rubocop/issues/123): .
  • Describe the brief of the change. The sentence should end with a punctuation.
  • At the end of the entry, add an implicit link to your GitHub user page as ([@username][]).
  • If this is your first contribution to RuboCop project, add a link definition for the implicit link to the bottom of the changelog as [@username]: https://github.com/username.