Skip to content

Install

Source README.md · versioncam 0.5.3 from npm

Three commands, then one sentence to your agent:

Terminal window
npm i -D versioncam
npx versioncam install # the Chromium this version records with
npx versioncam init # the authoring skill, into .claude/
Claude Code
/versioncam "Show a user filtering the list down to one shipment"

The first run of the skill sets the repository up. It writes versioncam.config.ts from what it finds, proves the app starts and records the same way twice, and only then writes the clip. See Authoring.

In a monorepo, run all three in the app’s own directory. The skill goes there, and so does the config its first run writes.

npx versioncam doctor checks the rest: Node 22 or later, Chromium, ffmpeg, your config and the scenes module it names, if any, and whether the app starts. ffmpeg and ffprobe come from the system (brew install ffmpeg, apt install ffmpeg). The optional ffmpeg-static package covers a machine that has neither, but it has no ffprobe. versioncam is tested on macOS and Linux. Windows is untested.

Use versioncam install, not npx playwright install. versioncam pins its Playwright exactly, because a new Chromium changes every captured pixel. Your app may have a Playwright of its own at another version, and npx playwright install fetches that one’s Chromium.

versioncam install fetches the headless shell, the Chromium that records: 190 MB on a Mac. login and preview open a window, which needs the full browser, 340 MB more; they fetch it the first time they run, or npx versioncam install --full fetches both now, for a machine that will be offline then.

The same install, then check. It records every clip and fails the job on the first one that no longer matches the app.

- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm ci
- run: npx versioncam install --with-deps
- run: npx versioncam check

check records and does not render, so it needs no ffmpeg. A job that also runs render adds sudo apt-get install -y ffmpeg.

Two runs on one runner image produce the same bytes. To pin everything the pixels depend on (the browser build, the fonts, the system libraries), run the job in the Playwright image for the version versioncam pins, mcr.microsoft.com/playwright:v1.59.1-noble. Chromium and its libraries are already installed there.