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.
- 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.
Pro
$9.99per month
- 25 repositories
- 100 analyses / month
- Check annotations on PRs
- Historical reports
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.