Open source (MIT) · AI agent · 12-line install

Your PR diff → an AI agent → Playwright videos.

An AI agent reads your changed components, generates realistic interaction flows, replays them with Playwright, and posts the videos as a PR comment. 12-line install. No JS SDK. No S3. No infrastructure.

ReactVueNext.jsNuxtAngularSvelteAstroBlazorRazorPhoenixRailsDjangoHTMXPlain HTML
$0.001–$0.005 per PR
MIT licensed
OpenAI or Azure
recordloop — PR #42
PR opened
GitHub Action triggers on pull_request events
Agent reads diff
LLM uses read_file / read_diff / list_files tools
Playwright replay
Generated flows run against your preview URL
PR comment
MP4 videos posted back to the PR automatically

How it works

Three steps.
Twelve lines.

One workflow file, one secret. The agent handles the rest on every PR — $0.001 to $0.005 per run.

01

Add the workflow file

Drop this 12-line YAML into .github/workflows/recordloop.yml. That's the entire install — no pip, no npm, no bridge server. The action handles its own dependencies on the runner.

# .github/workflows/recordloop.yml
name: RecordLoop
on:
  pull_request:
    types: [opened, synchronize, reopened]
permissions:
  pull-requests: write
jobs:
  recordloop:
    runs-on: ubuntu-latest
    if: github.event.pull_request.head.repo.full_name == github.repository
    steps:
      - uses: vihaanshahh/recordloop@v1
        with:
          openai-api-key: ${{ secrets.OPENAI_API_KEY }}
02

Add your OpenAI key as a secret

One secret. That's it. Use the gh CLI or Settings → Secrets and variables → Actions. Azure OpenAI works too if you need compliance-friendly routing.

# one-liner via the gh CLI
gh secret set OPENAI_API_KEY

# or, for a free smoke test with no key:
# set env RECORDLOOP_DRY_RUN=1 on the action
03

Open a PR — get a video comment

On every PR, the agent reads your diff, generates Playwright flows targeted at the changed components, replays them against your preview URL, and posts the MP4s as a comment.

## RecordLoop · PR #42

The agent read 4 changed files and generated 2 flows:

  1. Submit checkout form with new coupon field
  2. Tab through the redesigned settings modal

[watch 01-checkout.mp4] · [watch 02-settings.mp4]

Cost: $0.0024 · Model: gpt-5.4 · 7 iterations

Features

An agent that understands
your PR diff.

12-line install

One workflow file, one secret. `uses: vihaanshahh/recordloop@v1` and you're done. No JS SDK, no bridge server, nothing to commit.

AI reads your diff

An agent loop reads your PR's changed files with tools (read_file, read_diff, list_files) and generates realistic Playwright flows that exercise exactly what changed.

30+ frameworks

Universal file filter covers React, Vue, Svelte, Angular, Astro, Nuxt, Blazor, Razor, Rails ERB, Phoenix, Django, HTMX, plain HTML — anything that ships markup.

Bounded cost

$0.001–$0.005 per PR on gpt-5.4. Agent is hard-capped at 10 iterations, 30 files, 50K input tokens — worst case ~$0.10 even on reasoning models.

Open source (MIT)

Every line of the analyzer, the action, and the agent prompts is auditable on GitHub. MIT licensed. Fork it, self-host it, read it.

Zero infra

Everything runs on the GitHub runner. No JS SDK in your bundle. No bridge server. No S3 bucket. No committed session files. Supports OpenAI and Azure OpenAI.

Pricing

OpenAI cost passthrough.
Nothing else.

RecordLoop is MIT licensed and free forever. You pay your own OpenAI (or Azure OpenAI) bill — roughly $0.001 to $0.005 per PR. No seats, no tiers, no markup.

Free · MIT · BYO LLM key
$0forever
$0.001–$0.005 per PR (your OpenAI cost)
MIT licensed — fork, audit, self-host
No quotas, no rate limits, no seats
Worst-case ~$0.10 per PR via agent caps
OpenAI or Azure OpenAI
Free dry-run mode for CI smoke tests

Need compliance-friendly routing? Point the action at your own Azure OpenAI deployment — your code never leaves your tenant. Read the docs or check the MIT license.

FAQ

Common questions

Twelve lines. One secret. Every PR.

Stop writing UI tests.
Let the agent do it.

Add the workflow file. Set OPENAI_API_KEY. Open a PR. Done.