Skip to main content
Runs all three analyses over the same path and prints each report under its own section header. This is what roe does when you give it no command, so these two are the same thing:
Each section is byte-for-byte what the individual command prints, so nothing is summarized away.

Options

Per-analysis flags — --aggressive, --min-tokens, --max-complexity, and the rest — aren’t accepted here, because they mean nothing to the other two analyses. Set them in a config file — duplicate-analysis settings under dupes, health thresholds under health — which the combined run reads exactly once, or run the individual command when you want to tune one analysis for a single invocation.

Exit code

The combined run exits 1 if any of the three analyses has findings, 0 only when all three are clean, and 2 on error. See exit codes for the full rules.

JSON output

--format json prints a single JSON document rather than three concatenated ones. Each nested field is the same v1 report the individual command emits, so tooling written against roe dead-code --format json can consume deadCode unchanged:
The per-analysis schemas are documented under JSON output. dupes.mode states the mode the run actually used — "semantic" when the config’s dupes block says so.
A mistyped command name lands on the positional PATHroe dupez fails with path not found: dupez plus a hint pointing at roe --help.