Thanks for your interest in contributing.
Open a GitHub issue and include:
- Clear description
- Steps to reproduce
- Expected behavior
- Actual behavior
- Logs/screenshots when relevant
- Environment details (OS, Go version, Kubernetes/Velero versions)
Open a GitHub issue with:
- Problem statement
- Proposed solution
- Alternatives considered
- Impact and compatibility notes
-
Fork and clone this repository.
-
Create local env file:
cp .env.sample .env
-
Install dependencies:
go mod download
-
Run checks:
make format make lint make test-dev
-
Run service:
make run-dev
Use one of:
feat/<short-description>fix/<short-description>docs/<short-description>refactor/<short-description>test/<short-description>chore/<short-description>
- Create branch from
main. - Keep PR scope small and focused.
- Add/adjust tests for behavior changes.
- Update docs when API/config changes.
- Ensure formatting, lint, and tests pass.
- Open PR using the PR template.
- Link issues (example:
Closes #123).
- Follow idiomatic Go and existing project structure.
- Run
gofmton changed Go files. - Avoid hardcoded credentials/secrets/internal URLs.
- Keep functions readable and maintainable.
- Keep comments accurate and useful.
- Follow Conventional Commits for commit messages.
By participating, you agree to the CODE_OF_CONDUCT.md.