Get started

// Product

Source attribution

How tickets carry a suspected file:line out of the box, and two optional ways to make it exact in production.

When a ticket lands, Rebase tries to answer "where is this bug in the code?" and writes the result — a suspected source location like src/components/Checkout.tsx:142 in handleSubmit — into the ticket, into any tracker issue it creates, and into what coding agents read over MCP.

What works with zero setup

Out of the box, Rebase combines three signals:

  • Stack traces, symbolicated server-side against your bundle's sourcemap when one is publicly reachable — a sourceMappingURL= comment or a SourceMap header on the bundle URL.
  • Your connected GitHub repository (if the GitHub integration is on): captured paths, component names, data-testid values, element ids and button text are matched against the repo tree to produce commit-pinned file and line permalinks.
  • Framework internals where they survive production: React component names, Vue component files, Svelte dev metadata.

Attribution is best-effort by design. When neither a sourcemap nor a repo match is available, the ticket simply ships without the section — everything else is unaffected.

Making it exact in production

Both options are optional; either one sharpens attribution to file-and-line precision.

Option 1 — publish your sourcemaps

Serve your sourcemaps where the Rebase symbolicator can fetch them over HTTPS (public, or behind your CDN). Rebase fetches the bundle named in the stack frame, follows its sourceMappingURL, and caches the result — your map is probed at most once a day per bundle.

This is also what Detected issues uses: recurring errors get symbolicated stacks from their second occurrence.

Option 2 — emit source hints at build time

Stamp data-* attributes on your components' root elements. They survive minification and need no public sourcemaps. Rebase reads, on the element or any ancestor:

AttributeValue
data-rb-source (or data-source)path/from/repo/root.tsx:line — a column suffix is accepted too.
data-rb-component (or data-component)A component name.
data-sentry-componentUnderstood as-is if you already use Sentry's bundler plugins.

In development you often get this for free: React's classic JSX transform in development mode and Svelte's dev mode already emit the metadata. For production, any small bundler plugin that stamps data-rb-source on component roots is enough.

Where the suspicion shows up

  • On the ticket, as the suspected source line in the Debug view.
  • In the body of the GitHub, Linear, Jira or Asana issue Rebase files.
  • In get_ticket responses over MCP — so an agent starts at the right file instead of grepping.