Contributing
Greetings! We are grateful for your interest in joining the Rossoctl community and making a positive impact. Whether you're raising issues, enhancing documentation, fixing bugs, or developing new features, your contributions are essential to our success.
To get started, kindly read through this document and familiarize yourself with our code of conduct.
We can't wait to collaborate with you!
Contributing Code
Developer's Guide
Please follow our Developer's Guide where you can find comprehensive instructions for common development operations.
Prerequisites
Follow installation instructions.
Issues
Prioritization for pull requests is given to those that address and resolve existing GitHub issues. Utilize the available issue labels to identify meaningful and relevant issues to work on.
If you believe that there is a need for a fix and no existing issue covers it, feel free to create a new one.
As a new contributor, we encourage you to start with issues labeled as good first issues.
Your assistance in improving documentation is highly valued, regardless of your level of experience with the project.
To claim an issue that you are interested in, kindly leave a comment on the issue and request the maintainers to assign it to you.
Alternatively, comment /claim on the issue to have it automatically assigned to you. Issues labeled blocked or in-progress cannot be claimed this way.
Committing
We encourage all contributors to adopt best practices in git commit management to facilitate efficient reviews and retrospective analysis. Your git commits should provide ample context for reviewers and future codebase readers.
A recommended format for final commit messages is as follows:
{Short Title}: {Problem this commit is solving and any important contextual information} {issue number if applicable}
Pull Requests
When submitting a pull request, clear communication is appreciated. This can be achieved by providing the following information:
- Detailed description of the problem you are trying to solve, along with links to related GitHub issues
- Explanation of your solution, including links to any design documentation and discussions
- Information on how you tested and validated your solution
- Updates to relevant documentation and examples, if applicable
The pull request template has been designed to assist you in communicating this information effectively.
Smaller pull requests are typically easier to review and merge than larger ones. If your pull request is big, it is always recommended to collaborate with the maintainers to find the best way to divide it.
See the making PR document for detailed instructions.
Releasing
Maintainers: see the Releasing Guide for how to create tags, pre-releases, and stable (GA) releases across the Rossoctl organization.
Contributing Documentation
Documentation improvements are always welcome! When contributing documentation, please follow these guidelines:
Diagrams
When adding diagrams to the documentation, please place them in the appropriate location:
-
General images and architecture diagrams: Place PNG, JPG, or other image files in
docs/images/. This includes architecture diagrams, screenshots, QR codes, and other visual assets used across the documentation. We recommend using draw.io for generating diagrams so they can be easily edited in the future. -
Mermaid sequence diagrams: Place Mermaid source files (
.mmd) indocs/diagrams/and generate PNG versions indocs/diagrams/images/png/. See the diagrams README for instructions on generating diagram images from Mermaid source files.
When referencing diagrams in documentation, use relative paths from the documentation file location (e.g., ./images/rossoctl-architecture.drawio.png or ../diagrams/images/png/01-user-authentication-flow.png).
Licensing
Rossoctl is Apache 2.0 licensed and we accept contributions via GitHub pull requests.
Please read the following if you're interested in contributing to Rossoctl.
Certificate of Origin
By contributing to this project you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution. See the DCO for details.