# ADR-020: Argparse CLI Over Click/Typer

| Field     | Value                                    |
|-----------|------------------------------------------|
| Status    | Accepted                                 |
| Type      | 2 — Reversible                           |
| Score     | 0.80                                     |
| Date      | 2026-02-18                               |
| Decider   | Conductor                                |

## Context

The CLI is the product surface — the first thing users touch. Click and
Typer provide superior developer UX (auto-help, type coercion, rich output)
but add external dependencies, violating the stdlib-only mandate (ADR-007).

## Decision

Use `argparse` with subparsers for the CLI. Argparse provides adequate
multi-command support with zero dependencies. A thin Click/Typer wrapper
can be added later in the experiences ring (Ring 5) as an optional UX
enhancement.

## Consequences

- **Zero dependencies**: stdlib-only mandate preserved.
- **Adequate UX**: subparsers give `orxaq credit pd`, `orxaq discover`, etc.
- **Upgrade path**: experiences ring can wrap with Click for rich output.
- **Limitations**: no auto-completion, no rich formatting out of the box.
