-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Labels
Description
Description
Design and implement a plugin architecture allowing the community to write custom inspector plugins as shared libraries and load them into the debugger at runtime — making the debugger infinitely extensible.
Requirements
- Define a stable
InspectorPlugintrait as the plugin API - Load plugins dynamically from
~/.soroban-debug/plugins/at startup - Plugins can hook into execution events, add new CLI subcommands, and add output formatters
- Plugin manifest file (
plugin.toml) with name, version, and author metadata - Document the plugin API with a worked example plugin
Suggested Execution
- Branch:
git checkout -b feature/plugin-system - Define
InspectorPlugintrait insrc/plugin/api.rs - Implement dynamic loading using
libloading - Create plugin registry in
src/plugin/registry.rs - Load plugins from disk at startup
- Write an example plugin in
examples/plugins/ - Write plugin authoring documentation
- Commit:
feat: implement plugin system for custom inspector modules
Acceptance Criteria
-
InspectorPlugintrait defined and stable - Plugins load from
~/.soroban-debug/plugins/at startup - Example plugin builds and loads correctly
- Plugins can hook into execution lifecycle events
- Plugin API fully documented with examples
Difficulty: Advanced — requires dynamic library loading knowledge
Reactions are currently unavailable