CLI Reference

pip install misata
misata --help

misata init

Scaffold a misata.yaml schema file.

misata init                                          # blank template
misata init --story "A marketplace with sellers"     # story → YAML
misata init --db postgresql://localhost/myapp        # DB introspection → YAML
misata init --output custom.yaml                     # custom output path
misata init --force                                  # overwrite existing file

misata generate

Generate data and write to files or a database.

misata generate                                      # reads misata.yaml
misata generate --story "A SaaS company with 5k users" --rows 5000
misata generate --output-dir data/
misata generate --format parquet                     # parquet | csv | jsonl | duckdb
misata generate --locale de_DE                       # force locale
misata generate --seed 42
misata generate --db-url postgresql://localhost/dev --db-create
FlagDefaultDescription
--story:Plain-English story
--rows10 000Row count for primary table
--localeauto-detectedBCP-47 locale code (e.g. de_DE)
--seedrandomInteger seed for reproducibility
--output-dir.Directory to write output files
--formatcsvOutput format: csv, parquet, jsonl, duckdb
--db-url:Database URL for direct seeding
--db-createfalseCreate tables if they don't exist

misata validate

Profile a CSV and optionally check it against a schema.

misata validate customers.csv
misata validate orders.csv --schema misata.yaml
misata validate orders.csv --story "A SaaS company with orders table"
misata validate orders.csv --table orders            # specify table name in schema

misata lint

Check a schema for infeasible declarations before generating: contradictory constraints, unreachable curve targets, FK cycles. Exit codes are CI-friendly.

misata lint                                          # reads misata.yaml
misata lint --config schemas/prod.yaml

misata audit

Audit any folder of CSVs (yours or generated) for the contradictions readers notice: orders shipped before they were placed, ages that disagree with birth dates, FK orphans, broken totals.

misata audit ./seed-data/
misata audit ./seed-data/ --schema misata.yaml       # adds cross-table checks

misata dbt-seed

Generate seed CSVs into a dbt project. Run bare inside a dbt project and the schema is built from your own properties YAML: relationships tests become foreign keys, accepted_values the exact category pools, unique/not_null constraints, and the common dbt_utils.* tests hard bounds and row-level constraints. dbt build passes on day zero.

cd my-dbt-project && misata dbt-seed                 # from your schema.yml
misata dbt-seed --story "A SaaS with 1k users"       # from a story
misata dbt-seed --config misata.yaml --rows 5000

misata dbt-fixture

Generate small dbt 1.8+ unit-test fixture CSVs plus example unit-test YAML.

misata dbt-fixture --story "Ecommerce" --rows 50

misata evalpack

Build a verified evaluation pack: a database plus a question set whose answers are declared, constructed into the data, and independently re-verified with DuckDB. Answer keys that cannot be wrong.

misata evalpack --config misata.yaml -o ./my_pack --seed 42
python my_pack/verify.py                             # re-run the proof, no misata needed

misata mimic

Generate a privacy-safe synthetic twin of a CSV you already have, with fidelity and privacy reports.

misata mimic customers.csv --rows 10000

misata provenance

Print the data-provenance statement for a generated dataset: engine version, seed, schema hash, per-file hashes. Paste it into a PR or a data card.

misata provenance ./data/

misata capsule

Create, inspect, and attach domain vocabulary capsules (real product names, brands, and terms acquired at build time, never fetched during generation).

misata capsule create --domain watches --from-wikidata "mechanical watches" --column model -o watches.json
misata capsule show watches.json
misata capsule registry                              # curated capsules bundled with misata
misata generate --capsule watches.json

misata template

Generate from a built-in industry template.

misata template saas --scale 0.1 --output-dir data/
misata template fintech --rows 5000

misata templates-list

List all available industry templates.

misata templates-list

misata schema

Introspect a database and print or save the schema.

misata schema --db-url postgresql://localhost/myapp
misata schema --db-url postgresql://localhost/myapp --output schema.yaml

misata studio

Launch the visual schema designer (requires pip install "misata[studio]").

misata studio
misata studio --port 8080 --no-browser