Skip to content

Getting Started

Volt is a native text editor built in Rust. Customization lives in a compiled user library (volt-user) under the user/ directory — plugins, languages, themes, and keybindings are Rust modules that compile into user.dll / libuser.so / libuser.dylib.

This page gets you running. For the workflows people usually ask help about next, jump to:

Prerequisites

  • Rust stable via rustup
  • A C/C++ toolchain for native dependencies
  • SDL3 development libraries for the editor shell

Clone and build

bash
git clone https://github.com/samwdp/volt.git
cd volt
cargo build -p volt -p volt-user

Debug binaries:

ArtifactPath
Editortarget/debug/volt (volt.exe on Windows)
User librarytarget/debug/user.dll / libuser.so / libuser.dylib

Release:

bash
cargo build -p volt -p volt-user --release

First launch

bash
cargo run -p volt

Press F1 (or run help) to ask a docs question; Volt opens search in a browser split. See Help Plugin.

Smoke-test without an interactive window:

bash
cargo run -p volt -- --shell-hidden

List registered packages (useful after adding a plugin):

bash
cargo run -p volt -- --bootstrap-demo

Where customization lives

PathPurpose
user/*.rsBuiltin and custom plugin modules
user/lib.rsPackage registry (packages())
user/lang/Language packages
user/config.yaml + user/config/Runtime YAML (often no rebuild)
user/themes/Themes and shared UI options
user/sdk/Stable plugin ABI (editor-plugin-api)

Most help queries fall into one of two buckets:

  1. Rebuild required — Rust package metadata (commands, hooks, keybindings, buffers)
  2. Hot reload — YAML under user/config/ and theme TOML under user/themes/

See Configuration and Build the user package.

Next steps

  1. Read User packages overview
  2. Learn the core concepts
  3. Either create a plugin or edit a builtin

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