Thank you for considering contributing to the Exercism app! This guide will help you get started with the process and outline the steps to make your contribution as smooth as possible.
- Platform Compatibility
- How to Contribute
- Pull Requests and Code Reviews
- Code Style and Standards
- PR Merge Policy
- Getting Help
The Exercism app is designed to run on Mac and iPad only. Ensure you have access to one of these devices to test and develop the app effectively. The app also runs on the simulators of the same devices with all it's features available.
If you find a bug in the project, please open an issue on GitHub with the following details:
- A clear and descriptive title.
- A detailed description of the issue.
- Steps to reproduce the issue.
- Any relevant logs or screenshots.
- Add the relevant labels
We welcome new ideas and feature suggestions! To suggest a feature:
- Open an issue on GitHub with the "Feature Request" label.
- Provide a clear and detailed description of the feature.
- Explain why this feature would be useful and how it should work.
All code contributions pass through pull requests. If you haven't created a pull request before, we recommend this free video series, How to Contribute to an Open Source Project on GitHub. The team monitors and reviews all pull requests. Depending on the changes, we will either approve them or close them with an explanation. We might also work with you to improve a pull request before approval. We do our best to respond quickly to all pull requests. If you don't get a response from us after a week, feel free to reach out to us via Slack or GitHub discussions Note: If you are part of the org and have the permissions on the repo, don't forget to assign yourself to the PR, and add the appropriate GitHub label and Milestone for the PR
Follow the Swift API design guidelines. Use meaningful variable and function names. Write comments to explain complex logic or code blocks. The project uses Swiftlint, install and once you build you will get warnings for any violations.
PRs require one reviewer to approve the PR before it can be merged to the base branch We keep the PR git history when merging (merge via "merge commit") Who merges the PR once it's approved and green?
- For PRs authored by people external to the organisation and not having push permissions, the reviewer who approved the PR will merge it.
- For PRs authored by contributors with push permissions, the author of the PR will merge their own PR.
If you need help with anything related to the project, feel free to:
- Open an issue with the "Help Wanted" label.
- Reach out in the project's slack workspace or or GitHub discussions
Thank you for contributing to the Exercism app!