|
| 1 | +# Contributing to Hercules |
| 2 | + |
| 3 | +We welcome contributions in the form of bug reports, bug fixes, improvements to the documentation, |
| 4 | +ideas for enhancements (or the enhancements themselves!). |
| 5 | + |
| 6 | +You can find a [list of current issues](https://github.com/NatLabRockies/hercules/issues) in the project's |
| 7 | +GitHub repo. Feel free to tackle any existing bugs or enhancement ideas by submitting a |
| 8 | +[pull request](https://github.com/NatLabRockies/hercules/pulls). |
| 9 | + |
| 10 | + |
| 11 | +## Pull Requests |
| 12 | +If you'd like to contribute code through a pull request, please read the following guidance: |
| 13 | +* Please reference relevant GitHub issues in your commit message using `GH123` or `#123`. |
| 14 | +* Changes should be [PEP8](http://www.python.org/dev/peps/pep-0008/) compatible. |
| 15 | +* Keep style fixes to a separate commit to make your pull request more readable. |
| 16 | +* Docstrings are required and should follow the |
| 17 | + [Google style](https://www.sphinx-doc.org/en/master/usage/extensions/example_google.html). |
| 18 | +* When you start working on a pull request, start by creating a new branch pointing at the latest |
| 19 | + commit on [develop](https://github.com/NatLabRockies/hercules/tree/develop). |
| 20 | +* Code formatting is enforced using pre-commit hooks and is required for any code pushed up to the repository. The pre-commit package is included in the developer install of the repository. The pre-commit hooks can be installed by running |
| 21 | +```bash |
| 22 | +pre-commit install |
| 23 | +``` |
| 24 | +in the repository directory. This will automatically run the pre-commit formatting hooks when code changes are committed. If you are having difficulty committing code after it has been reformatted by these hooks, try using the commit command |
| 25 | +```bash |
| 26 | +git commit -am "<Your commit message here>" |
| 27 | +``` |
| 28 | +which will re-add the reformatted files to the commit. |
| 29 | +If changes are required, follow the suggested fix or resolve the stated issue(s). Restaging and committing may take multiple attempts steps if errors are unaddressed or insufficiently addressed. Please see [pre-commit](https://pre-commit.com/), |
| 30 | +[ruff](https://docs.astral.sh/ruff/), or [isort](https://pycqa.github.io/isort/) for more information. |
| 31 | +* The Hercules copyright policy is detailed in the [`LICENSE`](https://github.com/NatLabRockies/hercules/blob/main/LICENSE.txt). |
0 commit comments