From de73a94de068105f98159047dae128d5e6ae9f89 Mon Sep 17 00:00:00 2001 From: Steven Deutsch Date: Fri, 11 Aug 2017 20:52:48 -0500 Subject: [PATCH] Add CONTRIBUTING.md --- CONTRIBUTING.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..0452ec50 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,74 @@ +# Contributing Guidelines + +### Code of Conduct + +Please read our Code of Conduct. The MessageKit maintainers take this Code of Conduct very seriously. Intolereance, disrespect, harassment, and any form of negavity will not be tolerated. + +### Ways to Contribute + +You can contribute to MessageKit in a variety of ways: + +- Fixing or reporting bugs :scream: +- Improving documentation :heart: +- Suggesting new features :smiley: +- Increasing unit test coverage :pray: +- Resolving any open issues :+1: + +If you're new to Open Source or Swift, the MessageKit community is a great place to get involved. + +*Your contributions are always welcome, no contribution is too small.* + +### Opening a New Issue + +- Please check the [README](https://github.com/MessageKit/MessageKit/blob/master/README.md) to see if your question is answered there. +- Search [open issues](https://github.com/MessageKit/MessageKit/issues?q=is%3Aopen+is%3Aissue) and [closed issues](https://github.com/MessageKit/MessageKit/issues?q=is%3Aissue+is%3Aclosed) to avoid opening a duplicate issue. +- Avoiding duplicate issues organizes all relevant information for project maintainers and other users. +- If no issues represent your problem, please open a new issue with a good tile and useful description. + +- Information to Provide When Opening an Issue: + - MessageKit version(s) + - iOS version(s) + - Devices/Simulators affected + - Full crash log, if applicable + - A well written description of the problem you are experiencing + - *Please provide complete steps to reproduce the issue* + - For UI related issues, please provide a screenshot/GIF/video showing the issue + - Link to a project or demo project that exhibits the issue + - Search for an list any issues that might be related + +The more information you can provide, the easier it will be for us to resolve your issue in a timely manner. + +### Submitting a Pull Request + +- Please read the MessageKit [VISION.md](https://github.com/MessageKit/MessageKit/blob/master/VISION.md) document to understand the project goals, scope, and other technical considerations. +- We strongly encourage you to open an issue discussing any potential new features before an implementation is provided. + - This ensures the feature is in scope and no ones time is wasted. + +- *Please DO NOT submit pull requests to the `master` branch* + - This branch is always stable and represents a relase. + +- *Please DO submit your pull request to the branch repersenting the next release version* + +1. Link to any issues the pull request resolves. If none exist, create one. +2. Write unit tests for new functionality or fix any broken by your changes. +3. If your changes affect documentation, please update them accordingly. +4. Avoid pull requests with a large number of commits. +5. Write clean code and follow the MessageKit [style guidelines](#style-guidelines). + +*You should submit one pull request per feature, the smaller the pull request the better chances it will be merged.* +Enormous pull requests take a signficant time to review and understand their implications on the existing codebase. + +### Style Guidelines + +Writing clean code and upholding project standards is as important as adding new features. To ensure this, MessageKit employs a few practices: + +1. We use [SwiftLint](https://github.com/realm/SwiftLint) to enforce style and conventions at compile time. +2. We adhere to the [Swift API Design Guidelines](https://swift.org/documentation/api-design-guidelines/). +3. We follow the [Raywenderlich Swift Style Guide ](https://github.com/raywenderlich/swift-style-guide) but may have slight variations. + +### Questions and Contact + +If any of the sections above are unclear and require further explanation, *do not hesitate to reach out*. +MessageKit strives to build an inclusive open source community and to make contributing as easy as possible for memebers of all experience levels. + +*You can get in touch with the MessageKit core team directly by joining our open Slack community channel: [here](https://join.slack.com/t/messagekit/shared_invite/MjI0NDkxNjgwMzA3LTE1MDIzMTU0MjUtMzJhZDZlNTkxMA).*