20 lines
999 B
Markdown
20 lines
999 B
Markdown
---
|
|
status: accepted
|
|
---
|
|
|
|
# Default to JSON everywhere
|
|
|
|
Automation agents are the primary consumers, so the shortest invocation must
|
|
produce the stable machine interface. The CLI defaults to JSON regardless of
|
|
whether stdout is a terminal or pipe; human-readable presentation requires
|
|
`--format human`. Avoiding TTY-dependent format selection ensures that the same
|
|
command has the same framing and semantics in every execution environment.
|
|
JSON mode never emits interactive prompts; required confirmation is represented
|
|
as a structured error and satisfied by an explicit flag.
|
|
|
|
Clap discovery requests are intentionally outside the operation-result
|
|
protocol. Root and subcommand `--help`, plus `--version`, return conventional
|
|
plain UTF-8 text on stdout with status 0 and no stderr. They do not initialize
|
|
the runtime or execute an operation. This narrow exception keeps the CLI
|
|
self-describing for both people and automation agents without weakening JSON
|
|
framing for analysis and cleanup commands.
|