mirror of
https://github.com/CLIUtils/CLI11.git
synced 2026-01-19 04:52:08 +00:00
1.6 KiB
1.6 KiB
Thanks for considering to write a Pull Request (PR) for CLI11! Here are a few guidelines to get you started:
Make sure you are comfortable with the license; all contributions are licensed under the original license.
Adding functionality
Make sure any new functions you add are are:
- Documented by
///documentation for Doxygen - Mentioned in the instructions in the README, though brief mentions are okay
- Explained in your PR (or previously explained in an Issue mentioned in the PR)
- Completely covered by tests
In general, make sure the addition is well thought out and does not increase the complexity of CLI11 needlessly.
Things you should know:
- Once you make the PR, tests will run to make sure your code works on all supported platforms
- The test coverage is also measured, and that should remain 100%
- Formatting should be done with clang-format, otherwise the format check will not pass. However, it is trivial to apply this to your PR, so don't worry about this check. If you do have clang-format, just run
scripts/check_style.sh - Everything must pass clang-tidy as well, run with
-DCLANG_TIDY_FIX-ON(make sure you use a single threaded build process!)
Note that the style check is really just:
git ls-files -- '.cpp' '.hpp' | xargs clang-format -i -style=file
And, if you want to always use it, feel free to install the git hook provided in scripts.
For developers releasing to Conan.io
The steps to make a Conan.io release are:
conan delete '*' # optional, I like to be clean
conan create . CLIUtils/stable
conan upload "*" -r cli11 --all
Here I've assumed that the remote is cli11.