Recent searches

in

JSON Schemas

Last modified: September 30th, 2026

On this page

CloudCannon provides JSON Schemas for all configuration files, enabling autocomplete, validation, and inline documentation in your code editor.

All schemas are registered with SchemaStore. The JSON and YAML language servers in most code editors read the SchemaStore catalog and apply the matching schema based on the filename. Schemas are published as release assets of the @cloudcannon/configuration-types package on GitHub.

Available schemas#

All schemas are published under https://github.com/cloudcannon/configuration-types/releases/latest/download/.

Configuration File schemas

Your main Configuration File.

Validates: cloudcannon.config.yml, cloudcannon.config.yaml, cloudcannon.config.json

Split configuration files are matched by their extension. The extension names the kind of configuration the file holds, so a file referenced by collections_config_from_glob ends in .cloudcannon.collections.yml (for example, posts.cloudcannon.collections.yml⁠). Each extension below also matches with .yaml or .json in place of .yml.

Collection configuration, referenced by collections_config_from_glob.

Validates: .cloudcannon.collections.yml

Schema configuration for one Collection, referenced by schemas_from_glob inside a collections_config entry.

Validates: .cloudcannon.schemas.yml

Rich text formatting options, referenced by _editables_from_glob.

Validates: .cloudcannon.editables.yml

Input configuration, referenced by _inputs_from_glob.

Validates: .cloudcannon.inputs.yml

Custom Snippet configuration, referenced by _snippets_from_glob.

Validates: .cloudcannon.snippets.yml

Reusable values for Snippet templates, referenced by _snippets_definitions_from_glob.

Validates: .cloudcannon.snippets-definitions.yml

Snippet templates and libraries to import, referenced by _snippets_imports_from_glob.

Validates: .cloudcannon.snippets-imports.yml

Structure configuration, referenced by _structures_from_glob.

Validates: .cloudcannon.structures.yml

A single Structure value, referenced by values_from_glob inside a Structure.

Validates: .cloudcannon.structure-value.yml

For more information on the supporting files, please read our documentation on splitting your Configuration File.

Routing and Initial Site Settings schemas

Your Routing File.

Validates: .cloudcannon/routing.json

Your Initial Site Settings File.

Validates: .cloudcannon/initial-site-settings.json

Non-unified configuration SSG-specific schemas

For older Sites using the non-unified configuration format, the registered Configuration File schema also covers the SSG-specific legacy formats. Set the version key in your Configuration File to select which one applies:

  • legacy-jekyll
  • legacy-hugo
  • legacy-eleventy
  • legacy-reader (other SSGs using CloudCannon Reader)
Copied to clipboard
version: legacy-jekyll
{
  "version": "legacy-jekyll"
}

When version is omitted or set to latest, the unified configuration schema applies.

We recommend migrating to Unified Configuration to benefit from the latest features.

IDE configuration#

Most code editors apply the schemas automatically through their JSON and YAML language servers. If you use a custom path for your Configuration File, SchemaStore cannot match it by filename. Each language server has its own setting for associating a schema with a file, so you can add the mapping there instead of in the file itself.

VS Code and Cursor

JSON files work automatically with no setup required. YAML files require the Red Hat YAML extension, which also applies schemas from SchemaStore automatically once installed.

To apply the schema to a custom Configuration File path, add a mapping to the json.schemas or yaml.schemas setting in your settings.json:

JSON
Copied to clipboard
{
  "yaml.schemas": {
    "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-config.schema.json": "config/cms.yml"
  }
}

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.

To associate a schema manually, open JSON Schema Mappings under Languages & Frameworks in the IDE settings. 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.

Open in a new tab