routeplay

A command-line tool for checking that a page delivers the right content and metadata however you reach it. It compares the HTML your server sends, a fresh browser load and the result of clicking through from another page.

DownloadVersion 0.4.0
routeplay

About routeplay

You click a link, the page opens, everything looks fine. Then you refresh it and something breaks. Or the content changes correctly, but the title and canonical URL still belong to the previous page. Exactly the sort of thing you miss after spending an hour clicking around inside the same app.

RoutePlay turns those checks into something repeatable. Give it a few important journeys—category to article, listing to product, one language to another—and it follows real links in Chromium, then compares what it finds with a direct visit and the original server response.

It checks page titles, descriptions, canonical URLs, indexing directives, headings, main content, internal links and structured data. Browser errors and failed requests are recorded too, so you have more to work with than “this route looks a bit wrong.”

You can also tell it what a page is supposed to contain: a particular title, heading, piece of text or link. That matters because three versions of a page can agree with each other and still all be wrong.

When a check fails, it can save screenshots, captured HTML and browser error details. Useful when something breaks in CI and behaves perfectly the moment you try it yourself.

It’s written in TypeScript and uses Playwright. It works through HTTP requests and browser interactions, so you can use it to check sites built with Next.js, Nuxt, Astro and other frameworks. Run it locally while fixing a route, or keep a small set of important navigation checks in your release workflow.

Release history

Version 0.4.0

Added

  • Added optional failure artifacts with per-surface DOM, full-page screenshots, and runtime/HTTP evidence, using index-prefixed transition directories and retaining the final failing attempt.
  • Added configurable transition concurrency (18) and retries (03), with matching CLI flags and configured result order preserved.
  • Added run settings, attempt counts, and artifact paths to reports, plus failure artifact uploads in the CI example.

Changed

  • Replaced repeated HTML serialization and parsing during stability polling with an in-page semantic signature. Final report extraction remains unchanged, and sampling does not invoke custom-element constructors.
  • Transition durations include all retry attempts. Artifact write failures wait for active workers to finish before returning.

Fixed

  • Retained available evidence for early navigation failures, replaced stale files when reusing a failing transition's artifact directory, and kept passing runs from creating artifact directories.
  • Redacted HTML-escaped credentials in artifact text and rejected empty artifact directory overrides.

External download

Download 0.4.0
Version 0.3.0

Added

  • Added optional per-transition route contracts for exact title, description, canonical, H1, and robots expectations across server HTML, cold loads, and in-app navigation.
  • Added required JSON-LD type, main-content text, and crawlable-link checks with compact per-surface evidence in every report format.

External download

Download 0.3.0
Version 0.2.0

Added

  • Added routeplay validate for checking configuration without launching Chromium.

Changed

  • Migrated npm releases to Trusted Publishing with GitHub Actions OIDC, removing the long-lived registry token.

External download

Download 0.2.0
Version 0.1.3

Fixed

  • Report rejected npm publishing credentials with the exact token requirements needed for first-time package publication.

0.1.2 - 2026-08-22

Fixed

  • Verify npm authentication before publishing and target the public npm registry explicitly.

0.1.1 - 2026-08-22

Fixed

  • Kept the TypeScript toolchain compatible with the current tsup declaration build so automated dependency updates cannot break packaging.
  • Updated GitHub Actions runners to the current Node.js 24-based action releases.

0.1.0 - 2026-08-21

Added

  • Raw server, cold Chromium, and real-anchor transition captures.
  • Semantic parity rules for URL, metadata, H1, main text, links, and JSON-LD.
  • Browser page, console, request, and HTTP diagnostics.
  • Client/document navigation detection.
  • Strict JSON configuration with environment-backed origin-scoped headers.
  • Terminal, JSON, self-contained HTML, and SARIF reports.
  • Stable exit codes, init, doctor, and matching-Chromium install commands.
  • CI, Docker, framework guidance, synthetic browser fixtures, and package validation.

External download

Download 0.1.3