|
controls
3.0.0
|
Install pre-commit and set up the git hooks:
All checks are defined in .pre-commit-config.yaml and run both locally via pre-commit and in CI via pre-commit/action, so the two are always in sync.
Formatting rules are defined in .clang-format at the repo root. The C/C++ VSCode extension picks this up automatically — no extra configuration needed.
A custom hook also forbids __struct.hpp detail includes (e.g. foo/msg/detail/bar__struct.hpp). These are internal rosidl-generated headers that omit the is_message<> trait specialisation that rclcpp requires. Always use the full message header (e.g. foo/msg/bar.hpp) instead.
Python files are formatted and linted with ruff. Default rules apply (no ruff.toml).
Three GitHub Actions workflows run on every push and pull request:
colcon inside a ROS Humble container.pre-commit run --all-files. Fails on any violation.Doxygen docs are not built by default. To generate them locally, pass -DBUILD_DOC=ON:
Requires Doxygen (sudo apt install doxygen). Output is written to build/controls/docs/html/index.html.