argv in, one of three output shapes out, and nothing about what the commands mean: the standard global options, help derived from the declaration, completion asked of the running program, and an exit code taxonomy a script can switch on.
import { Program, runEntry } from "@cofold/terminal";
Before a command whose effect is remove, the program asks on the terminal; --yes skips the question, and without a terminal the command is refused unless --yes is given.
Under --json, a failure is one flat JSON line on stderr: { message, kind, exitCode }, with missing on an authorization failure.