---
name: cli-development
description: "Design and implement Python CLIs with Typer, including commands, output contracts, and testing."
license: MIT
metadata:
  kind: task
  author: Médéric HURIER (Fmind)
  source: github.com/fmind/dot/tree/main/skills/cli-development
  created: "2026-09-16"
  updated: "2026-09-16"
---

# CLI Development

Design the observable command contract before implementing it with Typer. Preserve established streams, exit statuses, help, and machine-readable output unless their change is requested.

## Workflow

Read only the matching guide and its required resources. Use a known guide directly when shared prerequisites are not needed.

## Task guides

<!-- guides:start -->

- [cli-contracts](references/cli-contracts.md): Command, flag, stream, exit-code, and JSON interface design.
- [typer](references/typer/GUIDE.md): Typer application code, help, completion, and command tests.

<!-- guides:end -->
