Skip to content

fidius

A Rust plugin framework for trait-to-dylib plugin systems

fidius lets you define a Rust trait, annotate it with a macro, and get a compiled dynamic library with a stable C ABI. Host applications load, validate, and call plugins through a type-safe proxy — no handwritten FFI.

Quick Example

# Scaffold an interface and plugin
fidius init-interface my-api --trait ImageFilter
fidius init-plugin my-plugin --interface my-api --trait ImageFilter

# Build the plugin
cd my-plugin && cargo build

# Sign it (optional)
fidius keygen --out mykey
fidius sign --key mykey.secret target/debug/libmy_plugin.dylib

# Inspect the compiled plugin
fidius inspect target/debug/libmy_plugin.dylib

Installation

cargo install fidius-cli

Learn fidius

Tutorials — Learn by doing

Step-by-step guides that walk you through building your first plugin, adding optional methods, and signing plugins.

How-To Guides — Solve specific problems

Practical recipes for common tasks.

Reference — Look up details

CLI flags, ABI specification, error catalog, and auto-generated API docs.

API Documentation — Generated from source

Auto-generated by plissken from doc comments in source code.

Explanation — Understand the design

Architecture, design decisions, and the reasoning behind the system.