ryo-plugin-runtime 0.1.0

[experimental] WASM plugin runtime for ryo mutations (registry + executor)
Documentation

ryo-plugin-runtime

crates.io docs.rs License: MIT OR Apache-2.0

Status: experimental. APIs may change in v0.x. Part of the ryo workspace — AST-centric Rust programming for AI agents.

WASM plugin runtime — registry management and execution. Sits on top of ryo-plugin-loader and exposes a MutationRegistry that can scan a directory of .wasm plugins and a PluginExecutor that drives them against source files.

ryo-plugin-api      — WIT interface definitions
ryo-plugin-loader   — WASM loading (PluginLoader, LoadedPlugin)
ryo-plugin-runtime  — Registry + Executor (this crate)

Install

cargo add ryo-plugin-runtime

Quickstart

use ryo_plugin_runtime::{MutationRegistry, PluginExecutor};
use std::path::Path;

let mut registry = MutationRegistry::new()?;
registry.load_plugins_from_dir("~/.ryo/plugins")?;

let mut executor = PluginExecutor::new(&mut registry);
let result = executor.execute("bool-simplify", Path::new("src/lib.rs"), source)?;

API Summary

Item Purpose
MutationRegistry Scan a directory, register loaded plugins
PluginExecutor Run a registered plugin against source

Plugin-API types (MutationManifest, MatchResult, TextEdit, …) and PluginLoader / LoadedPlugin are re-exported from ryo-plugin-loader.

Status

Experimental. Plugin lifecycle, discovery, and execution APIs are still being shaped.

License

Licensed under either of Apache-2.0 or MIT at your option.