Check that your .dino.yml is well-formed and passes all schema rules. Prints field-level error messages when validation fails.
Runs without tenant context. No network calls to external services.
Usage
Flags
| Flag | Type | Default | Description |
|---|
--quiet | boolean | false | Suppress success message on valid config |
What It Checks
Validation runs the same Zod schema used internally by loadCliConfig(). One source of truth for config shape.
| Field | Validation |
|---|
endpoint | Must be a valid URL |
protocol | Must be "graphql" |
format | Must be "json" or "markdown" |
auth.enabled | Must be boolean |
auth.role | Non-empty string if provided |
rateLimit.burst | Integer between 1 and 500 |
autonomy.level | Must be "observe" or "enforce" |
The schema uses .passthrough() — extra fields are allowed and ignored. You won’t get errors for unknown keys.
Examples
Valid config
No config file
No .dino.yml found — using smart defaults. Config is valid.
When no config file exists, Dino falls back to built-in defaults. This is not an error.
Invalid endpoint
# .dino.yml
endpoint: not-a-url
protocol: graphql
Invalid .dino.yml config: endpoint: Invalid url
Invalid enum value
# .dino.yml
endpoint: https://api.example.com/graphql
protocol: rest
Invalid .dino.yml config: protocol: Invalid enum value. Expected 'graphql', received 'rest'
Multiple errors
# .dino.yml
endpoint: not-a-url
format: xml
rateLimit:
burst: 9999
Invalid .dino.yml config: endpoint: Invalid url, format: Invalid enum value.
Expected 'markdown' | 'json', received 'xml', rateLimit.burst: Number must be
less than or equal to 500
All field-level errors are reported in a single message. Fix them all at once — no need to re-run between each fix.
Config Search Locations
dino validate uses cosmiconfig to find your config:
| File | Format |
|---|
.dino.yml / .dino.yaml | YAML |
.dinorc | JSON or YAML |
.dinorc.json / .dinorc.yaml / .dinorc.yml | JSON / YAML |
package.json ("dino" key) | JSON |
JavaScript config files (.js, .ts, .cjs, .mjs) are blocked for security and will be ignored.
Exit Codes
| Code | Meaning |
|---|
0 | Config is valid, or no config file found (defaults apply) |
1 | Validation error — one or more fields failed schema checks |