☁️ Loving our new documentation website? Provide feedback in the CloudCannon Community! ✨

JSON Schemas

Last modified: February 3rd, 2026

Table of contents

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 $schema property to your configuration file
  • YAML files: Add a # yaml-language-server comment 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):

Copied to clipboard
{
  "$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.json

Routing File (.cloudcannon/routing.json):

JSON
Copied to clipboard
{
  "$schema": "https://raw.githubusercontent.com/CloudCannon/configuration-types/main/dist/cloudcannon-routing.schema.json",
  "routes": []
}

Initial Site Settings File (.cloudcannon/initial-site-settings.json):

JSON
Copied to clipboard
{
  "$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:

JSON
Copied to clipboard
{
  "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:

Copied to clipboard
{
  "$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.json

Hugo:

Copied to clipboard
{
  "$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.json

Eleventy:

Copied to clipboard
{
  "$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.json

Other SSGs (using CloudCannon Reader):

Copied to clipboard
{
  "$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
Open in a new tab