Files
git.stella-ops.org/docs/features/unchecked/cli/cli-plugin-module-loading-architecture.md

1.3 KiB

CLI Plugin Module Loading Architecture

Module

Cli

Status

IMPLEMENTED

Description

Plugin-based module loading for CLI commands, enabling extensible command registration and routing.

Implementation Details

  • Plugin System: src/Cli/StellaOps.Cli/Plugins/ -- plugin loading infrastructure
  • Plugin Directory: src/Cli/plugins/ -- plugin module implementations
  • Plugin Guard: src/Cli/__Tests/StellaOps.Cli.Tests/Plugins/RestartOnlyCliPluginGuardTests.cs -- plugin security guard
  • Module Loader: src/Cli/__Tests/StellaOps.Cli.Tests/Plugins/CliCommandModuleLoaderTests.cs -- module loader tests
  • Architecture:
    • ICliCommandModule interface defines plugin contract
    • Dynamic module loader discovers and loads plugin assemblies
    • Plugins register commands into the CLI command tree
    • Restart-only guard prevents hot-loading for security
  • Built-in plugins: VEX, verdict, timestamp, symbols, AOC, delta signatures

E2E Test Plan

  • Verify built-in plugin modules are loaded at startup
  • Verify plugin commands appear in stella --help output
  • Verify plugin command execution works correctly
  • Verify restart-only guard prevents unauthorized plugin loading
  • Verify missing plugin gracefully reports error without crashing
  • Verify plugin loading order is deterministic