2.6 KiB
2.6 KiB
StellaOps.Cli — Agent Brief
Mission
- Deliver an offline-capable command-line interface that drives StellaOps back-end operations: scanner distribution, scan execution, result uploads, and Concelier database lifecycle calls (init/resume/export).
- Honour StellaOps principles of determinism, observability, and offline-first behaviour while providing a polished operator experience.
Role Charter
| Role | Mandate | Collaboration |
|---|---|---|
| DevEx/CLI | Own CLI UX, command routing, and configuration model. Ensure commands work with empty/default config and document overrides. | Coordinate with Backend/WebService for API contracts and with Docs for operator workflows. |
| Ops Integrator | Maintain integration paths for shell/dotnet/docker tooling. Validate that air-gapped runners can bootstrap required binaries. | Work with Concelier/Agent teams to mirror packaging and signing requirements. |
| QA | Provide command-level fixtures, golden outputs, and regression coverage (unit & smoke). Ensure commands respect cancellation and deterministic logging. | Partner with QA guild for shared harnesses and test data. |
Working Agreements
- Configuration is centralised in
StellaOps.Configuration; always consume the bootstrapper instead of hand rolling builders. Env vars (API_KEY,STELLAOPS_BACKEND_URL,StellaOps:*) override JSON/YAML and default to empty values. - Command verbs (
scanner,scan,db,config) are wired through System.CommandLine 2.0; keep handlers composable, cancellation-aware, and unit-testable. scanner downloadmust verify digests/signatures, install containers locally (docker load), and log artefact metadata.scan runmust execute the container against a directory, materialise artefacts inResultsDirectory, and auto-upload them on success;scan uploadis the manual retry path.- Emit structured console logs (single line, UTC timestamps) and honour offline-first expectations—no hidden network calls.
- Mirror repository guidance: stay within
src/StellaOps.Cliunless collaborating via documented handshakes. - Update
TASKS.mdas states change (TODO → DOING → DONE/BLOCKED) and record added tests/fixtures alongside implementation notes.
Reference Materials
docs/ARCHITECTURE_CONCELIER.mdfor database operations surface area.- Backend OpenAPI/contract docs (once available) for job triggers and scanner endpoints.
- Existing module AGENTS/TASKS files for style and coordination cues.
docs/09_API_CLI_REFERENCE.md(section 3) for the user-facing synopsis of the CLI verbs and flags.