Skip to content

Why Fabio is agent-native

Traditional CLIs optimize for a person at a terminal. Fabio treats a coding agent as a first-class operator.

Every input is explicit through flags, environment variables, files, or stdin. Commands fail fast instead of opening prompts that automation cannot answer.

Lists use {"data":[...],"count":N} and objects use {"data":{...}}. Errors use a machine-readable code, message, and actionable hint. Separating data on stdout from diagnostics on stderr makes pipelines predictable.

An error can enumerate valid values, suggest corrected syntax, or provide a read-only verification command. Hint types distinguish safe retries from changes that alter semantics.

Mutations support dry-run previews. Destructive plans identify themselves in structured output. Safety-bypass flags are called out so an agent cannot silently turn a guarded operation into an irreversible one.

The command schema provides mechanics. Focused skills provide judgment. Personas, disambiguations, workflows, and best practices route an agent to the smallest useful context instead of presenting the entire CLI at once.

Limits, pagination tokens, field projection, and quiet mode let agents control cost. Stable identifiers and JSON output connect one command to the next without scraping prose.