Files
git.stella-ops.org/docs/features/unchecked/cli/cli-and-automation-ux.md

38 lines
2.2 KiB
Markdown

# CLI and Automation UX
## Module
Cli
## Status
IMPLEMENTED
## Description
Full CLI with command groups for replay, verdict, air-gap, prove, audit, and feeds operations.
## Implementation Details
- **Entry Point**: `src/Cli/StellaOps.Cli/Program.cs` -- CLI application bootstrap
- **Application**: `src/Cli/StellaOps.Cli/CliApplication.cs` -- command tree assembly and DI configuration
- **Command Factory**: `src/Cli/StellaOps.Cli/Commands/CommandFactory.cs` -- factory for building the full command hierarchy
- **Key Command Groups** (all under `src/Cli/StellaOps.Cli/Commands/`):
- `ReplayCommandGroup.cs` -- `stella replay` for deterministic verdict replay
- `VerdictCommandGroup.cs` -- `stella verdict` for verdict inspection and verification
- `AirGapCommandGroup.cs` -- `stella airgap` for offline/air-gapped operations
- `ProveCommandGroup.cs` -- `stella prove` for proof generation and verification
- `AuditCommandGroup.cs` -- `stella audit` for audit bundle generation
- `FeedsCommandGroup.cs` -- `stella feeds` for advisory feed management (consolidated under `stella config feeds`)
- **Output**: `src/Cli/StellaOps.Cli/Output/` -- output renderer extensions for consistent formatting
- **Configuration**: `src/Cli/StellaOps.Cli/Configuration/` -- CLI configuration and bootstrapping
- **~18 top-level command groups**: scan, release, verify, attest, evidence, policy, vex, reachability, sbom, crypto, config, auth, admin, ci, setup, explain, tools, doctor
## E2E Test Plan
- [ ] Run `stella --help` and verify top-level command groups are listed with descriptions
- [ ] Run `stella replay run <digest>` and verify replay execution with deterministic output
- [ ] Run `stella verdict show <digest>` and verify verdict details displayed
- [ ] Run `stella airgap export` and verify offline bundle creation
- [ ] Run `stella prove generate <digest>` and verify proof generation
- [ ] Run `stella audit bundle <digest>` and verify audit package creation
- [ ] Run `stella config feeds list` and verify feed listing
- [ ] Verify `--format json` works across all command groups for automation
- [ ] Verify `--verbose` flag provides additional output across all commands
- [ ] Verify exit codes follow convention: 0=success, 1=error, 2=block