Skip to main content
veri run <config.toml> is a thin shortcut over the explicit veri jobs create / veri deployments create. It reads the required kind field from the config and dispatches. The contract is plural-noun-verb (veri jobs create configs/train.toml); veri run exists to save typing on the common path.

Scaffold a project: veri init

veri init NAME writes 9 files into ./NAME. With no NAME, scaffolds into the current directory.
By default init refuses to write into a non-empty directory. Use --force to scaffold alongside existing files (existing files are preserved):

Dispatch rules

Every config starts with a required kind line:
veri run <path> reads kind and routes: Missing kind or an unknown value errors with a “did you mean” hint:

Override TOML fields from the CLI

Use --set <dotted.key>=<value> to override any nested value. Convenience long-flags expand to --set internally.

Type coercion

Values parse as TOML scalars: true / false, integers, floats, ISO timestamps, quoted strings. To force a string on a numeric-looking value, use --set-string:

Repeated flags build a list

Conflict detection

The merger rejects setting a scalar and a sub-key at the same path:

Convenience long-flags

These flags are sugar over --set on veri jobs create:

Config schemas

veri.toml (project root)

configs/train.toml

[dataset].id must reference an already-registered dataset: upload first with veri datasets upload, then paste the returned id into the config. [reward].file is a local path (relative paths resolve against the config file’s directory); the file’s source is attached to the job at submit. Multi-reward: files = ["a.py", "b.py"] plus optional weights = [1.0, 0.5].

configs/deploy.toml

--dry-run before submitting

On veri jobs create (and veri run with kind="train"), --dry-run validates the config without submitting: It prints the resolved GPU config plus a cost estimate (illustrative values):
Add --format json for the same fields as a JSON object (gpu_type, gpu_count, provider, duration_minutes, rate_usd_per_hour, estimated_cost_usd, markup).

What’s next

Datasets

Upload, connect HuggingFace, validate.

Training

Jobs + reward files end-to-end.