Thank you for your interest in contributing to awviz-ros
🚀
We appreciate your effort to help improve this project. Please follow the guidelines below to ensure a smooth collaboration.
If you encounter any bugs, have feature requests, or want to ask questions, please open an issue.
When reporting an issue, please include:
- A clear and descriptive title.
- A detailed explanation of the problem.
- Steps to reproduce the issue (if applicable).
- Relevant error messages or logs.
- Your environment (OS, ROS version, etc.)
We welcome pull requests (PRs) to address issues, improve documentation, or add new features.
Here's the process:
-
Fork the repository and clone your fork:
git clone https://github.com/<YOUR-USERNAME>/awviz-ros.git cd awviz-ros
To ensure changes align with the existing code style, use pre-commit.
For the installation, please refer to the official document.Before to start making your changes, please run the following command to set up
pre-commit
hooks:pre-commit install
Now,
pre-commit
will run automatically ongit commit
! -
Create a new branch for your contribution:
git checkout -b feat/<PACKAGE-NAME>/<YOUR-FEATURE-NAME>
-
Make your changes, ensuring they align with the existing code style. Remember to update or add relevant tests.
-
Commit your changes with clear adn descriptive commit messages:
Note that, we basically follow the Conventional Commits.
git add <PATH-TO-CHANGES> git commit -sS -m "feat: <YOUR FEATURE>"
-
Push your branch to your fork:
git push <YOUR-REMOTE> feat/<PACKAGE-NAME>/<YOUR-FEATURE-NAME>
-
Submit a pull request to the main repository. Please describe your changes in detail, linking to any relevant issues.
To maintain a clean and consistent codebase, please follow these guidelines:
- Code Style
- Follow the Google C++ Style Guide for general style conventions.
- Use
snake_case
for function names. For example,void set_name(const std::string & name);
.
- Code Formatting
- We recommend using clangd that features like code completion, navigation (e.g. go to definition, find references), refactoring, and diagnostics.
- Code Documentation
- Ensure your code is well-documented code with clear and concise comments.
- Follow the Doxygen C++ Document Style for writing code documentation.
Before submitting a pull request, ensure that all tests pass successfully. You can run the tests using:
colcon test --packages-select awviz awviz_common awviz_plugin [<PACKAGES>..]
If you introduce a new feature or fix a bug, please add appropriate tests to cover the changes.
Well-written documentation is crucial for both users and developers. If your contribution affects the behavior of the system, please ensure that:
- All public functions are documented.
- New features are described in the README or relevant documentation files.
By contributing to awviz-ros
, you agree that your contributions will be licensed under the project's @ref LICENSE "Apache-2.0".
If you have any questions, feel free to reach out by opening an issue. We're happy to assist!