Skip to content

Repository files navigation

Config File Validator logo

Config File Validator

Code Coverage OpenSSF Scorecard OpenSSF Best Practices Apache 2 License Awesome Go Go Reference Pipeline Status

cfv is a toolchain for configuration files. It catches syntax errors, schema violations, and formatting problems across your repo and fixes what it can. Single static binary. No runtime dependencies.

cfv validating config files

Documentation

Read the docs →

Install

brew install config-file-validator
go install github.com/Boeing/config-file-validator/v3/cmd/cfv@latest
Winget, Scoop, MacPorts, binary downloads
  • Winget: winget install Boeing.config-file-validator
  • Scoop: scoop install config-file-validator
  • MacPorts: sudo port install config-file-validator
  • Binaries: GitHub Releases

Usage

Validate syntax, enforce schemas, and check formatting:

cfv check .

Fix formatting, trailing commas, and type coercion:

cfv check --fix .

Preview formatting changes as a diff:

cfv format --diff .

Exits with code 1 if any file fails.

Supported Formats

Format Extensions Syntax Format Schema
JSON .json ✅ ✅ ✅
JSONC .jsonc ✅ ✅ ✅
YAML .yaml, .yml ✅ ✅ ✅
TOML .toml ✅ ✅ ✅
XML .xml ✅ ✅ ✅
TOON .toon ✅ — ✅
SARIF .sarif ✅ — ✅
HCL .hcl, .tf, .tfvars ✅ ✅ —
INI .ini ✅ ✅ —
Properties .properties ✅ ✅ —
ENV .env ✅ ✅ —
HOCON .hocon ✅ — —
CSV .csv ✅ — —
EDITORCONFIG .editorconfig ✅ — —
Justfile .just ✅ — —
KDL .kdl ✅ — —
CUE .cue ✅ — —
Apple PList XML .plist ✅ — —

Schema validation uses JSON Schema, XSD, and automatic SchemaStore lookup. Formatting reads your existing .prettierrc, taplo.toml, .yamlfmt, and .editorconfig files. See Formatting and Schema Validation.

CI

cfv check --reporter=junit:results.xml --schemastore .

Reporters: standard, json, junit, sarif, github. The github reporter emits workflow commands so errors appear as inline PR annotations.

A GitHub Action and pre-commit hook are also available.

Contributors

Config File Validator contributors

License

Apache 2.0

About

Cross-platform config file CLI toolchain. Validates syntax, schema compliance, and formatting for across 18 different configuration file types. Written in Go.

Topics

Resources

Contributing

Security policy

Stars

517 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages