How to Contribute
Thanks for your interest in contributing to this project! Here are a few simple guidelines to follow.
Reporting a bug
- Check that a similar issue doesn’t already exist in the Issues section.
- Open a new issue describing:
- the expected behavior and the observed behavior,
- steps to reproduce the problem,
- your environment (OS, package version, compiler, Python version…).
Proposing a change (Pull Request)
- Fork the repository, then clone your fork.
- Create a dedicated branch from
devel:git checkout -b my-feature - Make your changes, keeping commits clear and atomic.
- Follow the existing code style of the file you’re modifying (C++ or Python).
- If you add a feature, add or update the corresponding tests.
- Make sure the project builds and the tests pass:
cmake -B build cmake --build build cmake --build build -t test - Push your branch and open a Pull Request against the upstream repository.
- Clearly describe what your PR does and why.
Pre-commit
This project uses prek (a faster, drop-in replacement for pre-commit) to automatically check code formatting and quality before each commit.
- Install
prek(one-time setup): follow the instructions at https://prek.j178.dev/installation/ - Enable the hooks in your local clone:
prek install
- From then on, checks run automatically on every
git commit. You can also run them manually on all files:
prek run --all-files
- If a hook modifies files (auto-formatting), stage those changes and commit again:
git add -u
git commit
The repository also uses pre-commit.ci, so the hooks will automatically be checked on your Pull Request as well.
Commit messages
- Use short, descriptive, imperative-mood messages (e.g.
Fix collision check in hpp-core). - One change = one commit whenever possible.
License
By contributing, you agree that your code will be distributed under the project’s license (see the LICENSE file of the relevant repository).
Questions
For any questions, open an issue or check the documentation at https://humanoid-path-planner.github.io/hpp-doc/