v62

Zero-loss asset capture

Clone any site into a codebase you own

XRA captures a live website and rebuilds it as an editable Astro project — real components, content slots, an admin panel and a deploy target. Not a screenshot, not a frozen HTML dump.

One command
xra session
Rebuild allonelabs.com
Capture — 8 routes, 16 assets
Refine — Astro components and slots
Wire — database and admin panel
Verify — 0 dead references
Deploy — live
allonelabs.com
allonelabs.com rebuilt by XRA
Running in production across every site in the factory
Equivalenza Produx Nothin Relevant AllOne
See the factory

URL in. Codebase out. In one command.

Static sitesraw HTTP engine
$ xray capture https://site.com
GET / 200 14 ms
GET /about 200 9 ms
GET /styles.css 200 21 ms
engine: static · no browser
SPA shellsPlaywright engine
engine: playwright
launch chromium
waitUntil networkidle
DOM settled · 1 240 nodes
shell hydrated before capture
Anti-bot CDNssession baking
GET / 403 bot challenge
bake session →
cookies stored 4
GET / 200 retry
challenge cleared once, reused
Authed pageslogin + saved auth
--login you@site.com:••••••
signed in
auth state → auth.json
GET /account 200
re-runs reuse the session
Sprites and iconsuse-ref extraction
<use href="/sprite.svg#pin">
scan → resolve → copy
sprite.svg copied
12 symbols referenced
0 broken icon refs
Lazy imagesdata-src promotion
data-src="/hero.avif"
promote →
src="/hero.avif"
loader class stripped
images render without JS
Interactionsrecord and replay
click [aria-label="Menu"]
body diff recorded 1.8 KB
kind: toggle
replayed on click
works with the JS stripped
Menus and modalsdiff replay
dropdown toggle
modal reveal
mega-menu hover
outside-click and Esc close
SEO and JSON-LDpreserved verbatim
"@type": "Product"
origin JSON-LD kept verbatim
sitemap regenerated
canonical points at the new host
Webfontsrebased and copied
url(../media/Suisse.woff2)
rebase →
url(/media/Suisse.woff2)
11 woff2 copied
Many sitesone database
site_id equivalenza
site_id produx
site_id nothin
one postgres · RLS per tenant

A capture pipeline, not a scraper.

A naive scraper saves the HTML and loses everything the browser resolved. XRA runs seventeen phases over the page so what ships is what shipped .

Editable output

Real Astro components with named content slots — not one minified file you are afraid to touch.

Two capture engines

Raw HTTP for static and SSR sites. Playwright for SPA shells and anti-bot CDNs. Chosen automatically.

Asset integrity

Every url(), sprite, webfont and image ref is resolved, downloaded and rewritten. Dead references are counted, not ignored.

Admin panel included

Copy, media and theme are editable from a CMS wired to your own database. Hand it to a client.

SEO preserved

Product and Article JSON-LD are kept verbatim. Sitemap, robots and canonicals are regenerated for the new origin.

Interaction record-replay

Menus, dropdowns and modals are recorded at capture and replayed in the clone — they keep working after the JS is stripped.

Prod uction clones, ready to ship.

XRA turns a reference site into a working codebase in an afternoon — so the work left is design and content , not rebuilding the layout .

Ship in hours, not sprints

A full marketing site captured, rebuilt and deployed the same afternoon.

Own the output

Plain Astro in your repo. XRA is not in the request path and nothing phones home.

Hand it to a client

The admin panel lets non-developers edit copy, media and theme without touching the repo.

One database, many sites

Tenants share one Postgres and stay isolated by row-level security.

Fidelity is the whole product.

Origin
Clone

Output you would have written yourself.

Every page comes back as readable Astro components with named content slots and a typed site config .

Read the docs
Browse the factory
Marc
Marc 2h ago

@ XRA Did the Suisse webfont family survive the refine pass? cc @ Alicia

AI agent
Verify stage 1h ago

11 woff2 copied, 0 dead references across 4 routes.

Alicia
Alicia now

Ship it.

Reply…

import { useThreads } from "xra/client";import { Thread } from "xra/ui";
function CommentThreads() { const { threads } = useThreads();
return ( <> {threads.map((thread) => ( <Thread key={thread.id} thread={thread} className="thread" /> ))} </> );}

Verified, not asserted.

Every clone ends with a validation pass that loads each route headless, counts every failed request, and scores the build before you are allowed to call it done.

XRA

This page is itself a clone. It was captured from a live product site, rebuilt as Astro components, reskinned, and deployed — in a single session.

Teddy Ni Built with XRA Capture to production in one afternoon

Parallel capture

Concurrent downloads with content dedupe and WebP optimisation. A 250-asset site captures in minutes.

One command

xray <url> --site <slug> runs capture, refine, wire and deploy end to end.

No runtime lock-in

The output is a plain Astro project. Delete XRA tomorrow and the site keeps serving.

Isolated tenants

Row-level security scopes every query to its own site, audited after each migration.

0 dead references
Astro 5 Output format
Supabase Data layer

Priced per clone, not per seat.

Every plan produces the same output: a plain Astro project you own. The tiers only change how many you can run and where they deploy.

Free
$0 forever

One clone a month. Enough to see the output before you pay for it.

  • 1 clone per month
  • Full 17-phase capture
  • Astro source export
  • Community support
Start cloning
Solo
$29 per month

For one developer rebuilding sites for a handful of clients.

  • 5 clones per month
  • Admin panel and content slots
  • Your own database
  • Deploy to your Vercel account
Start cloning
Most picked Studio
$100 per month

25 sites a month — four dollars a clone. The tier most studios land on.

  • 25 clones per month
  • Multi-tenant factory, one database
  • Chat and analytics modules
  • Interaction record-replay
  • Priority capture queue
Start cloning
Agency
$400 per month

Volume rebuilds, on your own infrastructure if you want it.

  • 150 clones per month
  • Self-hosted pipeline
  • SSO and audit log
  • Support with an SLA
Talk to us

A clone is one origin captured and rebuilt. Re-running the pipeline on a site you already cloned does not count again.

Point XRA at a URL and get the codebase back

Start cloning
Talk to us