Declarative JSONC configComments, trailing commas, schema support. Unknown keys and duplicate keys are rejected.
Stable and prerelease channelsPer-target channels with optional direct dependsOn gates. Prerelease versions encode the channel name, e.g. 1.2.3-rc.1.
CI-safe machine outputs--json and --github-output emit deterministic shapes with full commit SHAs, no ANSI, and no stderr chatter on success.
Conservative Git modelAnnotated tags only. No auto-fetch, checkout, merge, or branch switches. HEAD must equal remote/baseBranch before tagging.
Interactive when it helpsBare tagsmith in a TTY opens an action menu, prompts only for missing inputs, and never auto-pivots between commands.
Same surface for scripts and CIEvery interactive decision maps to an explicit flag. 100% non-interactive capability equals 100% interactive capability.