Files
license-tool/CONTRIBUTING.md

1.0 KiB

Contributing

Development Setup

Install the Go toolchain (go 1.26) and golangci-lint.

Useful local checks:

gofmt -l .
go vet ./...
golangci-lint run
go test ./... -race -cover
go build ./...

All Go files must be gofmt-clean (tabs, not spaces). CI fails if gofmt -l . reports any file.

Branches

Use feature/* branches for pull requests into develop.

Release candidates stabilize on release/* or rc/* branches. Production releases are tagged from main.

Pull Requests

Pull requests should include:

  • A short description of the change.
  • Tests for header generation, header detection, comment-syntax, or policy behavior when those paths change.
  • Golden-file updates when rendering output changes, with the diff explained in the PR.

apply and license must stay dry-run by default. A change that writes to disk without an explicit --write is a bug, not a feature.

The tool never invents license text. New or updated license text must come from the vendored SPDX snapshot, not hand-edited copy.