CloudCannon provides JSON Schemas for all configuration files, enabling autocomplete, validation, and inline documentation in your IDE.
All schemas are registered with SchemaStore, so most IDEs will automatically detect and apply them based on filename — no configuration required. Schemas are also available from the @cloudcannon/configuration-types package on GitHub.
Available Schemas#
Most IDEs will automatically apply these schemas based on filename. If needed, you can explicitly specify the schema:
- JSON files: Add a
$schemaproperty to your configuration file - YAML files: Add a
# yaml-language-servercomment at the top of the file (requires the Red Hat YAML extension in VS Code/Cursor)
Configuration File (cloudcannon.config.json or cloudcannon.config.yaml):
{
"$schema": "https://raw.githubusercontent.com/CloudCannon/configuration-types/main/cloudcannon-config.schema.json"
}# yaml-language-server: $schema=https://raw.githubusercontent.com/CloudCannon/configuration-types/main/cloudcannon-config.schema.jsonRouting File (.cloudcannon/routing.json):
{
"$schema": "https://raw.githubusercontent.com/CloudCannon/configuration-types/main/dist/cloudcannon-routing.schema.json",
"routes": []
}Initial Site Settings File (.cloudcannon/initial-site-settings.json):
{
"$schema": "https://raw.githubusercontent.com/CloudCannon/configuration-types/main/dist/cloudcannon-initial-site-settings.schema.json",
"ssg": "eleventy"
}IDE Configuration#
Most modern IDEs automatically detect CloudCannon configuration files and apply the correct schema via SchemaStore integration.
VS Code and Cursor
JSON files work automatically with no setup required.
YAML files require the Red Hat YAML extension. After installing, add schema associations to your settings.json:
{
"yaml.schemas": {
"https://raw.githubusercontent.com/CloudCannon/configuration-types/main/cloudcannon-config.schema.json": "cloudcannon.config.yaml"
}
}For more information, see the VS Code JSON Schema documentation.
JetBrains IDEs
WebStorm, IntelliJ IDEA, and other JetBrains IDEs have built-in JSON and YAML schema support that works automatically via SchemaStore integration.
For manual configuration, open Settings > Languages & Frameworks > Schemas and DTDs > JSON Schema Mappings. See the JetBrains JSON Schema documentation for details.
Sublime Text
Install the LSP and LSP-json packages for JSON schema support — schemas are automatically discovered via SchemaStore. For YAML files, also install LSP-yaml.
Neovim
Use nvim-lspconfig with jsonls for JSON files and yamlls for YAML files. Both language servers automatically discover schemas through SchemaStore.
Zed
Zed has built-in JSON schema support that works automatically via SchemaStore. See the Zed JSON documentation for more details.
Legacy SSG-Specific Schemas#
For older Sites using the non-unified configuration format, SSG-specific schemas are available. Unlike the unified schema, these are not registered with SchemaStore and must be specified manually using the $schema property (JSON) or # yaml-language-server comment (YAML).
We recommend migrating to Unified Configuration to benefit from automatic schema detection and the latest features.
Jekyll:
{
"$schema": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-jekyll.schema.json"
}# yaml-language-server: $schema=https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-jekyll.schema.jsonHugo:
{
"$schema": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-hugo.schema.json"
}# yaml-language-server: $schema=https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-hugo.schema.jsonEleventy:
{
"$schema": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-eleventy.schema.json"
}# yaml-language-server: $schema=https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-eleventy.schema.jsonOther SSGs (using CloudCannon Reader):
{
"$schema": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-reader.schema.json"
}# yaml-language-server: $schema=https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.legacy-reader.schema.json