> ## Documentation Index
> Fetch the complete documentation index at: https://roe.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Codebase intelligence for C#: find dead code, duplicated code, and health issues with static analysis.

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.

```text theme={null}
$ roe path/to/solution

── dead-code ───────────────────────────────────────────────

src/App/Services/LegacyExporter.cs (App)
      1:1  dead file      every declaration in this file is unused

src/App/Billing/InvoiceService.cs (App)
    88:17  unused member  App.Billing.InvoiceService.RecalculateAll (private method)

found 1 dead file · 0 unused types · 1 unused member — 3 project(s), 214 file(s), 2610 symbol(s) scanned in 74 ms

── dupes ───────────────────────────────────────────────────

2 occurrences (103 tokens, 23 lines)
  src/App/Billing/PaymentService.cs:15:5-37:2
  src/App/Shipping/ShippingService.cs:15:5-37:2

found 1 duplicate group · 46 duplicated lines — 3 project(s), 214 file(s) scanned in 31 ms

── health ──────────────────────────────────────────────────

✓ no health issues found · 3 project(s), 214 file(s) scanned in 68 ms
```

## 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.

<CardGroup cols={2}>
  <Card title="roe check" icon="list-check" href="/commands/check">
    All three analyses over the same path — what a bare `roe` runs, and the
    one-line gate for CI.
  </Card>

  <Card title="roe dead-code" icon="skull" href="/commands/dead-code">
    Find unused types, members, and files by tracing reachability from your
    solution's entry points.
  </Card>

  <Card title="roe dupes" icon="clone" href="/commands/dupes">
    Find copy-pasted — and optionally copy-pasted-and-renamed — blocks of
    code across your solution.
  </Card>

  <Card title="roe health" icon="heart-pulse" href="/commands/health">
    Flag complex, oversized, and circularly dependent code, and rank the
    files that change most often.
  </Card>
</CardGroup>

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

<CardGroup cols={2}>
  <Card title="Installation" icon="download" href="/installation">
    Install roe with the .NET SDK, npm, or a prebuilt binary.
  </Card>

  <Card title="Quickstart" icon="bolt" href="/quickstart">
    Run your first dead-code, duplicate, and health scan in two minutes.
  </Card>
</CardGroup>

roe is open source under the MIT license — the code lives at
[github.com/Artmann/roe](https://github.com/Artmann/roe).
