Pull Requests

How to make a great Pull Request


Pull Requests (PRs) are the way that you submit your proposed changes to some part of the Exercism codebase. If you're reading this and putting together a PR, thank you! This guide aims to help you with the non-technical side of PRs so that you have a great experience and help our maintaining team at the same time.

What to expect

The process for PRs is as follows:

  • You submit a PR
  • One or more maintainers review the PR, leaving suggested comments. In some cases, they might discuss the PR as a whole, understanding whether it's the right thing to add.
  • Your PR gets merged and you are awarded Reputation on the website. Or your PR is closed.

How do I get a PR merged?

There are certain things you can do upfront to make it more likely that your PR is merged with minimal changes.

The most important thing is to ensure before you submit the PR that the maintainers will welcome the changes you are making. The easiest way to do that is to open an Issue on GitHub first, explaining what you intend to do and asking whether maintainers are open to those changes.

Note

If you find a Task on the Exercism website, then there is no need to open a new Issue. You can comment on the existing Issue to say you're going to work on it and then proceed.

The second thing to ensure is that you leave a clear description within the PR when you open it. PRs without descriptions are incredibly frustrating for maintainers as they do not have context when reading the code. Tell us why you have made the changes, link to the Issue that the PR is about, explain any tradeoffs you've had to made, etc.

Finally, ensure that your PR only contains changes relevant to one improvement. If you have multiple improvements, split them over multiple PRs. This makes it easier and faster for maintainers to review, and will make your life easier too.

How long should I wait?

Normally maintainers will review your PR within a few days. Please do not keep bumping the PR with extra during the first week - our maintainers are volunteers and busy people and will get round to reviewing it as soon as they can. If you've not had a response within 7 days, please tag @exercism/reviewers in a new comment on the PR, and that will alert a wider team to it.


Thank you again for contributing to Exercism. We hope it's a fun and valuable experience!