v1.8.2 · released this month

Consistent config files,
without thinking about it.

tidyconf formats INI, TOML and YAML the same way every time. One static binary, no runtime, safe to run in CI.

$ brew install tidyconf
config.toml
# before
[server]
port=8080
  host =   "0.0.0.0"

# after: tidyconf -w config.toml
[server]
host = "0.0.0.0"
port = 8080

Deterministic

Same input, same output, on every machine. Keys are sorted, whitespace normalised, comments kept where you put them.

Fast

Formats a 5,000-file monorepo in under a second. Parsing is streaming, so huge files don't blow up memory.

CI-friendly

--check exits non-zero with a unified diff, so reviewers see exactly what's off.

Usage

tidyconf config.toml          # print formatted to stdout
tidyconf -w config.toml       # rewrite in place
tidyconf --check **/*.yaml    # exit 1 if anything is unformatted
tidyconf --indent 4 app.ini   # override the default indent

Recent changes