Guides
Editor support
Completion, documentation on hover and errors as you type for isoloom.yml, in VS Code, JetBrains IDEs, Neovim and Zed, from the Isoloom JSON Schema.
Isoloom publishes a JSON Schema for isoloom.yml, generated from the same model isoloom validate
uses. With it, your editor colors what's wrong as you type (an unknown field, a misspelled OS, a
version that isn't 1), completes field names and values, and shows each field's documentation on
hover.
The schema lives at https://www.isoloom.com/schema/v1.json (isoloom schema prints it too). A spec
points to it with its first line, which isoloom import compose and every example already have:
# yaml-language-server: $schema=https://www.isoloom.com/schema/v1.json
version: 1
name: invoice-portal
That line is all most editors need.
VS Code
Install Red Hat's YAML extension. The first line above is enough; to apply the schema to every
isoloom.yml without it, add to your settings:
{
"yaml.schemas": {
"https://www.isoloom.com/schema/v1.json": ["isoloom.yml", "isoloom.yaml"]
}
}
JetBrains IDEs
The first line works with the built-in YAML support. Or map it once in Settings → Languages &
Frameworks → Schemas and DTDs → JSON Schema Mappings: the schema URL, for the file pattern
isoloom.yml.
Neovim, Zed, Helix
They use the same YAML language server (yaml-language-server), which reads the first line. To map
the files instead, give it the same yaml.schemas setting as VS Code.
What the schema checks
Field names and types, the format version, kebab-case names, UPPER_SNAKE_CASE inputs, network
addresses, known OS names and absolute volume paths. Some rules need the whole file (overlapping
networks, addresses taken twice, dependency cycles): isoloom validate checks those.