Thank you for investing your time in contributing to our project! Any contribution you make will be reflected in the README Contributors list. In this guide you will get an overview of the contribution workflow for opening an issue, creating a PR, reviewing, and merging the PR.
To get an overview of the project, read the README. Here are some resources to help you get started with open source contributions:
If you spot a problem with the source, tests or docs, check if an issue already exists on Github. In the source code,
this should be signified by a TODO(asignee) Number. Description. If an issue doesn't exist, you can open a new issue.
Please include a clear description of the problem, an indication of which files or features it affects, and a minimum
working (or failing) example, such that another developer can quickly reproduce the problem. You can either assign
yourself to the problem (if you wish to work on it), or assign one of the developer team members to it for review.
-
Fork the repository.
-
Using 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!
-
-
Using the command line:
- Fork the repo 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:
Each PR should correspond to one feature. This could be a new feature adding functionality to excitingtools, or a fix for an issue or bug. In any case, please ensure that a branch only contains one feature, such that each merge request corresponds to a self-contained change.
Whilst developing, we recommend committing regularly, as all commit messages will be squashed into a single commit upon merging. We also recommend pushing changes to your remote regularly.
Where possible, merge requests should be kept to within 500 lines of code as large submissions become difficult to review. Furthermore, every new feature or bug fix should be demonstrated with a test. PRs without tests will not be accepted.
When you're finished with the changes and have written the corresponding test cases, create a pull request targeting the development branch of the original repository.
-
Be sure to provide clear information in the description indicating:
- a). What the feature does,
- b). Why it is needed,
- c). How to use it.
-
Don't forget to link the PR to an issue if you are solving one.
-
Enable the checkbox to allow maintainer edits so the branch can be updated for a merge.
Once you submit your PR, an exciting team member will review it:
-
It is highly likely that we will ask for changes to be made before a PR can be merged, using pull request comments. We recommend you make these changes in your branch, commit and push.
-
As you update your PR and apply changes, mark each conversation as resolved.
-
If you run into any merge issues, checkout this git tutorial to help you resolve merge conflicts and other issues.
Congratulations. Once your PR is merged, your contributions will be added to the project README.
For further support, one can post in the MatSci exciting forum, where one of the developers will get back to you. One can also contact the lead maintainer, Fabian Peschel via e-mail. All contributor e-mails are given in CITATION file.