ConfigForge
ConfigForge is a Rust CLI tool for converting, inspecting, validating, querying, and safely editing configuration files.
Current format support:
- JSON
- TOML
- YAML
.env- INI
- Java
.properties
Install
Usage
When writing converted content to stdout, pass --to so the output format is explicit:
ConfigForge does not overwrite existing output files by default. Pass --overwrite when replacing a file is intentional:
get reads values by dot path. Numeric path segments index arrays:
set and delete update existing paths only and require an output file. They do not modify the input file in place:
By default, set treats the replacement as a string. Pass --value-format json for numbers, booleans, arrays, objects, or null.
merge recursively combines object values. Override scalar values and arrays replace the base value:
diff prints path-oriented changes:
Example output:
changed server.port
removed server.debug
added server.timeout
Key-value formats are intentionally conservative:
.envreads top-levelKEY=valuepairs and writes only top-level string values.- INI maps sections to objects, such as
[server]toserver.*. .propertiesexpands and flattens dotted keys, such asserver.host.- Values read from
.env, INI, and.propertiesremain strings; ConfigForge does not infer booleans or numbers for these formats.
Package Check
Before publishing a release build:
Release tags use this format: