Thank you for your interest in contributing to kubert! This document provides guidelines and instructions for setting up your development environment and contributing to the project.
- Go (check go.mod for minimum version)
- golangci-lint (check golangci-lint for installation instructions)
- Make (optional, but recommended)
- Clone the repository
git clone https://github.com/idebeijer/kubert.git
cd kubert- Run from Source
To run the project locally for example with a custom configuration:
go run main.go --config config.yaml- Build and Test
You can use make to run common tasks:
make lint
make test
make build
# Build a snapshot release locally with goreleaser at ./dist (does not publish)
make goreleaser-release-snapshot- Update Documentation
If you modify CLI commands or add examples, please regenerate the documentation in ./docs:
make docsWe use Conventional Commits for our commit messages. Since we squash commits upon merging, the individual commits in your Pull Request do not necessarily need to follow this convention, but the PR title should.
The changelog is automatically generated based on these conventional commits, sorting them by type (e.g., feat goes under Features, fix under Bug fixes).
Follow the conventional commit format:
feat: add new featurefix: resolve bugdocs: update documentationtest: add or update testsrefactor: code refactoringchore: maintenance tasks
Indicate breaking changes by appending a ! after the type/scope:
feat!: change somethingfeat(api)!: remove deprecated endpoint
By contributing, you agree that your contributions will be licensed under the MIT License.