diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..df2b78a4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,46 @@ +# Contributing to a Touchlab Project + +## License +By contributing you agree for your contribution to be licensed under the same license as the project which can be found in the LICENSE file. +If no LICENSE file is present, all intellectual property rights for the project and contributions to the project are reserved by Touchlab. + +## Opening an issue +Issues can be useful for reporting bugs and requesting features. +If you simply have a question about the project or how to use it, please instead reach out in the [Kotlinlang touchlab-tools channel](https://kotlinlang.slack.com/archives/CTJB58X7X) + +### Reporting a Bug +When reporting a problem with the project please provide as much detail as possible including: +- The version of the project used as well as other relevant versions (eg: Kotlin, Android, iOS) +- What behavior was expected +- Steps to reproduce + +#### Sample Project +Sharing a simple sample project which reproduces the issue is **immensely** helpful. +Issues are often caused by project specific configurations and uses which are not practical for us to derive from a bug report. +A reproducing project is often the first thing we ask for on difficult bugs and going through the process will help you make a more informed bug report. + +### Requesting an Enhancement +We get a lot of great feedback from the community about how they use our projects and what can make them better. +If you'd like to suggest an improvement that is not fixing a defect, please label it as an Enhancement. +Share as much info as you can about your use case and how you would expect the enhancement might work. +Please understand that even great ideas might not fit in with our vision for the project and, even if we don't implement them, we greatly appreciate your input + +## Submitting a PR +We appreciate community members who are excited for our projects and willing to help improve them! + +### Before Submitting a PR +If you are considering making a significant change, **please get in contact with us** before commiting a significant amount of time and effort. +Even well thought out and constructed PRs sometimes do not fit into the current goals of the project and we would hate for anyone to feel their time is wasted. +To discuss changes you can first [submit an issue](#opening-an-issue) documenting the bug or enhancement. Alternatively you can reach out in the [Kotlinlang touchlab-tools channel](https://kotlinlang.slack.com/archives/CTJB58X7X) + +### When Submitting a PR +Please be sure to check that no tests are broken and relevant tests have been added. +Include documentation updates for any changes to behavior or usage. +Be as detailed as possible in your PR comments about what has changed and how to test it. + +## Other Ways To Help +- Test and comment on other's contributions + - Review PR's + - Confirm issues and provide reproducers +- Star the repository +- Share the project with other developers