zed-industries/zed
extension_cli
Active contributors: kubkon, maxdeviant
Purpose
crates/extension_cli is the command-line companion for authoring Zed extensions. It builds, validates, and packages WASM extensions against the public extension API.
Directory layout
crates/extension_cli/
├── Cargo.toml
└── src/
└── main.rs # Single-file CLIThe extension API lives in crates/extension_api (consumed by extensions); the in-app host lives in crates/extension_host.
What the CLI does
- Build / package. Compile the user's extension WASM and bundle it with
extension.toml, themes, languages, and snippets into the format Zed loads. - Validate. Check that the manifest is well-formed and the WASM exports match the ABI version the extension declares.
- Publish helpers. The Zed extensions registry is populated by GitHub workflows that run this CLI; see
.github/workflows/extension_bump.ymland.github/workflows/extension_auto_bump.yml.
Integration points
- Reads:
extension.tomland the extension's source. - Talks to: the WASM toolchain (cargo +
wasm32-wasitarget). - Used by: extension authors locally, plus the registry auto-bump workflows.
Related pages
- Extensions — how the host loads what this CLI ships
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.