# Contributing to Chatto ## Asking a Question Please don't file an issue just to ask a question. You'll get a faster response in [our Gitter room](https://gitter.im/chatto-framework/community) ## Reporting a Bug ### Before Submitting a Bug Report - **Make sure you're on the latest version.** If you're not on the most recent version, your problem may have been solved already. Upgrading is always the best first step. - **Try older versions.** If you're already on the latest release, try rolling back a few minor versions and see if the problem goes away. This will help devs narrow down when the problem first arose in the commit log. - **Try searching the [list of opened issues](https://github.com/badoo/Chatto/issues?q=is%3Aissue+is%3Aopen)** to see if the problem has already been reported. If it has, please add a comment to the existing issue instead of opening a new one. ### What To Put In Your Bug Report Explain the problem and include additional details to help maintainers reproduce the problem: - **Use a clear and descriptive title** for the issue. - **Describe the exact steps to reproduce the problem** in as many details as possible. - **Provide code samples.** - **Include screenshots and animated GIFs** which could clearly demonstrate the problem. You can use [this tool](https://www.cockos.com/licecap/) to capture GIFs on macOS - **Explain which behaviour you expect to see and why.** - **Provide information about your environment.** - Chatto version - iOS version - Xcode version - **Add info how Chatto is intergrated** to your project. Is it CocoaPods, Carthage or manual? ## Contributing Changes If you'd like to introduce new functionality or fix a bug, it's always best to discuss it with us in [our Gitter room](https://gitter.im/chatto-framework/community). When creating a pull request please consider following: - **Always make a new branch** for your work. This makes it easier for others to take just one set of changes form your repository. - **Please do not submit unrelated changes** in the same pull request. - **Use a clear and descriptive title** for the pull request. - **Describe a clear list of things** that you have done in this pull request. - **Include relevant issue number** if applicable. - **Consider enabling "Allow edits by maintainers" checkmark.** So we could push additional changes in your pull request. - **Consider adding unit tests.** We'd be really grateful if you add unit test for your feature/bugfix!