diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ca0dcd5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,58 @@ +Contributing +============ + +Thank you for investing your time in contributing to our project! + +In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. + +There are many ways you can help out, so everyone can find a way to help! Whether you're helping with the code, testing, or helping others understand the project by updating and writing documentation. ❤️ + +## Issues + +### Create a new issue + +If you spot a problem with Smilodon, check if an issue already exists in our [existing issues](https://github.com/DevChatter/Smilodon/issues). Please use the search function to make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected. If a related issue doesn't exist, you can open a new issue. + +### Solve an issue + +Scan through our [existing issues](https://github.com/DevChatter/Smilodon/issues) to find one that interests you. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. + +## Make Changes + +### Make Changes locally + +Fork the repository: + +#### Using GitHub Desktop: + - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. + - Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)! + +#### Using the command line: + - [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them. + +Create a working branch and start with your changes! + +### Commit your update + +Commit the changes once you are happy with them. Always write a clear commit message to help others understand what you're committing. + +Push your changes to the working branch. + +### Pull requests + +When you're finished with the changes, create a pull request, also known as PR. +- Head over to the [original repository's Pull Requests tab](https://github.com/DevChatter/Smilodon/pulls), and you might see a suggestion from GitHub to create a pull request from your working branch. If the suggestion isn't there, you can click `New Pull Request` and choose your branch. +- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. +- Don't forget to [link the PR to an issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one. These auto-complete when you type `#` followed by the issue number. +- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. +Once you submit your PR, a team member will review your proposal. We may ask questions, request additional information, make suggestions, or even make a small tweak or two. +- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. +- As you update your PR and apply changes, each comment will need to be [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations) before it gets merged in. +- If you run into any merge issues, checkout this [git merge conflict resolution tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues. + +### Your PR is merged! + +Once your PR is merged, your contributions will be publicly visible in this project. + +🎉Congratulations! You're an open source contributor! Thank you for improving this project for everyone! 🎉 +