Skip to main content
roe finds dead code — unused types, members, and files — duplicated code, and code that’s grown too complex or too tangled in C# solutions, so you can delete what’s unused, de-duplicate what’s copy-pasted, and untangle what’s become hard to work with. Static analysis only; roe never runs the code it analyzes.

Three analyses, one command

Run roe with no command and you get all three at once. Each analysis is also its own command when you want to focus on one, or tune its thresholds.

roe check

All three analyses over the same path — what a bare roe runs, and the one-line gate for CI.

roe dead-code

Find unused types, members, and files by tracing reachability from your solution’s entry points.

roe dupes

Find copy-pasted — and optionally copy-pasted-and-renamed — blocks of code across your solution.

roe health

Flag complex, oversized, and circularly dependent code, and rank the files that change most often.
Every command accepts a path to a directory, a .sln file, or a .csproj file, works on codebases that don’t compile, and is tuned so that when in doubt, code is marked used — a missed finding is cheap, a wrong one is a bug.

Get started

Installation

Install roe with the .NET SDK, npm, or a prebuilt binary.

Quickstart

Run your first dead-code, duplicate, and health scan in two minutes.
roe is open source under the MIT license — the code lives at github.com/Artmann/roe.