Hosted Scan Preview

Paste a repo.
See what's breaking.

See what your CI is missing. Install the GitHub Action for automated scanning on every PR, or sign up for the free dashboard to track scan history and findings.

Coming soon
Hosted scan is in private preview. Install the GitHub Action for immediate scanning. Want early access? Run the risk check and we'll reach out.
Sample scan on react-email
As of April 10, 2026, react-email had 245 cross-branch conflicts across 27 active branches.
All 245 findings involved at least one agent-attributed branch (see methodology). They appeared because no tool was watching. Install the GitHub Action on your own repo and every future PR gets scanned automatically. Code never leaves your runners. Free. PR comments are free forever.
Install GitHub Action
curl -fsSL https://rosentic.com/install.sh | bash
Scan results
github.com/resend/react-email  ยท  27 branches  ยท  351 pairs  ยท  11.3s
245
conflicts found
245
agent-authored ๐Ÿค–
0
human-authored ๐Ÿ‘ค
245
agent-attributed findings
cursor/template-rendering-v2 ๐Ÿค– โ†” claude/component-refactor ๐Ÿค–
Function signature mismatch in packages/render/src/render.ts. Cursor branch changed render(component: ReactElement) to render(component: ReactElement, options: RenderOptions). Claude branch is still calling the outdated signature in 7 locations across the components directory.
cursor/tailwind-config ๐Ÿค– โ†” copilot/component-props ๐Ÿค–
Prop type collision in packages/tailwind/src/tailwind.tsx. Both agents added conflicting prop definitions for TailwindProps.config with incompatible shape. Cursor expects TailwindConfig, Copilot expects Partial<TailwindConfig>.
claude/email-preview-api ๐Ÿค– โ†” cursor/preview-server ๐Ÿค–
HTTP route drift in packages/preview/src/server.ts. Claude branch added required query param templateId to GET /api/preview. Four callers in the preview-server branch are still using the old route shape without the parameter.
cursor/render-async ๐Ÿค– โ†” main ๐Ÿ‘ค
Return type drift in packages/render/src/render-async.ts. Cursor branch changed renderAsync from returning Promise<string> to Promise<RenderResult>. Three consumers in main are destructuring the string return and would break on merge.
About this scan This is a scan snapshot from react-email, captured on April 10, 2026. At that time, 27 active branches were compared across 351 pairs using tree-sitter AST analysis. The 245 conflicts shown were structural incompatibilities detected between the then-active branches. Branch sets change as PRs merge; this was a point-in-time snapshot, not a live figure. All findings involved at least one agent-attributed branch (Cursor, Claude, Copilot), verified through branch name patterns, commit author signatures, and Co-authored-by trailers. Full methodology and false-positive history โ†’