Seventeen phases, one command
Every run ends with a headless load of each route, a count of every failed request, and a readiness score. A clone that still has dead references does not pass.
Raw HTTP. Fastest, and higher structural fidelity on SSR sites.
Playwright. For SPA shells and anti-bot CDNs.
Components and named slots, backed by your database. No frozen HTML.
Concurrent fetches with content dedupe and WebP optimisation.
Run the whole pipeline, or any single stage, against any origin.
xray capture <url>
xray refine <in> <out>
xray wire --site <slug>
xray verify --strict
xray deploy --prod
Every url(), sprite, webfont and image ref is rewritten to a local path.
Menus and modals are recorded as DOM diffs and replayed in the clone.
A failed stage names the exact command to resume from.
A capture already on disk is reused unless you ask for a fresh one.
Behind every clone is a regression-tested pipeline — every asset-loss bug found in the wild becomes a test before the fix ships.
Concurrent downloads with dedupe. A 250-asset site captures in minutes.
One URL and a slug. Everything else has a sane default.
The output is a plain Astro project. XRA is not in the request path.
Row-level security scopes every query to its own site.
The dashboard streams each stage of a capture — assets resolved, routes rebuilt, dead references found — so a bad clone is obvious before it ships, not after.
Rebuild a site, own the code, and hand it to a client in one command. Ship a rebuilt site in hours, not sprints .