Skip to content

docs: add CONTRIBUTING.md#160

Open
kochj23 wants to merge 1 commit into
jacaudi:mainfrom
kochj23:docs/add-contributing
Open

docs: add CONTRIBUTING.md#160
kochj23 wants to merge 1 commit into
jacaudi:mainfrom
kochj23:docs/add-contributing

Conversation

@kochj23

@kochj23 kochj23 commented Jul 1, 2026

Copy link
Copy Markdown

Summary

The repo ships LICENSE, CHANGELOG.md, CI workflows, and an extensive docs/
tree, but has no CONTRIBUTING.md — so the make-based generate/test/lint flow
and the release conventions aren't discoverable for a new contributor. This adds
one, mirroring the sibling towonel-operator's
CONTRIBUTING (adapted from its task-based flow to this repo's make-based one).

What it documents

Everything is drawn from the repo's actual tooling, not boilerplate:

  • Prerequisites — Go 1.26 (per go.mod), make; on-demand tooling via make tools; golangci-lint as a go tool dependency.
  • Development workflowmake generate / make test / make lint / make build (and make all), matching the Makefile.
  • Generated artifacts — the never-hand-edit policy for controller-gen (CRDs + deepcopy), the chart CRD templates, helm-docs (chart/README.md), and crd-ref-docs (docs/crd-reference.md), all produced by make generate.
  • Testing — fake-client unit tests vs the test/envtest/ integration suite (kube binaries provisioned by setup-envtest, KUBEBUILDER_ASSETS exported by make test, graceful skip when unset).
  • Commit convention & versioning — the Conventional Commits release rules and alpha breaking → minor policy taken directly from .releaserc.json (feat→minor, fix/refactor→patch, chore(cloudflared)→patch, chore(deps) grouped in notes but non-triggering).
  • Opening a PR — the pre-flight make generate/lint/test checklist and the three pr.yml validation jobs (Lint, Tests, Envtest Suite).
  • License headers — the MIT boilerplate from hack/boilerplate.go.txt for new Go files.

Tests

Docs-only change — no code paths touched, so the 7 test categories are N/A. Verified links resolve to real in-repo files/anchors (Makefile, .releaserc.json, .github/workflows/pr.yml, hack/boilerplate.go.txt, README.md#local-development) and that the documented make targets and release rules match the current tooling.

🤖 Generated with Claude Code

The repo has LICENSE, CHANGELOG, CI, and extensive docs/ but no
CONTRIBUTING guide. Document the contributor workflow so the make-based
generate / envtest / lint flow and the conventional-commit release rules
are discoverable, mirroring the sibling towonel-operator's CONTRIBUTING.

Covers: prerequisites (Go 1.26, make); the `make generate` / `make test`
(unit + envtest via setup-envtest) / `make lint` (golangci-lint + gofmt)
/ `make build` workflow; the generated-artifact policy (never hand-edit
controller-gen / helm-docs / crd-ref-docs outputs); fake-client vs envtest
testing conventions; the Conventional Commits release rules and alpha
breaking->minor versioning from .releaserc.json; the PR Validation CI jobs;
and the MIT license-header boilerplate for new Go files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant