27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
# Internal package inventory
|
|
|
|
Public facades and their contracts are defined in Go declarations and GoDoc.
|
|
The [runtime consumer guide](../consumers/runtime-version.md) covers application
|
|
usage, and the [CLI contract](../cli.md) covers command behavior.
|
|
|
|
Implemented internal packages:
|
|
|
|
- `internal/runtimeinfo` holds the injected version value and selects the
|
|
executable's main-module version when no injected value is present.
|
|
- `internal/versioncontract` names the linker symbol shared with the future
|
|
release builder.
|
|
- `internal/apicheck` checks compiled exports with `go/types` and checks import
|
|
direction. Run it with `go run ./internal/apicheck` from the repository root.
|
|
- `internal/process` runs cancellable child commands with per-child environment
|
|
overlays.
|
|
- `internal/candidate` captures and validates one clean local candidate, checks
|
|
its committed release note and local tag state, runs validation once, and
|
|
rechecks mutable repository state.
|
|
- `cmd/releasekit/internal/cli` parses implemented commands, loads strict JSON
|
|
profiles, and adapts configured checks to the process runner.
|
|
|
|
The executable controller uses the runtime facade and the command-owned CLI
|
|
adapter. The adapter uses the process runner and imports neither public facade.
|
|
Release orchestration, build, Git, and Gitea implementation packages are
|
|
introduced as their responsibilities are implemented.
|