Skip to main content

Module plugins

Module plugins 

Source
Expand description

Plugin system for Ralph (runners + task processors).

Responsibilities:

  • Define plugin manifest contracts and validation.
  • Discover plugin packages from global + project plugin directories.
  • Provide a registry for resolving enabled plugins, runner binaries, and processor hooks.

Not handled here:

  • CLI Clap argument definitions (see crate::cli::plugin).
  • Execution-phase orchestration (see crate::commands::run).
  • Streaming JSON parsing (see crate::runner::execution::process).

Invariants/assumptions:

  • Plugins are discovered from:
    • Global: ~/.config/ralph/plugins/<plugin_id>/plugin.json
    • Project: .ralph/plugins/<plugin_id>/plugin.json
  • Project plugins override global plugins of the same id.
  • Plugins are disabled unless enabled in config.
  • Plugin executables are NOT sandboxed by Ralph; enabling a plugin is equivalent to trusting it.