Growstuff/growstuff

View on GitHub
CONTRIBUTING.md

Summary

Maintainability
Test Coverage
Thanks for contributing to Growstuff!

When you create a pull request, please include the following:

* Mention the issue it solves (eg. #123)
* Your code should follow our [Coding style guide](https://github.com/Growstuff/growstuff/wiki/Development-process-overview#coding-practices)
* Make sure you have automated tests for your work, where possible.
* Add your name (and that of your pair partner, if any) to [CONTRIBUTORS.md](CONTRIBUTORS.md).

All pull requests should pass our automatic continuous integration and style
checks before being merged. You can run tests locally as follows:

 - `rails spec` to run all Ruby tests
 - `rails spec:models` to run Ruby model tests (or `rails spec:views` for view tests, etc)
 - `rails static` to run all static checks (code style, unfixed Git conflicts, etc)
 - `rspec ./spec/path/to/my_spec.rb` to run all Ruby tests in the file `my_spec.rb`
 - `rspec ./spec/path/to/my_spec.rb:45` to run the Ruby test starting on line 45 of
   `my_spec.rb`. RSpec will output a list of command-lines in this form for all
   failing tests so you can easily re-run particular ones.
 - `rspec --only-failures` to re-run all Ruby tests that failed last time.

Growstuff runs several linters and checkers before a change is merged. These
run from overcommit. To automatically run the same linters yourself you can
install overcommit too.

 - `./script/install_linters`

You can run `rake -T` to see a list of available Rake tasks. If you can't get
some tests to pass, please submit a pull request anyway - we'll be happy to
help you debug the failures.

If you would like to discuss an idea before submitting a pull request,
please open a [GitHub Issue](https://github.com/growstuff/growstuff/issues),
where our dev team will be happy to help you.