Skip to content
This repository has been archived by the owner on Nov 27, 2023. It is now read-only.

Latest commit

 

History

History
80 lines (51 loc) · 2.83 KB

CONTRIBUTING.md

File metadata and controls

80 lines (51 loc) · 2.83 KB

Contributing to CombineCloudKit

There are three ways in which you can contribute to the project.

❤️ Sponsorship

Sponsor

Your sponsorship will enable me to spend more time contributing to open source projects. Thanks for your support!

🐛 Issues

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. 😊

🧑🏽‍💻👩🏿‍💻👨🏻‍💻 Pull Requests

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.

🛠 Building CombineCloudKit

Use the Swift Package Manager to build:

swift build

✅ Testing CombineCloudKit

Unit testing is accomplished using mock CloudKit types.

Coverage

🚧 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

🧹 Linting CombineCloudKit

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

📘 Documentation

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.