Skip to main content
Every command supports --format json for machine-readable output. The schemas are versioned: version is 1, and changes within v1 are additive only, so parsers can rely on the fields below. Keys are camelCase, optional fields are omitted when absent, and file paths are relative to root.

roe --format json

The combined run — a bare roe, or roe check — prints a single document rather than three concatenated ones, so stdout stays valid JSON:
Each nested value is byte-for-byte the schema the individual command emits, including its own version and root, so anything already written against roe dead-code --format json can consume deadCode as-is.

roe dead-code --format json

roe dupes --format json

roe health --format json

One finding is emitted per tripped check, so a single method that’s both too complex and too long appears twice. The human report groups those into one entry, and --sort and --limit apply to it alone — JSON is never reordered or truncated.