Files
ReleaseKit/README.md

74 lines
2.9 KiB
Markdown

# 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, selected-target build API,
tagged-source delivery API, and `version`, `check`, `publish`, `build`, and
`deliver` commands are implemented. ReleaseKit's source-only maintainer
procedure and prepared Woodpecker workflow for hosted note-page delivery are
documented. ReleaseKit does not declare binary deliverables. The
[product roadmap](docs/roadmap/releasekit.md) and
[implementation plan](docs/roadmap/implementation.md) describe their selected
behavior and sequence.
Run the offline Go test suite from the repository root with:
```sh
go test ./...
```
The version command prints ReleaseKit's version:
```sh
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):
```sh
go run ./cmd/releasekit check v1.2.3
```
Publish the source tag from a committed candidate with:
```sh
./scripts/release v1.2.3
```
See the [ReleaseKit maintainer procedure](docs/release.md) for preparation and
failure recovery.
## Documentation
- [ReleaseKit proposal](docs/roadmap/releasekit.md): selected publication, builds,
version injection, and delivery conventions, with the implementation plan.
- [Contributor guide](docs/development.md): orientation, validation, and selective
policy reading.
- [CLI contract](docs/cli.md): the `version`, `check`, `publish`, `build`, and
`deliver` commands.
- [Configuration](docs/config.md): profile fields and child-command settings.
- [Runtime version guidance](docs/consumers/runtime-version.md): how applications
read their embedded version through `buildinfo`.
- [Build guidance](docs/consumers/build.md): compile selected Go targets with an
injected application version.
- [Delivery guidance](docs/consumers/delivery.md): deliver tagged source and
report hosted page and asset status.
- [Gitea integration](docs/integrations/gitea.md): hosted release-page
operations and their failure behavior.
- [Candidate check guidance](docs/consumers/check.md): local candidate validation
through the Go API and CLI.
- [Maintainer release procedure](docs/release.md): ReleaseKit's source-only
publication workflow and recovery.
- [Internal package inventory](docs/internal/overview.md): implemented internal
components and their responsibilities.
- [Architecture policy](docs/policy/architecture.md): responsibility and dependency
boundaries for development.
- [ADR 0001](docs/adr/0001-public-facade.md): the accepted public facade decision.
- [Policy adoption roadmap](docs/roadmap/policy.md): completed adoption and the
current source-release path.
ReleaseKit is licensed under the [LGPL v3.0 or later](COPYRIGHT).
[Open Source attribution notices](docs/oss/attribution.md) are available.