Skip to content

Build Plugin System for Custom Inspector Modules #218

@Timi16

Description

@Timi16

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 InspectorPlugin trait 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

  1. Branch: git checkout -b feature/plugin-system
  2. Define InspectorPlugin trait in src/plugin/api.rs
  3. Implement dynamic loading using libloading
  4. Create plugin registry in src/plugin/registry.rs
  5. Load plugins from disk at startup
  6. Write an example plugin in examples/plugins/
  7. Write plugin authoring documentation
  8. Commit: feat: implement plugin system for custom inspector modules

Acceptance Criteria

  • InspectorPlugin trait 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

Metadata

Metadata

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions