mirror of
https://github.com/MessageKit/MessageKit.git
synced 2026-02-06 19:03:19 +00:00
75 lines
4.0 KiB
Markdown
75 lines
4.0 KiB
Markdown
# 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).*
|