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
| Flag | Default | Description |
|---|---|---|
--story | : | Plain-English story |
--rows | 10 000 | Row count for primary table |
--locale | auto-detected | BCP-47 locale code (e.g. de_DE) |
--seed | random | Integer seed for reproducibility |
--output-dir | . | Directory to write output files |
--format | csv | Output format: csv, parquet, jsonl, duckdb |
--db-url | : | Database URL for direct seeding |
--db-create | false | Create 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