ReleaseKit
ReleaseKit is an opinionated Go library and executable for a shared release
process. The Go module, root releasekit facade, buildinfo runtime package,
local candidate check, source-tag publication API, and version and check
commands are implemented. Push reconciliation, a publication command, builds,
delivery, and release automation remain to be implemented. Their selected
behavior and sequence are described in the
product roadmap and
implementation plan.
Run the offline Go test suite from the repository root with:
go test ./...
The version command prints ReleaseKit's version:
go run ./cmd/releasekit version
The local candidate check validates a committed release note and runs the configured checks (or the default offline Go test command):
go run ./cmd/releasekit check v1.2.3
Documentation
- ReleaseKit proposal: proposed publication, builds, version injection, and delivery, with the initial implementation plan.
- Contributor guide: orientation, validation, and selective policy reading.
- CLI contract: the
versionand localcheckcommands. - Configuration: profile fields and child-command settings.
- Runtime version guidance: how applications
read their embedded version through
buildinfo. - Candidate check guidance: local candidate validation through the Go API and CLI.
- Internal package inventory: implemented internal components and their responsibilities.
- Architecture policy: responsibility and dependency boundaries for development.
- ADR 0001: the accepted public facade decision.
- Policy adoption roadmap: completed adoption and pending release bootstrap work.
ReleaseKit is licensed under the LGPL v3.0 or later.
Open Source attribution notices are available.