There are three ways in which you can contribute to the project.
Your sponsorship will enable me to spend more time contributing to open source projects. Thanks for your support!
Submit bug reports and feature requests using the provided templates. I can't guarantee I can resolve everything reported, but I'd like the opportunity to try. Sponsorship can be quite motivating. 😊
I welcome high quality pull requests from everyone! 🦄
Pull requests are preferred over bug reports and feature requests. ✨
Submit pull requests from your fork of the repository. I may suggest some changes or improvements or alternatives. To increase the chance that your pull request is accepted:
- Ensure your changes build, test, and lint successfully.
- Document any new public types or functions and include the generated documentation with your changes.
- Write tests for any new functionality and backfill tests to improve code coverage.
- Write clear, concise commit messages.
- Follow the surrounding code style.
Use the Swift Package Manager to build:
swift build
Unit testing is accomplished using mock CloudKit types.
🚧 Integration testing against the CloudKit API and service will require app entitlements. Some work remains to wire this up automatically to
swift test
.
Use the Swift Package Manager to test:
swift test
We check for lint using several tools, many of which are installed using Homebrew. Please fix any issues reported here before submitting a pull request.
Check for lint:
script/lint
CombineCloudKit is 💯% documented. Please include documentation for any new public types or functions using markup with appropriate syntax.
Generate new documentation pages:
script/build_docs
Commit the new documentation pages with your changes.