By contributing to this project:
- You agree that you have authored 100% of the content.
- You agree that you have the necessary rights to the content.
- You agree that you have received the necessary permissions from your employer to make the contributions (If applicable).
- You agree that the content you contribute may be provided under the Projects license.
- You agree that you read the code of conduct and to act accordingly.
There are several ways to contribute to this repository:
- Submitting feature requests
- Reporting issues
- Fixing issues
- Improving existing examples
- Adding new examples
You can submit feature requests to improve existing examples or to add new examples.
Before submitting feature requests, make sure you are using the latest version of the repository as the feature you wish to have could be already added. If you are using the latest version, please use the GitHub search to check if a similar feature request is already present. If you've found a feature request that is:
- Open: Drop a comment to describe the additional things you wish.
- Missing: Open a new feature request.
You can use the FEATURE_REQUEST template to submit feature requests (You may remove the name and about part. Those are for GitHub).
Before creating an issue, make sure that you are using the latest version of the repository as the issue you wish to report could be already resolved. If you are using the latest version, please use the GitHub search to check if the issue is already known. If you've found an issue that is:
- Closed: Check if the issue provides a solution for your issue. If it's already fixed, it could be that there has been a regression in the code. In this case, it's best to open a new issue. For all other cases, it might make more sense to add a comment to the closed issue explaining that you're still affected by this.
- Open: Try to provide more details about the issue. If you can reproduce the issue in a different way than the one used by the original author, please add this. The more ways there is to reproduce the bug, the more are the chances to get it fixed quickly.
- Missing: Open a new bug report. While doing so, to save everyone time and make it much more likely for your issue to be understood, worked on and resolved quickly, it would help if you're mindful of How to Report Bugs Effectively when pressing the "Submit new issue" button.
You can use the BUG_REPORT template to report bugs (You may remove the name and about part. Those are for GitHub).
For all the other ways of contributing, please check if there is an open issue for the thing you want to work on. If the issue does not exist, first open a new issue and wait for the feedback.
Once the issue is discussed or if the issue is already discussed, you need to fork the repository and install dependencies to start contributing. You can do this with the following commands.
$ git clone https://github.com/umut-sahin/rust-examples.git
$ cd rust-examples
$ git checkout development
Now you are ready to make changes.
After you are happy with your changes, you need to commit your changes to git. Please write descriptive commit messages. You can do this with the following command.
$ git commit -m "INSERT_DESCRIPTIVE_COMMENT"
Commit as much as you like. After you are confident with your work, push your changes to your fork with the following command.
$ git push origin development
Then, open a descriptive pull request to the original repository's development branch using the PULL_REQUEST_TEMPLATE template (Pull requests to master will be closed).
After that, the changes you made will be reviewed and given feedback. Once everybody agrees that the code is ready to be merged to master, a maintainer will make necessary changes and merge the development branch with master.
- The easiest way to add a new example is to copy write-to-console directory and rename it to the example you want. Then, update the Cargo.toml file appropriately under the folder you just created. You are now good to go. Make the necessary changes to the example upon finishing writing code, head to README in the new example's directory, and update it appropriately.