Overview
Vibgrate supports four output formats. Each serves a different audience and integration point.
Text (Default)
The default output. A colored, human-readable report showing:
- Overall drift score and risk level
- Score component breakdown with visual bars
- Per-project details: runtime lag, framework versions, dependency distribution
- Findings with severity icons
vibgrate scan .
# or explicitly:
vibgrate scan . --format text
Best for: Local development, quick checks, terminal dashboards.
JSON Artifact
The full scan artifact in JSON format. Contains all raw data, scores, findings, and VCS metadata. Stable schema (schemaVersion: "1.0").
vibgrate scan . --format json --out scan.json
Best for: Automation, custom dashboards, CI pipelines, programmatic consumption.
This is the same artifact saved to .vibgrate/scan_result.json.
SARIF
Static Analysis Results Interchange Format — compatible with:
- GitHub Code Scanning — findings appear inline in PRs
- Azure DevOps — publish as build artifacts
- VS Code SARIF Viewer — view results locally
vibgrate scan . --format sarif --out vibgrate.sarif
Best for: CI integration, code review workflows, security tooling interop.
SARIF output contains findings only (not all metrics).
Markdown
A clean Markdown report suitable for:
- PR comments
- Wiki pages
- Documentation
- Email distribution (as rendered HTML)
vibgrate scan . --format md --out report.md
Best for: Human stakeholders, documentation, audit trails.
Combining Formats
You can run the scan once and use vibgrate report to produce additional formats from the saved artifact:
# Run scan (saves .vibgrate/scan_result.json)
vibgrate scan .
# Generate additional formats
vibgrate report --format md
vibgrate report --format json
This avoids re-scanning when you need multiple output formats.