31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# 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
|