-
Notifications
You must be signed in to change notification settings - Fork 18
3. Contribute
If you are looking to help to with a code contribution, iGame is written with C language and uses Magic User Interface (MUI) for the GUI. If you don't feel ready to make a code contribution yet, no problem! You can also check out the documentation or the User Interface for potential improvements.
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 organization. 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/github-username/repository-name.git.
- Create a new branch for your fix using git checkout -b branch-name-here. You can name this branch based on the issue number, i.e. issue-123
- 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. 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!
- We prefer small pull requests that address the specific issue, and only this one. This is preferred because the code review can be done faster and a potential bug can be tracked easier.
- If there is some work needed to be done to support your pull request, it would be better to create a new issue, describe that fix/change, and if this is approved, proceed with the change.
- We prefer to not have the same code on multiple places. If you want to use the same logic, it would be better to move the part of code into a separate method. This way we can track problems easier.
- We prefer to avoid global variables
- Try to clear all unnecessary variables after you use them
- Have in mind that iGame must work on computers with low amount of available memory and CPUs running on a few MHz.
If you need help, you can ask questions on the issues you would like to work on.
Our Code of Conduct means that you are responsible for treating everyone on the project with respect and courtesy regardless of their identity. If you are the victim of any inappropriate behavior or comments as described in our Code of Conduct, we are here for you and will do the best to ensure that the abuser is reprimanded appropriately, per our code.