Reference

Output Style

How ota formats human-readable terminal output.

referenceautomation buildersintermediatestable2026-05-30

When to use this page

Use this page when you want to know what ota looks like in a terminal and what changes when you ask for plain output.

Human text output can be calm and readable without becoming a machine contract.

  • readable
  • deterministic
  • easy to scan
  • stable enough to trust in scripts and logs

Rich mode

Rich mode is the default experience in terminals that can render color and icons well.

It keeps the output readable while still making the important bits stand out.

  • signature headers like 🦦 <COMMAND> <target>
  • consistent bullet styling
  • one key label color
  • one accent for commands and update surfaces
  • clear section spacing

What users can rely on

  • the command name and target stay visible in the header
  • the order of sections stays stable
  • the meaning of VALID, READY, and NOT READY stays stable
  • the next-action guidance stays present when ota has a safe suggestion
  • plain mode keeps the same meaning even when the styling is removed

Plain mode

Use --plain when you want ASCII-only output.

  • removes emoji and icons
  • removes ANSI colors
  • uses simple ASCII bullets
  • preserves the same command meaning and ordering
Plain mode examplebash
ota --plain tasks .ota --plain detect --dry-run .ota --plain workspace up .

What stays stable

  • command ordering
  • status words like VALID, READY, and NOT READY
  • clear next-action guidance
  • no change to JSON semantics
  • the same output meaning in rich and plain modes

When to use plain mode

  • when a terminal cannot render color or emoji well
  • when a script wants the simplest possible text output
  • when logs need to stay ASCII-only
  • when a human wants the least noisy readable output

What it is not

  • not JSON output
  • not a machine contract
  • not a styling guide for app UI
  • not a promise that every visual detail stays fixed forever

Use cases

  • a CI job records plain text logs
  • a user wants predictable output in an old terminal
  • a support engineer needs to compare command output across systems
  • an agent wants to scan status without rendering noise
  • a user wants a quick human-readable result without losing the important meaning