English docs · 简体中文 · Build a plugin · Examples · Releases
A Rust-first framework for VST3 effects and instruments. Keep DSP native, give parameters a stable identity, and build your editor with JavaScript, React, Vue, or Svelte in a directly embedded system WebView.
Alpha. Local framework tests and validation tools are available. Release readiness still requires real DAW, platform WebView, Steinberg validator, signing, and notarization evidence. See the release evidence guide.
| Native processing | Editor development | From source to plugin |
|---|---|---|
| Borrowed f32/f64 audio buffers | System WebView through wry |
Embedded starter templates |
| Sample-accurate automation and MIDI | Typed JSBridge and generated TypeScript | VST3 packaging and validation |
| Preallocated event batches and lock-free queues | React, Vue, Svelte, or plain JavaScript | Parameter manifests and release checks |
| Typed parameters and stable VST3 IDs | Host-authoritative state and edit gestures | Reproducible CLI workflows |
The audio callback must not allocate, lock, block, format logs, process JSON, or call WebView APIs. UI and control work live outside that boundary. Vesty embeds wry directly, with no Tauri runtime.
Use Rust 1.95+, and Node.js 24+ for Web UI projects. The wry backend also needs the platform's WebView development libraries; run vesty doctor to inspect your environment.
Source distribution is available today. The framework crates, npm SDK, and prebuilt CLI releases are not published yet. Install from a checkout and point the starter at that same source:
git clone https://github.com/backrunner/vesty.git vesty-source
cd vesty-source
export VESTY_SOURCE="$PWD"
cargo install --path crates/vesty-cli --locked
cd ..
vesty new my-plugin --template gain --vesty-path "$VESTY_SOURCE/crates/vesty"
cd my-plugin
cargo test
vesty build --config vesty.tomlKeep the source checkout available. The generated project refers to its absolute path; record the framework commit and retain lockfiles. For UI templates, first build the SDK with npm ci and npm run build in the source checkout, then also pass --plugin-ui-path "$VESTY_SOURCE/packages/plugin-ui".
See Get started for Windows commands, all seven templates, and platform-specific packaging and validation. Published CLI archives, matched crates.io dependencies, and the npm SDK are the planned release channels; see Framework releases.
Follow the complete plugin tutorial to implement the effect, build a VST3 bundle, and validate it.
| Example | Explore |
|---|---|
| Gain | An audio effect with typed parameters and automation |
| MIDI synth | Notes, expression, SysEx, and sample-accurate event processing |
| Web UI parameter demo | A WebView editor connected to host parameter state |
Dense event blocks use batches of up to 512 events; later events are retained. Kernels must consume zero-frame event contexts too. SysEx still has a separate 256-byte payload limit. The MIDI guide explains timing, note identity, capacity, and CPU tradeoffs.
The bilingual documentation site includes a custom Vesty theme and landing page. Its source is fully included here.
| Learn | Build | Ship |
|---|---|---|
| Architecture | Parameters | CLI |
| Realtime safety | DSP and MIDI | Packaging |
| Plugin API | Web UI | Release evidence |
Run the site locally with cd docs && pnpm install --frozen-lockfile && pnpm dev. See site maintenance for builds, deployment, and branding.
For AI-assisted development, use the repository's vesty-plugin-dev skill, which preserves realtime boundaries and release-evidence requirements.
The repository is organized into Rust crates, the UI package, examples, and documentation. Architecture notes and completion audits live in .agents.
Read AGENTS.md for development rules. Keep commits focused and use type(scope): description, for example fix(vst3): preserve sample-accurate automation.
cargo fmt --all --check
cargo test --workspace --all-features
cargo clippy --workspace --all-targets --all-features -- -D warnings
npm run typecheck
npm test
cargo run -p vesty-cli -- export-types --out target/vesty-protocol --checkThese checks verify the repository locally. They complement real host and platform testing.