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.