sigstore/cosign
How to contribute
Cosign is part of the Sigstore project and follows the Sigstore community contribution process. This section is a quick orientation for engineers landing in this repo.
Where to start
- Issues labeled
good first issue— the maintainers curate them at the issue tracker. - Pre-claim before working.
CONTRIBUTING.mdasks you to comment on an unassigned issue before starting, to avoid duplicate work. - Major work goes to sigstore-go. Per
README.md, the maintainers focus new feature development onsigstore-go. Cosign 2.x and 3.x receive maintenance and small enhancements; PRs that significantly modify or break the API are not accepted.
Definition of done
A merge-ready PR has:
- The change itself, in scope, with no unrelated drive-by edits.
- Unit tests for new behaviour. Existing test files (
*_test.go) are the style guide. - Lint clean (
make lint). The repo usesgolangci-lintv2.2.2 with the config in.golangci.yml. - Tests passing (
make test). Conformance tests (make conformance-tests) for changes that affect the on-the-wire signature/bundle format. - Regenerated CLI docs if you touched a Cobra command:
make docgen. The CI workflow.github/workflows/verify-docgen.yamlenforces this. - DCO sign-off on every commit (
git commit -s). Thedonotsubmit.yamlworkflow blocks merges that lack it. - A
Co-authored-bytrailer for any AI-assisted work, per repo conventions.
What gets reviewed
- Code in
cmd/,pkg/,internal/— owned by@sigstore/cosign-codeowners. go.mod,go.sum,release/,.github/— owned by@sigstore/dep-maintainers(seeCODEOWNERS).
Pages in this section
- Development workflow — branch, code, push.
- Testing — unit tests, e2e tests, conformance tests, fuzzing.
- Debugging — common errors, log levels, and how to inspect signatures and tlog entries by hand.
- Patterns and conventions — Cobra options, KeyOpts plumbing, error handling, UI helpers.
- Tooling — Makefile targets, golangci-lint, docgen, ko, goreleaser.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.