sheeter-engine 0.7.1

A CLI tool for converting data files between formats. v0.1.0 supports CSV <-> JSON.
Documentation
# Sheeter

Convert data files between formats from the command line.

**Seven formats, forty-two routes.** CSV, TSV, JSON, YAML, XML, TOML, XLSX —
any direction, through a single canonical hub.

## Install

    cargo install sheeter-engine

The installed binary is `sheeter`.

## Usage

    sheeter convert --from <FMT> --to <FMT> [--sheet NAME] <input> <output>

Formats: `csv`, `tsv`, `json`, `yaml`, `xml`, `toml`, `xlsx`.

    # CSV → JSON
    sheeter convert --from csv --to json data.csv data.json

    # XLSX (multi-sheet) → CSV (one file per sheet)
    sheeter convert --from xlsx --to csv report.xlsx report.csv
    # writes report.Sheet1.csv, report.Sheet2.csv, ...

    # XLSX → JSON (single document keyed by sheet name)
    sheeter convert --from xlsx --to json report.xlsx report.json

    # Extract a single sheet
    sheeter convert --from xlsx --to csv --sheet Vendas report.xlsx vendas.csv

    # JSON → XLSX (single sheet named Sheet1)
    sheeter convert --from json --to xlsx config.json config.xlsx

## 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.

Multi-sheet XLSX inputs produce one output per sheet for CSV and TSV, and a
single merged document for JSON, YAML, XML, TOML, and XLSX. Output filenames
use the pattern `<stem>.<SheetName>.<ext>`, with sheet names sanitized to
filesystem-safe characters.

## 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/).