Skip to content

CLI Application Profile

Purpose

Use when arguments, environment, standard streams, exit status, filesystem effects, and process behavior define the product contract for people or automation.

Priority and defaults

Correctness and usability precede compatibility, reliability, security, maintainability, and performance.

Core Skill Mode Rationale
code-clarity balanced Keep command flow and effects visible.
contracts-and-errors strict-boundaries Parse external invocation and inputs.
state-and-side-effects single-owner-mutation Coordinate filesystem and remote effects.
api-and-compatibility external-api Treat automation-visible behavior as contract.
dependencies-and-boundaries framework-native Prefer direct process conventions.
testing-strategy integration-balanced Exercise process-level behavior.
safe-change compatibility-first Protect documented automation contracts.

Policy

Define argument, environment, input, output, diagnostic, and exit contracts. Machine output MUST be separable from diagnostics. Noninteractive operation MUST NOT depend on prompts. Consequential actions SHOULD support preview, explicit scope, interruption handling, and actionable partial-failure reporting. Secrets MUST NOT be exposed through diagnostics or unsafe invocation channels.

Common modifiers are public-api, strict-backward-compatibility, and security-sensitive. This profile does not prescribe command syntax or a terminal interface.