| Crates.io | config-edit |
| lib.rs | config-edit |
| version | 0.1.0 |
| created_at | 2025-06-14 21:40:07.461171+00 |
| updated_at | 2025-06-14 21:40:07.461171+00 |
| description | A command-line tool for performing simple edits to configuration files in various formats (TOML, YAML, JSON, Plist) |
| homepage | https://github.com/commander-lol/config-edit |
| repository | https://github.com/commander-lol/config-edit |
| max_upload_size | |
| id | 1712703 |
| size | 55,916 |
A command-line tool for performing simple edits to configuration files in various formats (TOML, YAML, JSON, Plist).
Retrieve a value at a specified path:
config-edit -i config.toml get # Get the entire document (omit the path)
config-edit -i config.toml get "" # Also gets the entire document
config-edit -i config.toml get "/server/port" # Get a specific value
Set a value at a specified path (overwrites existing values):
config-edit -i config.toml -w set "/server/port" "8080"
config-edit -i config.toml -w set "/server/host" "\"localhost\"" # For string values, use escaped quotes
config-edit -i config.toml -w set "/server/enabled" "true" # Boolean values
Append a value to an array at a specified path:
config-edit -i config.toml -w append "/server/allowed_ips" "\"192.168.1.1\""
-i, --input <FILE>: Path to the input file (required)-o, --output <FILE>: Write output to a different file-w, --write: Modify the input file in place--if <FORMAT>: Override input file format detection--of <FORMAT>: Override output file format detectionSupported formats: toml, yaml, json, plist
# Convert TOML to JSON
config-edit -i config.toml -o config.json get
# Convert JSON to YAML
config-edit -i config.json -o config.yaml --of yaml get
# Change the server port in a TOML file
config-edit -i config.toml -w set "/server/port" "9000"
# Get only the server section from a config file
config-edit -i config.toml get "/server"
cargo install config-edit
git clone https://github.com/yourusername/config-edit.git
cd config-edit
cargo build --release
The binary will be available at target/release/config-edit.
Releases are automatically built for Linux, macOS, and Windows using GitHub Actions when a semantic version tag is pushed. To create a new release:
Cargo.tomlv1.0.0)git tag v1.0.0
git push origin v1.0.0
This will trigger the GitHub Actions workflow to build the binaries and create a release with the binaries attached.