Skip to content

Static analysis for Pull Requests

Catch code smells before they merge.

MergeTrack runs static analysis on the changed lines of every Pull Request and ranks what it finds by severity.

Get started See how it works
PR #128 · feat/reporting-viewsample output
  • High

    Component spans 318 lines. Split it into smaller, focused components.

    src/Dashboard.tsx:42

  • Medium

    Component has 11 props (max: 7). Group related props into an object.

    src/Filters.tsx:11

  • Medium

    12 inline functions in JSX. Hoist handlers to stable references.

    src/Chart.tsx:64

  • Low

    JSX nests 6 levels deep. Extract the inner branch into a child.

    src/Row.tsx:8


From open to merge, in the same review you already run.

Open a Pull Request

Work the way you already do. MergeTrack hooks into the GitHub PR flow, in CI or as a GitHub App.

It scans the diff

Analysis runs on the lines the PR actually changed, not the whole repository, so the signal stays relevant.

Review ranked findings

Maintainability issues come back grouped by severity, with a concrete suggestion attached to each one.


The checks

Six React maintainability checks, tuned for review.

Each check ships with sensible defaults and is configurable per repository. Findings carry a severity and a concrete suggestion, so a review comment is actionable, not just a warning.

  • Oversized components

    Flags React components that have grown past a healthy line count and should be split into smaller pieces.

  • Too many props

    Catches components taking more than seven props and suggests grouping related ones into a single object.

  • Too many state hooks

    Surfaces components juggling more useState hooks than they can clearly manage.

  • Deeply nested JSX

    Detects JSX nested far enough to hurt readability and points to the branch worth extracting.

  • Inline function overuse

    Points out event handlers defined inline in JSX that could be hoisted to stable references.

  • Mixed responsibilities

    Highlights components handling data, state, and presentation all at once.

6
React checks, configurable per repo
3
Severity levels: High, Medium, Low
Diff
Scope: only the lines a PR changes
0
Source files sent to third parties in MVP mode

Review the change, not the whole codebase.

Most static analysis tools grade your entire repository and bury a Pull Request under thousands of pre-existing warnings. MergeTrack does the opposite. It looks at the diff, scores only what the PR introduces, and leaves the rest of your backlog alone.

Every finding names the file and line, explains the smell in plain language, and offers a concrete way to address it. Severity decides what blocks and what is merely worth noting, so the review conversation stays about this change.

Run it in CI for a fast gate on each push, or install the GitHub App to have results land directly in the review. Repository owners can tune thresholds, mute checks, and keep a history of reports on paid plans.


Pricing

Start free. Grow when your team does.

Free

$0forever

  • 3 repositories
  • 30 analyses / month
  • All 6 React checks
Get started

Team

$29.99per month

  • 100 repositories
  • 1,000 analyses / month
  • Everything in Pro
Get started

Questions, answered.

What does MergeTrack analyze?
React maintainability smells in JSX and TSX, scoped to the lines a Pull Request changes. Six checks today, each configurable per repository.
Does my source code leave my environment?
In MVP mode, no source is uploaded to third-party services. Analysis runs against the PR diff.
How do I run it?
Add it as a step in CI, or install the GitHub App so findings appear in the review automatically.
Can I change the thresholds?
Yes. Repository owners can tune each check, mute the ones they do not want, and set how severity maps to findings.
Is there a free plan?
Yes. Free covers 3 repositories and 30 analyses per month, with all six checks included.

Keep the smells out of main.

Connect a repository and run your first analysis in minutes.

Get started