← All extensions

SchemaLock

v0.1.0 · by SchemaLock · added 3 November 2026

Schema-pinned validation, completion, and hover for Kubernetes-style YAML.

Language servers

How to install

With Forge Super installed, the button above opens the app on this extension, where you press Install. Nothing is installed until you do.

You can also open the Extensions panel in the app and search for SchemaLock. The extension's id is schemalock-lsp.

Don't have Forge Super yet? Download it here.

README

From the extension's repository, written by its authors and not by Mentenaz. See the source.

SchemaLock for Zed

CI

Schema-pinned validation, completion, and hover for Kubernetes-style YAML in the Zed editor.

What it does

Registers the schemalock language server for YAML files. In a project rooted at a schemalock.yaml, owned resources (e.g. a VMCluster) get completion, hover, and diagnostics from the schema pinned by the nearest schemalock.yaml. Unowned YAML is transparently proxied to yaml-language-server.

This is a thin client. The actual language server is the schemalock binary; the extension downloads the pinned per-platform build (currently v0.3.2) from the schemalock/schemalock GitHub releases on first use and caches it.

Not available: the schema-version status-bar picker shipped in the VS Code and JetBrains clients is not present here — Zed extensions have no custom-UI API.

Requirements

  • Network access on first use (to download the binary from GitHub releases).
  • A supported platform: macOS (arm64/x64), Linux (arm64/x64), Windows (x64).

YAML language-server coexistence

If you see duplicate diagnostics or completions, Zed's built-in YAML language server is running alongside SchemaLock. SchemaLock already proxies to yaml-language-server internally, so make it the sole YAML server in your Zed settings:

{
  "languages": {
    "YAML": {
      "language_servers": ["schemalock", "!yaml-language-server"]
    }
  }
}

Development

rustup target add wasm32-wasip2                 # the target Zed compiles extensions for
cargo build --release --target wasm32-wasip2    # verify it compiles
cargo test -p schemalock-zed-core               # run unit tests

Then in Zed: command palette → zed: install dev extension → select this directory. Zed builds the extension itself for wasm32-wasip2 using a rustup-managed toolchain, so that target must be installed (the command above adds it).