Skip to content

ADR 0006 — No preset applies implicitly

  • Status: Accepted
  • Date: 2026-10-03
  • Decides: D6 in roadmap.md

Context

Two presets exist since TASKS.md T10 (rainbow:minimal, rainbow:balanced) and two more arrive with T28 (rainbow:black, rainbow:prettier). The roadmap left open whether a project without a configuration gets balanced applied for it.

Decision

No preset applies unless a configuration names one. The option defaults in the schema (core.max_width = 80, indent_size = 4, tokens printed as written, nothing added that was not written) are the default style.

Consequences

  • A file formatted without any configuration formats the same way whether or not a preset exists, and rainbow-fmt options FILE shows default as the origin of every value: there is nothing hidden to explain.
  • balanced indents with two spaces; applying it implicitly would change the indentation of every unconfigured project at the first run.
  • An existing project should start from rainbow-fmt infer (T30), which writes the options that reproduce its own style, rather than from any preset; presets are starting points for new projects, chosen on purpose.