virgilhq 0.3.0 — proper triage CLI
First pass at a real terminal triage surface for Virgil, instead of a thin launcher into the web app.
What's new
scan --show {triage|report|surface|ask_virgil}— pick where the CLI lands once the scan finishes. Default istriage(counts → ranked priority panel → next-steps). The raw findings table is no longer printed by default — that'svirgil findings IDnow.virgil clusters/virgil cluster— list every cluster with severity-grouped, color-coded sections; drill into one by key (prefix matches work).virgil finding FINDING_ID— single-finding drill, including the why-flagged trace (scanner + rule, file:line, evidence, cwe/cve refs, code-context note) and the LLM enrichment prose.virgil chat AUDIT_ID— SSE-streamed REPL, one-shot-m, session resume via--session.virgil open AUDIT_ID [--page …] [--print]— launches the web app on the chosen tab.virgil config(show / get / set / unset / path) backed by~/.config/virgil/config.json. Validated values fordefault_fail_onanddefault_post_scan_view.- Global
--json— machine-readable output to stdout, progress UI routed to stderr.virgil --json scan . > scan.jsonpipes cleanly in CI. SARIF was already piping viavirgil report ID --format sarif > findings.sarif.
Fixed
- The CLI read
AI_SEC_AUDIT_APIwhile the docs and README advertisedVIRGIL_API— they now agree (VIRGIL_API).
Install
pipx install virgilhq
# or
pip install virgilhq
The command on your $PATH is still virgil.