Thanks for your interest on contributing!
This file contains a set of rules to contributing to the project and the rest of the projects developed by JdeRobot. If you have any doubt about how to contribute contact one of the maintainers of the project. They will be pleased to tell you how you can contribute with your knowledge to the project and organization!
Please report any unacceptable behavior to any of the maintainers.
In order to contribute to JdeRobot projects, please read carefully the project README.md/webpage before starting contributing to understand the purpose of the project and where you can contribute.
Any JdeRobot project follows the same workflow when contributing.
-
Find a problem or possible improvement for the project: First of all, check that the feature/bug is not listed in the current open issues.
-
Create an issue: Create an issue in the project with the problem/improvement you will address. In this issue, explain carefully what you will be updating and how this changes will impact the project. Provide any complementary information to explain it (code samples, screenshots ...). You should information about:
- Expected behavior
- Actual behavior
- Steps to reproduce
- Environment
- Possible cause
- Possible solution
The two following points are different depending on the permissions you have to the repo.
-
[If you have write permission] Work in a separate branch always: Create a new branch with a describable name (you can use the issue number as branch name "issue_xxx"). Create your commits in that branch making the needed changes. Please, use describable names as commit messages, so everyone can understand easily the changes you made.
-
[If you only have read permission] Fork the project: Fork the project. Work on that copy of the repo, making the desirable changes. Please, use describable names as commit messages, so everyone can understand easily the changes you made.
-
Open a pull request: A pull request is compulsory any time a new change wants to be added to the core or the project. After solving the issue, create a pull request with your branch. In this pull request include all the commits made, write a good description of the changes made and refer to the issue solved to make things easier to the maintainers. Include any additional resource that would be interesting (references, screenshots...). Link the PR with the issue.
-
Testing and merging pull requests One of maintainers will review your code. Reviewer could ask you to modify your pull request. Please provide timely response for reviewers (within weeks, not months), otherwise you submission could be postponed or even rejected.
-
[If you have write permission] Don't accept your own pull requests: Wait for a project maintainer to accept the changes you made. They will probably comment the pull request with some feedback and will consider if it can be merge to the master branch. Be proactive and kind!