Sheeter
Convert data files between formats from the command line.
Six formats, thirty routes. CSV, TSV, JSON, YAML, XML, TOML — any direction, through a single canonical hub.
Install
cargo install sheeter-engine
The installed binary is sheeter.
Usage
sheeter convert --from <FMT> --to <FMT> <input> <output>
Formats: csv, tsv, json, yaml, xml, toml.
# CSV → JSON
sheeter convert --from csv --to json data.csv data.json
# JSON → YAML
sheeter convert --from json --to yaml config.json config.yaml
# XML → CSV (extracts tabular array if present)
sheeter convert --from xml --to csv report.xml report.csv
# Same format (pass-through, preserves bytes)
sheeter convert --from json --to json in.json out.json
How it works
Every reader produces a CanonicalValue; every writer consumes one. Adding
a new format costs one reader and one writer, not N-1 pairwise converters.
Versioning
This project follows Semantic Versioning 2.0.0. Changelog follows Keep a Changelog 1.1.0. Commit messages follow Conventional Commits 1.0.0.