Skip to content

Color and Environment

Rafael Fragoso edited this page Jun 7, 2026 · 1 revision

Color & Environment

Columbus is built to behave well in terminals, pipes, and CI.

Streams

  • stdout — results (safe to pipe, including --json).
  • stderr — diagnostics, warnings, and errors.

Color resolution order

Color in text mode is decided by the first matching rule:

  1. --no-color flag → color off
  2. NO_COLOR env set → off
  3. FORCE_COLOR env set → on
  4. TERM=dumb → off
  5. CI env set → off
  6. Otherwise → on only if stdout is a TTY

So piping to a file or another program drops color automatically, and CI logs stay clean — without any flags.

columbus search foo --no-color      # force plain
NO_COLOR=1 columbus search foo      # same, via env
FORCE_COLOR=1 columbus search foo | less -R   # keep color through a pager

Data directory

COLUMBUS_DATA_DIR overrides where the database lives (see Configuration).

Environment variables

Variable Effect
COLUMBUS_DATA_DIR Override the data directory
NO_COLOR Disable color
FORCE_COLOR Force color on
CI Treated as non-interactive (color off)
TERM=dumb Color off
XDG_DATA_HOME Linux data dir base (if COLUMBUS_DATA_DIR unset)

Related

Output Modes · Configuration

Clone this wiki locally