First off, thanks for taking the time to contribute!
The following is a set of guidelines for contributing to Achievement Engine, which are hosted in the MeritLabs Organization on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected] or our public discord.
- Do not open up a GitHub issue if the bug is a security vulnerability, contact us directly instead.
- Ensure the bug was not already reported by searching on GitHub
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- Open a new GitHub pull request with the patch.
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
- Contact us directly using our public discord.
- Or open an issue and add the
question
label.
If you are looking to help to with a code contribution our project uses Go and Gin-Gonic framework. If you don't feel ready to make a code contribution yet, no problem! You can also check out the documentation issues or the design issues.
Never made an open source contribution before? Wondering how contributions work in the in our project? Here's a quick rundown!
- Find an issue that you are interested in addressing or a feature that you would like to add.
- Fork the repository associated with the issue to your local GitHub profile. This means that you will have a copy of the repository under
your-GitHub-username/repository-name
. - Clone the repository to your local machine using
git clone https://github.com/meritlabs/achievement-engine.git
. - Create a new branch for your fix using
git checkout -b branch-name-here
. - Make the appropriate changes for the issue you are trying to address or the feature that you want to add.
- Use
git add insert-paths-of-changed-files-here
to add the file contents of the changed files to the "snapshot" git uses to manage the state of the project, also known as the index. - Use
git commit -m "Insert a short message of the changes made here"
to store the contents of the index with a descriptive message. - Push the changes to the remote repository using
git push origin branch-name-here
. - Submit a pull request to the upstream repository.
- Title the pull request with a short description of the changes made and the issue or bug number associated with your change. For example, you can title an issue like so "Added more log outputting to resolve #4352".
- In the description of the pull request, explain the changes that you made, any issues you think exist with the pull request you made, and any questions you have for the maintainer. Add
ready for review label
. It's OK if your pull request is not perfect (no pull request is), the reviewer will be able to help you fix any problems and improve it! - Wait for the pull request to be reviewed by a maintainer.
- Make changes to the pull request if the reviewing maintainer recommends them.
- Celebrate your success after your pull request is merged!
If you need help, you can ask questions on ourdiscord.