|
| 1 | +# How to contribute |
| 2 | + |
| 3 | +One of the easiest ways to contribute is to participate in discussions and discuss issues. You can also contribute by submitting pull requests with code changes. |
| 4 | + |
| 5 | +## Filing issues |
| 6 | +The best way to get your bug fixed is to be as detailed as you can be about the problem. |
| 7 | +Providing a minimal project with steps to reproduce the problem is ideal. |
| 8 | +Here are questions you can answer before you file a bug to make sure you're not missing any important information. |
| 9 | + |
| 10 | +1. Did you include the snippet of broken code in the issue? |
| 11 | +2. What are the *EXACT* steps to reproduce this problem? |
| 12 | +3. What package versions are you using? |
| 13 | +4. What operating system are you using? |
| 14 | + |
| 15 | +GitHub supports [markdown](https://help.github.com/articles/github-flavored-markdown/), so when filing bugs make sure you check the formatting before clicking submit. |
| 16 | + |
| 17 | +## Contributing code and content |
| 18 | +Make sure you can build the code and run the tests. Familiarize yourself with the project workflow and our coding conventions. If you don't know what a pull request is read this article: https://help.github.com/articles/using-pull-requests. |
| 19 | + |
| 20 | +Before submitting a feature or substantial code contribution please discuss it with the team and ensure it follows the product roadmap. You might also read these two blogs posts on contributing code: [Open Source Contribution Etiquette](http://tirania.org/blog/archive/2010/Dec-31.html) by Miguel de Icaza and [Don't "Push" Your Pull Requests](https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/) by Ilya Grigorik. Note that all code submissions will be rigorously reviewed and tested by the Winton team prior to merging. |
| 21 | + |
| 22 | +Here's a few things you should always do when making changes to the code base: |
| 23 | + |
| 24 | +**Engineering guidelines** |
| 25 | + |
| 26 | +Please follow the existing coding style used in this project. StyleCop is used in this project to enforce most of our guidelines. |
| 27 | + |
| 28 | +**Commit/Pull Request Format** |
| 29 | + |
| 30 | +``` |
| 31 | +Summary of the changes (Less than 80 chars) |
| 32 | + - Detail 1 |
| 33 | + - Detail 2 |
| 34 | +
|
| 35 | +Addresses #bugnumber (in this specific format) |
| 36 | +``` |
| 37 | + |
| 38 | +**Tests** |
| 39 | + |
| 40 | +- Tests need to be provided for every bug/feature that is completed. |
| 41 | +- If there is a scenario that is far too hard to test there does not need to be a test for it. |
| 42 | + - "Too hard" is determined by the team as a whole. |
0 commit comments