Skip to content

Contributing

Marco Valtas edited this page Dec 13, 2016 · 2 revisions

There's nothing fancy about contributing with this project, just a few recommendations.

1. Make sure you are familiar with the Design Guidelines.

The Design Guidelines should provide you with some ideas and conventions behind the tool. Nothing is fixed though, when in doubt just send the pull request and we can discuss.

2. Check the Technical Details if you plan to extend grind

If you plan to extend grinds core functionality or need some help to understand how things are put together.

3. The usual fork - pull request workflow applies.

Best way to contribute provided by GitHub.

4. Make sure you test your changes.

Try to squash all the bugs you can and:

  • Test for the happy path.
  • Provide wrong inputs and see what happens.
  • Run twice and check that nothing should happen.
  • Use the grind run def/name to test your change in isolation of others.
  • Use the grind update run to test your change together with others.
  • force and dry-run should work as expected.

5. Only assume what you can assume.

Which roughly means, try to assume, or test, a state just after a bootstrap. If your code assumes a state further from the bootstrap that can mean it will fail on a new machine. Try to assess if this will be the case. One example is using tools on your code that might not be available and need to be installed first.

6. Last but not least

Do contribute as you can, any improvements or corrections we can do together.