Skip to content

Latest commit

 

History

History
97 lines (76 loc) · 4.21 KB

CONTRIBUTING.md

File metadata and controls

97 lines (76 loc) · 4.21 KB

How to Contribute

In the spirit of open source software, everyone is encouraged to help improve this project.

Ways you can contribute:

Reporting a bug or other issue

We use the GitHub issue tracker to track bugs and feature requests. To submit a bug report or feature request:

  1. Browse or search our issues to make sure your issue hasn't already been submitted.

  2. Submit an issue. If you're submitting a bug report, it's helpful to include any details that may be necessary to reproduce the bug, including:

    • a screenshot
    • your operating system (Windows 7, Mac OSX 10.9.2, etc.)
    • your web browser and version (Internet Explorer 9, Chrome 27, etc.)
    • a stack trace of any errors encountered
    • your Ruby version (use ruby -v from the command line)

For developers, a bug report should ideally include a pull request with failing specs.

Tackle a Hack Request

Some issues in particular we'd be happy if contributors like yourself were interested in fixing. Browse the issues labelled hack request and see if there's something there that you could fix.

Updating the Code? Open a Pull Request

To submit a code change to the project for review by the team:

  1. Setup: Make sure you have the prerequisites installed on your computer.

  2. Fork: Fork this repository and clone it on your computer.

  3. Install Dependencies: From the root directory of the app, run bundle.

  4. Branch: Create a topic branch for the one specific issue you're addressing.

  5. Write Specs: Add specs for your unimplemented feature or bug fix in the /spec/ directory.

  6. Test to fail: Run spring rspec. If your specs pass, return to step 5. In the spirit of Test-Driven Development, you want to write a failing test first, then implement the feature or bug fix to make the test pass.

  7. Implement: Implement your feature or bug fix. Please follow the community-driven Ruby Style Guide*.

  8. Test to pass: Run script/test to run the test suite in addition to the style checkers. If your specs fail and/or style offenses are reported, return to step 7.

  9. (If applicable) Clean up JavaScript code: Run rake jshint to check JavaScript code quality.

  10. Commit changes: Add, commit, and push your changes.

  11. Pull request: Submit a pull request to send your changes to this repository for review.

*If you use Sublime Text, please make sure to set your tab indentation to 2 spaces. We also highly recommend you use the TrailingSpaces plugin and set it to Trim On Save.