Editor Integration
Nullstone publishes a JSON schema for .nullstone/*.yml files to schemastore.org. Most editors pick it up automatically — you get inline validation and completion with zero configuration.
This is the right surface if you are editing the YAML. For AI-driven edits, also install the nullstone-config-files skill — editor validation is structural; the skill adds semantic and stylistic rules Claude can't infer from the schema alone.
Supported editors
Schemastore.org integrations cover:
- Android Studio
- CLion
- Emacs via eglot
- IntelliJ IDEA
- JSONBuddy
- Neovim via SchemaStore.nvim
- PhpStorm
- PyCharm
- ReSharper
- Rider
- RubyMine
- SublimeText via LSP-json, LSP-yaml
- Visual Studio
- Visual Studio Code (YAML, TOML, JSON)
- Visual Studio for Mac
- WebStorm
VS Code
Install the YAML extension by Red Hat. The schema attaches to .nullstone/*.yml automatically.
To bind the schema explicitly (useful when schemastore lookup is blocked), add to your workspace .vscode/settings.json:
{
"yaml.schemas": {
"https://raw.githubusercontent.com/nullstone-io/iac/master/.schema/config.0.1.json": [
".nullstone/*.yml",
".nullstone/stacks/*/*.yml"
]
}
}JetBrains (IntelliJ / GoLand / PhpStorm / …)
Schemastore integration ships by default. To bind the schema explicitly:
- Settings → Languages & Frameworks → Schemas and DTDs → JSON Schema Mappings
- Add a mapping:
- Schema URL:
https://raw.githubusercontent.com/nullstone-io/iac/master/.schema/config.0.1.json - Schema version: JSON Schema Draft 2020-12
- File path pattern:
.nullstone/*.ymland.nullstone/stacks/*/*.yml
- Schema URL:
Neovim
Install SchemaStore.nvim and configure your LSP (e.g. yamlls) to use it:
require("lspconfig").yamlls.setup({
settings = {
yaml = {
schemaStore = { enable = true, url = "https://www.schemastore.org/api/json/catalog.json" },
schemas = require("schemastore").yaml.schemas(),
},
},
})Downloading the schema directly
The authoritative source is nullstone-io/iac/.schema. Vendor the file into your repo if you need air-gapped validation.