akili validate
Validate data product manifest files before submitting them to the platform. This command reads YAML manifest files from a directory or a single file, sends them to the API for server-side validation, and reports any errors or warnings.
akili validate <path>Arguments:
| Argument | Type | Required | Description |
|---|---|---|---|
path | string | yes | Path to a manifest directory or a single YAML file |
When pointing to a directory, the command looks for the standard manifest files:
product.yamlinputs.yamloutput.yamlquality.yamlserving.yamlcompute.yaml
At least one manifest file must exist in the directory.
Examples
Section titled “Examples”# Validate all manifests in a directoryakili validate ./my-product/
# Validate a single manifest fileakili validate ./my-product/product.yaml
# Validate with JSON outputakili validate ./my-product/ --jsonOutput
Section titled “Output”On success:
VALID All 6 manifest file(s) are valid.On failure:
INVALID Validation failed with 3 error(s): ERROR product.yaml:owner -- 'owner' is required ERROR inputs.yaml:sources[0].connection -- unknown connection 'nonexistent' ERROR quality.yaml:checks[0].threshold -- must be between 0.0 and 1.0Warnings are displayed after the main result for both valid and invalid manifests:
VALID All 6 manifest file(s) are valid. WARN quality.yaml: consider adding a freshness checkExit Codes
Section titled “Exit Codes”| Code | Meaning |
|---|---|
| 0 | All manifests are valid |
| 1 | Path does not exist or no manifest files found |
| 5 | Validation failed (one or more errors) |
CI/CD Integration
Section titled “CI/CD Integration”The validate command is designed as the primary CI/CD gate. Run it before every merge:
# In your CI pipelineakili validate ./my-product/if [ $? -ne 0 ]; then echo "Manifest validation failed" exit 1fiOr more concisely:
akili validate ./my-product/ && git push