rrweb-stack is an open-source repository maintained by Cubenest, containing two open-source products built on the same rrweb foundation: tracelane and peek. Both are currently released as npm packages, emphasizing local-first, no SaaS, and no telemetry.
Purpose and Product Positioning
- tracelane: used during the testing phase to generate self-contained HTML test failure replays for WDIO (WebdriverIO), Playwright, and Cypress, which teams and AI agents can read offline.
- peek: used for local-first browser session forensics and reproduction, aimed at AI coding agents, providing session query capabilities through MCP, and able to drive live pages after the user gives explicit per-source consent.
Shared Foundation Both products share @cubenest/rrweb-core, a vendored version of the PostHog rrweb fork, which includes PII redaction primitives, large DOM throttling, screenshot fallback, network and console capture abstractions, compression helpers, and other capabilities. The fork is pinned by SHA, and the underlying NOTICE also notes both the PostHog plugin lineage and the upstream rrweb source.
Usage
- tracelane: initialize in a project with npx @tracelane/cli init, which detects the runner, performs installation, edits wdio.conf.ts, and ignores the reports directory. The tracelane-wdio README is a suitable starting point, and the documentation is at tracelane.cubenest.in.
- peek: requires Node.js >= 22; its native dependency better-sqlite3 only provides prebuilt binaries for Node 22+; on older Node versions (especially Windows, which lacks a C/C++ toolchain by default), installation falls back to compiling from source and fails. The documentation is at peek.cubenest.in. peek's session data is kept in ~/.peek and can be queried by AI coding agents through MCP.
Main Capabilities
- Record authenticated browser sessions, including rrweb DOM, console, and network data, write them to local SQLite, and perform PII redaction.
- peek provides session listing and viewing commands, such as peek sessions list, peek sessions show ... --format markdown, which can output recorded browser sessions as queryable structured content for ease of use by AI.
- peek's live reading and operation tools are controlled by a five-level per-source permission model: 0 off, 1 read-only, 2 suggest-only, 3 execute after confirmation, 4 YOLO; the default level is 1. There is also a blacklist of destructive operations, and such operations will always prompt.
- No telemetry, no cloud, everything stays in ~/.peek.
Applicable Scenarios
- Generate HTML replays that can be shared and read offline when tests fail.
- Let AI coding agents query real browser sessions to reproduce issues and assist with debugging.
- With the user's explicit authorization, let agents perform operations through live pages.
Limitations and Current Status
- The project is pre-1.0, and both packages are in the alpha stage.
- peek only supports Node.js >= 22; installation may fail on older Node versions.
- peek's live read/write is gated by permissions, read-only by default; driving live pages requires explicit per-source consent.
- Information about specific charges, pricing, or additional platform support is not currently provided in the materials.
License and Collaboration The project uses the Apache-2.0 license, and all contributions require DCO sign-off. Security vulnerabilities can be reported through SECURITY.md, and the shared threat model is in docs/SECURITY-NOTES.md. Branch protection is enabled on the repository's main branch (PR + CI + DCO + linear history), workflows use Trusted Publishing OIDC and SLSA provenance, and Renovate runs with a 7-day cooldown period (21 days for the @posthog/rrweb lineage) and config:best-practices. The project accepts support through GitHub Sponsors, and the maintenance cadence is described in docs/SUSTAINABILITY.md.