Skip to content

User Packages Overview

Volt's extension system is a compiled user library. Every plugin is a Rust module under user/, compiled into a shared library that the editor loads at startup:

PlatformLibrary name
Windowsuser.dll
Linuxlibuser.so
macOSlibuser.dylib

The Cargo package is named volt-user; the built library artifact is named user.

Architecture

volt (binary)
  → editor-plugin-host   loads packages, wires hooks & commands
  → user/sdk             stable ABI (crate editor-plugin-api)
  → user/ (volt-user)    your compiled plugins
       ├─ lib.rs         package registry & UserLibraryImpl
       ├─ vim.rs, oil.rs, calculator.rs, …
       └─ lang/          per-language packages
  • Plugin host (crates/editor-plugin-host) reads PluginPackage metadata and registers commands, keybindings, hooks, and buffers.
  • SDK (user/sdk, crate editor-plugin-api) is the only stable ABI boundary. Builtin plugins author against the SDK (plus crates.io), not against internal engine crates.
  • The user library builds as both a cdylib (runtime load) and an rlib (dev / in-process API).

User Source Tree (release installs)

Release builds can ship a User Source Tree beside the binary so you can edit builtin plugins and rebuild without the full Volt git checkout:

bash
cd /path/to/install/user
cargo build --release -p volt-user

Inside a running release editor, workspace.compile prefills that build and hot-reloads the new library. See Hot reload.

What lives in the user package

KindExamplesRebuild?
Feature pluginsvim, oil, lsp, git, terminalYes (Rust)
Language packageslang-rust, lang-python, …Yes
Runtime YAMLconfig/ui.yaml, config/oil.yamlUsually no
Themesthemes/*.toml, global.tomlUsually no
Trait wiringevaluators, autocomplete backendsYes

Common help questions

You askGo here
How do I build the user package?Build
How do I create a new user plugin?Create a plugin
I scaffolded a plugin — what next?After scaffold
How do I edit the vim / oil / compile plugin?Edit a plugin
What are packages, commands, hooks?Concepts
Which builtins exist?Plugin catalog

Volt — modal editor platform · docs optimized for in-editor help search