← SkillSafe
CLI Contract

For platforms that ship a command-line tool

CLI ContractCheck your CLI for the human at a terminal, the CI script and the coding agent - before a script breaks.

List your commands, exit codes and environment variables. Your browser reads the grammar (one order, no near-synonym verbs, no API-shaped names), checks --json on every command that returns data, severe-action guards that --yes cannot skip, idempotency, wait and dry-run flags, secrets accepted as flags, one environment prefix, and the exit codes against the eight caller actions. It scores the five gates, ranks the command layer and the telemetry posture, and writes your exit-code table, a severity table and a self-description document. Then the design spec, and the release plan.

Try a sample:

The CLI, and a short interview free

Commands, exit codes and environment variables free

How it behaves free

The checks free

What the page flags

The five gates

Every command

Exit codes, read

Area by area

Your exit codes, severity table and self-description free

The exit-code table to publish (gaps marked), the severity table the curated commands and the api escape hatch both read, and a self-description an agent can read instead of scraping help.

Exit codes (Markdown)


    

Severity table (Markdown)


    

Self-description (JSON)


    

The CLI design spec

Pricing as soon as the session is ready...

NOT RUN YET

The page's check of this reply

    Saved specs

    How it works - and what is sourced

    The checks follow the skill: one grammar (noun verb by default) with a small verb set and no near-synonyms or API-shaped names; --json on every command that returns data or mutates state, streams on --format ndjson; lists bounded by --limit with an explicit --all inside one envelope; async commands with a bounded --wait-timeout, --no-wait and detach on Ctrl-C; --idempotency-key on creates; --dry-run on mutations; severe actions confirmed by name or count in the curated commands and the api escape hatch alike, never skipped by --yes; no secret accepted only as a flag; one environment prefix and one resolution order; exit codes covering success, failure, usage, authentication, not found, safe to rerun, outcome unknown and partial failure, never above 125 or in the BSD sysexits range; no prompt, pager or update check reachable in CI; telemetry never switched on in a minor release. Exit-code meanings are classified by their wording, so a meaning the page cannot read is marked unclassified.

    The rankings follow the skill: curated workflow commands plus a raw api escape hatch by default, a generated resource layer under them once the spec is checked in CI and automation demand is sustained (never a generated-only mirror when jobs need more than one call); opt-out telemetry with a first-run notice by default, opt-in for EU-heavy, regulated or enterprise audiences.