Expand description
Plugin architecture — extensible plugin system for forge-guard.
Plugins can be either:
- Built-in: Rust types implementing the
Plugintrait, registered at compile time. - External: Standalone binaries or scripts that communicate via a JSON IPC protocol (stdin → JSON context, stdout → JSON findings, stderr → logs).
Re-exports§
pub use Plugin as PluginTrait;
Structs§
- Example
Plugin - A built-in example plugin for demonstration and self-testing.
- Offline
Guard Plugin - A built-in “no-op” plugin that warns about missing RPC.
- Plugin
Context - Context passed to plugins during execution.
- Plugin
Execution Result - The result of executing a single plugin.
- Plugin
Execution Stats - Execution statistics for a plugin run.
- Plugin
Info - Metadata about a registered plugin.
- Plugin
IpcFinding - A finding as reported by an external plugin.
- Plugin
IpcInput - JSON message sent to a plugin binary (stdin).
- Plugin
IpcOutput - JSON message expected from a plugin binary (stdout).
- Plugin
Registry - The plugin registry manages plugin discovery, registration, and execution.
Enums§
- Plugin
Type - Whether a plugin is built-in or external.
Traits§
- Plugin
- Core trait that all built-in plugins must implement.
Functions§
- register_
default_ plugins - Register the default set of built-in plugins into a registry.
Type Aliases§
- Plugin
Result - Result from a plugin execution.