We welcome contributions of all kinds! By participating in this project, you agree to abide by our Code of Conduct.
If you encounter a bug or have a feature request, please open a new issue on GitHub. Please include the following information:
- Go version:
- managed-services-lib version:
- Steps to Reproduce the Bug:
- Expected Behavior:
- Actual Behavior:
- Any relevant logs or error messages:
We'd love to hear your ideas! Please open a new issue to discuss your proposed feature or improvement before submitting code. This allows us to align on the design and approach — the library is a public API surface, so we're deliberate about changes to it.
If you'd like to contribute code, please follow these steps:
-
Fork the Repository: Fork this repository to your GitHub account.
-
Create a Branch: Create a new branch for your changes:
git checkout -b feature/your-feature-name -
Set Up Development Environment:
- Ensure you have Go installed. The minimum required Go version is specified in the
go.modfile. - Clone your forked repository:
git clone git@github.com:your-username/managed-services-lib.git - Navigate to the project directory:
cd managed-services-lib - Run
make all.
- Ensure you have Go installed. The minimum required Go version is specified in the
-
Follow Coding Standards:
- Please ensure your code is properly formatted using
go fmt. - We use golangci-lint for static code analysis. Please run it locally before submitting a pull request:
make lint.
- Please ensure your code is properly formatted using
-
Write Tests:
-
Build and Test:
- Run
make all(fmt → lint → test → build) to check everything before submitting.
- Run
-
Commit Your Changes:
-
We use Conventional Commits for our commit messages — releases are cut automatically from them, so the type matters (
feat:→ minor,fix:→ patch,feat!:/BREAKING CHANGE:→ a breaking release). Examples:fix(provider): handle missing namespace on deletefeat(api): add readiness probe hookdocs: update contributing guide
-
Developer Certificate of Origin (DCO)
In order to contribute to this project, you must agree to the Developer Certificate of Origin (DCO). This is a simple statement that you, as a contributor, have the right to submit the code you are contributing.
Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, or solely by me; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.To indicate that you accept the DCO, you must add a
Signed-off-byline to each of your commit messages. Here's an example:fix(provider): handle missing namespace on delete Signed-off-by: John Doe <john.doe@example.com>You can add this line automatically using the
-sflag with thegit commitcommand:git commit -s -m "your commit message"
-
-
Submit a Pull Request: Open a new pull request to the
mainbranch of this repository. Please include a clear description of your changes and reference any related issues.
All contributions will be reviewed by project maintainers. Please be patient during the review process and be prepared to make revisions based on feedback. We aim for thorough but timely reviews.
By contributing to managed-services-lib, you agree that your contributions will be licensed under the Apache License 2.0.
Thank you for your interest in contributing!