VendoVendo Docs
ReferenceCLI

vendo validate

Lint a vendo.yaml manifest against the public deploy schema.

Synopsis

vendo validate [file]

Validates a vendo.yaml against the canonical JSON Schema bundled with the CLI. Defaults to ./vendo.yaml when no argument is passed. Exits 0 on success, non-zero on any error.

This command does not require login — the schema check is fully local.

Arguments

ArgumentDescription
fileOptional path to the manifest. Defaults to vendo.yaml in the current directory.

Schema source

The validator uses vendo.schema.json, executed via ajv@^8 with allErrors: true and ajv-formats. The schema's draft is whatever its $schema field declares. The same schema is what the Vendo deploy worker checks against — the CLI is just a local mirror.

Full per-field reference: vendo.yaml schema.

Output

On success:

✓ vendo.yaml is valid

On failure, every problem is listed:

✗ vendo.yaml has 2 error(s):
  • /name must match pattern "^[a-z][a-z0-9-]{1,62}[a-z0-9]$"
  • /version must be equal to constant: 1

The validator also surfaces non-schema errors with their own messages:

  • cannot read <path>: <reason> — file missing or unreadable
  • yaml parse error in <path>: <reason> — YAML is not parseable
  • vendo.yaml is empty or not an object — top level is null or a scalar

Examples

Validate the default file:

vendo validate

Validate a non-default path:

vendo validate ./examples/hermes/vendo.yaml

Use in CI:

# .github/workflows/ci.yml
- run: npx @vendodev/cli validate

vendo validate is the only CLI command that doesn't talk to vendo.run. It is safe to run in CI without provisioning a service account or login secret.

On this page