1f6121a04Sopenharmony_ci# How to Contribute 2f6121a04Sopenharmony_ci 3f6121a04Sopenharmony_ciContributions are always welcome! 4f6121a04Sopenharmony_ciPlease use the following guidelines when contributing to `lazycell`: 5f6121a04Sopenharmony_ci 6f6121a04Sopenharmony_ci1. Fork `lazycell` 7f6121a04Sopenharmony_ci2. Clone your fork (`git clone https://github.com/$YOUR_USERNAME/lazycell && cd lazycell`) 8f6121a04Sopenharmony_ci3. Create a new branch (`git checkout -b new-branch`) 9f6121a04Sopenharmony_ci4. Make your changes 10f6121a04Sopenharmony_ci5. Commit your changes (`git commit -am "your message"`) 11f6121a04Sopenharmony_ci * This project uses the 12f6121a04Sopenharmony_ci [conventional changelog format][conventional-changelog-format], so that we can 13f6121a04Sopenharmony_ci easily update the `CHANGELOG.md` using [clog][clog-cli]. 14f6121a04Sopenharmony_ci * In addition to the conventions defined above, we also use `imp`, `wip`, 15f6121a04Sopenharmony_ci and `examples`. 16f6121a04Sopenharmony_ci * Format your commit subject line using the following format: 17f6121a04Sopenharmony_ci `TYPE(COMPONENT): MESSAGE` where `TYPE` is one of the following: 18f6121a04Sopenharmony_ci - `feat` - A new feature 19f6121a04Sopenharmony_ci - `imp` - An improvement to an existing feature 20f6121a04Sopenharmony_ci - `perf` - A performance improvement 21f6121a04Sopenharmony_ci - `docs` - Changes to documentation only 22f6121a04Sopenharmony_ci - `tests` - Changes to the testing framework or tests only 23f6121a04Sopenharmony_ci - `fix` - A bug fix 24f6121a04Sopenharmony_ci - `refactor` - Code functionality doesn't change, but underlying structure 25f6121a04Sopenharmony_ci may 26f6121a04Sopenharmony_ci - `style` - Stylistic changes only, no functionality changes 27f6121a04Sopenharmony_ci - `wip` - A work in progress commit (Should typically be `git rebase`'ed 28f6121a04Sopenharmony_ci away) 29f6121a04Sopenharmony_ci - `chore` - Catch all or things that have to do with the build system, etc. 30f6121a04Sopenharmony_ci - `examples` - Changes to an existing example, or a new example 31f6121a04Sopenharmony_ci * The `COMPONENT` is optional, and may be a single file, directory, or logical 32f6121a04Sopenharmony_ci component. 33f6121a04Sopenharmony_ci Can be omitted if commit applies globally 34f6121a04Sopenharmony_ci6. Run the tests (`cargo test`) 35f6121a04Sopenharmony_ci7. `git rebase` into concise commits and remove `--fixup`s 36f6121a04Sopenharmony_ci (`git rebase -i HEAD~NUM` where `NUM` is number of commits back) 37f6121a04Sopenharmony_ci8. Push your changes back to your fork (`git push origin $your-branch`) 38f6121a04Sopenharmony_ci9. Create a pull request! (You can also create the pull request first, and 39f6121a04Sopenharmony_ci we'll merge when ready. 40f6121a04Sopenharmony_ci This a good way to discuss proposed changes.) 41f6121a04Sopenharmony_ci 42f6121a04Sopenharmony_ci# Notes 43f6121a04Sopenharmony_ci 44f6121a04Sopenharmony_ci* Ensure that you update the copyright dates, if necessary (e.g. `2014, 2016` -> 45f6121a04Sopenharmony_ci `2014, 2016-2017`) 46f6121a04Sopenharmony_ci* Make sure you add yourself to the [`CONTRIBUTORS.md`][contributors]! 47f6121a04Sopenharmony_ci 48f6121a04Sopenharmony_ci[clog-cli]: https://github.com/clog-tool/clog-cli "clog-tool/clog-cli" 49f6121a04Sopenharmony_ci[contributors]: CONTRIBUTORS.md "CONTRIBUTORS.md" 50f6121a04Sopenharmony_ci[conventional-changelog-format]: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit "Angular Git Commit Guidelines" 51