Skip to content
GitLab

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.

Terminal window
akili validate <path>

Arguments:

ArgumentTypeRequiredDescription
pathstringyesPath to a manifest directory or a single YAML file

When pointing to a directory, the command looks for the standard manifest files:

  • product.yaml
  • inputs.yaml
  • output.yaml
  • quality.yaml
  • serving.yaml
  • compute.yaml

At least one manifest file must exist in the directory.

Terminal window
# Validate all manifests in a directory
akili validate ./my-product/
# Validate a single manifest file
akili validate ./my-product/product.yaml
# Validate with JSON output
akili validate ./my-product/ --json

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.0

Warnings 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 check
CodeMeaning
0All manifests are valid
1Path does not exist or no manifest files found
5Validation failed (one or more errors)

The validate command is designed as the primary CI/CD gate. Run it before every merge:

Terminal window
# In your CI pipeline
akili validate ./my-product/
if [ $? -ne 0 ]; then
echo "Manifest validation failed"
exit 1
fi

Or more concisely:

Terminal window
akili validate ./my-product/ && git push