# 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](https://semver.org/spec/v2.0.0.html).
Changelog follows [Keep a Changelog 1.1.0](https://keepachangelog.com/en/1.1.0/).
Commit messages follow [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/).