Files
ReleaseKit/docs/internal/overview.md

1.5 KiB

Internal package inventory

Public facades and their contracts are defined in Go declarations and GoDoc. The runtime consumer guide covers application usage, and the CLI contract 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.
  • internal/git resolves one effective push destination, applies it to a command-scoped remote, and reads exact authoritative branch and tag refs.
  • 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.