Files
ReleaseKit/docs/config.md

1.4 KiB

Configuration

ReleaseKit reads a JSON profile from <repository>/releasekit.json by default. The repository directory defaults to the current directory. A relative profile path is resolved from that repository directory; an absolute path is used as-is.

The current profile fields are:

Field Required Behavior
product Yes Product name used by release operations.
remote No Selected Git remote; defaults to origin.
checks No Ordered child commands, each with an argument vector and optional environment map.

Each check requires a nonempty args array whose first element names the executable. Arguments are passed directly to the child process; ReleaseKit does not parse a shell command string. Select a shell explicitly when a check needs shell syntax. Each env map overlays the current environment for that child. The overlay does not modify the ReleaseKit process environment.

Unknown fields are rejected so a setting cannot be silently ignored. Build and delivery fields will be added when those operations are implemented. The check command uses product, remote, and checks. If checks is omitted or empty, it runs go test -mod=readonly -count=1 ./... with Go module and toolchain network access disabled. If checks are configured, they replace that default and run in order.

See the profile example. The CLI contract lists the currently available command.