Skip to content

ADR-0003 — rich for terminal output

Update date : 2026-05-27 20:11

Status: accepted Date: 2026-05-26

Context

plan and apply commands need a clear per-object status display with colors, spinners, and a summary line. The output must degrade gracefully to plain text in CI (GitLab, GitHub Actions).

Decision

rich for all terminal rendering. rich-click wraps click's --help output.

Consequences

  • plan renders a colored diff table (CREATE / ALTER / UNCHANGED / DROP) with no custom code.
  • apply shows a real-time spinner per object, replaced by a checkmark on completion.
  • Automatic plain-text fallback when the terminal does not support colors.
  • Two extra dependencies: rich, rich-click (both stable, no transitive risk).