Files
ReleaseKit/README.md

75 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 the `version`, `check`, `publish`, `build`,
`deliver`, and `ci-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.
See the [v0.1.0 release note](docs/releases/v0.1.0.md) for the initial baseline
and installation commands.
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, runs the standard
offline Go suite with any selected shared validation checks, and then runs
configured product checks:
```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
- [Contributor guide](docs/development.md): orientation, validation, and selective
policy reading.
- [CLI contract](docs/cli.md): the `version`, `check`, `publish`, `build`,
`deliver`, and `ci-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.
- [Source publication guidance](docs/consumers/publish.md): validate and publish
the exact annotated source tag through the Go API.
- [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 provenance](docs/policy/meta.md): adopted policy sources and update
guidance.
ReleaseKit is licensed under the [LGPL v3.0 or later](COPYRIGHT).
[Open Source attribution notices](docs/oss/attribution.md) are available.