Generation
Discover a schema, then generate schema-driven data from it — generate-schema is the one you'll actually use in CI.
generate-schema
The one for CI
Reads a JSON field-schema file (the same format the Mac app exports) and writes generated rows to stdout or a file.
data-maestro-cli generate-schema [--output <file>] [--threads <N>] \
<schema_json_path> <format> <rows> [<table_name>] [<locale>]
data-maestro-cli generate-schema schema.json json 50 users en > users.json
| Argument | Meaning |
|---|---|
schema_json_path |
Path to a schema JSON file — see Schema file. |
format |
One of 34 export formats — see Reference. |
rows |
Row count. Capped at 100 on the Free tier — see Free tier & licensing. |
table_name (optional) |
Table/collection name used by SQL and table-oriented formats. Defaults to mock_data. |
locale (optional) |
One of 5 locale codes — see Reference. Defaults to en. |
--output <file> stream to disk instead of buffering in memory
--threads <N> parallelize generation (default 1)
Minimal — positional args only, printed to stdout
data-maestro-cli generate-schema schema.json csv 100
Stream to a file instead of stdout
data-maestro-cli generate-schema --output data.csv schema.json csv 10000
Parallelize across threads (needs --output for large jobs)
data-maestro-cli generate-schema \
--output data.csv --threads 8 \
schema.json csv 1000000
Flags can go after the positional args too
data-maestro-cli generate-schema \
schema.json csv 500 --output data.csv
Custom table name — used by SQL and table-oriented formats
data-maestro-cli generate-schema schema.json sql 200 customers
Table name + locale together
data-maestro-cli generate-schema schema.json sql 200 clientes pt
Locale only — no table name needed for non-SQL formats
data-maestro-cli generate-schema schema.json json 200 mock_data fr
Binary format — always pair with --output, never stdout
data-maestro-cli generate-schema \
--output fixtures.parquet schema.json parquet 5000
Pipe JSON output straight into jq
data-maestro-cli generate-schema schema.json json 20 \
| jq '.[] | .email'
Seed a local Postgres from the SQL output
data-maestro-cli generate-schema schema.json postgresql 500 users \
| psql "$DATABASE_URL"
Seed MongoDB via mongoimport (the format writes a JSON array)
data-maestro-cli generate-schema --output data.json schema.json mongodb 500
mongoimport --uri="$MONGODB_URI" --collection=users --jsonArray --file=data.json
Generate an ML fine-tuning dataset
data-maestro-cli generate-schema \
--output training.jsonl schema.json openai 5000
import-schema
Discovers a schema from an existing CSV/TSV/PSV/SSV/JSON/XLSX/XLS file — or a live database table — and writes the same JSON shape generate-schema consumes. Ungated — schema discovery doesn't move or generate data.
data-maestro-cli import-schema <file_path> [--output <file>]
data-maestro-cli import-schema --db-type <type> --host <host> --port <port> \
--database <db> --table <table> [--user <user>] \
[--password <pw>|--password-env <VAR>] [--output <file>]
--db-type <type> any of the 14 connector types
--password-env <VAR> read the DB password from an env var instead
--output <file> write JSON here instead of stdout
import-openapi
Discovers a schema (plus route/method/port) from an OpenAPI/JSON-Schema spec. Only the first resolvable path+method in the spec is imported. Ungated.
data-maestro-cli import-openapi <spec_path> [--output <file>]
generate
Prints one fake email address for a name — a quick one-off, not for bulk generation.
data-maestro-cli generate <first> [last]
$ data-maestro-cli generate Jane Doe
Generated email: [email protected]
import-schema / import-openapi examples
Discover a schema from an existing CSV
data-maestro-cli import-schema users.csv --output schema.json
Discover a schema from a live Postgres table
data-maestro-cli import-schema --db-type postgres --host localhost \
--port 5432 --database mydb --table users \
--user admin --password-env DB_PASSWORD --output schema.json
Round-trip straight into generate-schema — build a fixture that matches a real table's shape
data-maestro-cli import-schema --db-type postgres --host localhost \
--port 5432 --database mydb --table users --output schema.json
data-maestro-cli generate-schema schema.json csv 5000 > fixture.csv
Discover a schema — plus route/method/port — from an OpenAPI spec, then serve it back
data-maestro-cli import-openapi openapi.yaml --output schema.json
# stderr reports which route/method/port were imported, e.g. GET /users on port 4000
generate examples
First name only
$ data-maestro-cli generate Jane
Generated email: [email protected]
First and last name
$ data-maestro-cli generate Jane Doe
Generated email: [email protected]
Generate one email per line of a names file
while IFS= read -r name; do
data-maestro-cli generate $name
done < names.txt