Skip to content
This repository has been archived by the owner on Nov 23, 2021. It is now read-only.

Contributing

Ernesto García edited this page Feb 21, 2014 · 2 revisions

You can contribute to this and any other open source project in many ways, not just by writing code. But in case it gets to that, this is the way.

The basic workflow for contributing is the following:

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

However, we advise you to follow some simple guidelines before start coding:

  • If you're planning a new feature, instead of just a bug fix, please consider submitting an issue first to propose it, and to discuss what would be the best way to implement it.
  • Please follow some basic coding guidelines (respect indentation, remove trailing whitespace, etc.) The rule of thumb is to follow the same style of code already in place. Better yet, try to follow this Ruby style guide as much as possible.
  • Create a separate branch (and a separate pull request) per feature. Ideally limit your pull requests to a single commit each. Squash your commits before you submit it.
  • Keep your history clean. Avoid unnecessary merges. git pull --rebase is your friend.
  • Write well formed git commit messages. The short version is, write first line in present tense imperative, keep it under 50-60 chars of length.
  • And last but not least, write automated tests for each new piece of functionality you develop. If it's a bug fix, write the spec that evidences the bug, then write the fix.

Happy coding!