Plugin API Reference¶
Classes¶
Plugin¶
Base plugin class
class Plugin:
def __init__(self, name: str, version: str):
"""Initialize plugin with name and version"""
def register_commands(self) -> list[Command]:
"""Register plugin commands"""
def on_load(self):
"""Called when plugin is loaded"""
PluginManager¶
Manage plugin lifecycle
class PluginManager:
def __init__(self, shell: Shell):
"""Initialize with reference to shell instance"""
def load_plugin(self, plugin_path: str):
"""Load plugin from specified path"""
def unload_plugin(self, plugin_name: str):
"""Unload plugin by name"""
Functions¶
discover_plugins¶
Discover available plugins
def discover_plugins() -> list[str]:
"""Find available plugins in plugin directories"""
validate_plugin¶
Validate plugin metadata
def validate_plugin(plugin: Plugin) -> bool:
"""Validate plugin implementation"""