JSON Schema

The format of werf.yaml is published as a JSON Schema at https://werf.io/docs/v3/schemas/werf.json. Editors that support JSON Schema for YAML use it for completion, hover documentation and validation.

In VS Code with the YAML extension, add to .vscode/settings.json:

{
  "yaml.schemas": {
    "https://werf.io/docs/v3/schemas/werf.json": ["werf.yaml", "werf.yml"]
  }
}

Alternatively, point to the schema from the file itself:

# yaml-language-server: $schema=https://werf.io/docs/v3/schemas/werf.json

werf.yaml is rendered as a Go template before parsing, so the schema describes the rendered YAML. An editor validates the file only where it is valid YAML before rendering; the sections containing template actions are skipped or reported as syntax errors by the editor, not by the schema.