mcpField
D
dev-browser

dev-browser

github.com/sawyerhoodProductivity6.7k2.5k installsUpdated 1w ago
Repository

About dev-browser

dev-browser is a CLI for developers who need browser automation through short Puppeteer scripts. A warm daemon and persistent named pages let browser sessions carry across runs.

Key features

  1. 01Control Chrome with Puppeteer scripts
  2. 02Keep named pages across runs
  3. 03Capture interactive ARIA snapshots

Use cases

  1. 01Open a page and inspect its structure
  2. 02Locate and click elements from a snapshot

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sawyerhood/dev-browser --skill dev-browser

After installing, type/dev-browserin Claude Code to confirm it loaded.

Details

From the project README

dev-browser

CLI for controlling a real Chrome with short Puppeteer scripts. One warm daemon; named pages persist between runs.

npm install -g dev-browser   # bun add -g dev-browser works too; the first run downloads the binary if the install script was blocked
dev-browser install          # only if the first run says "No Chrome found"

Run dev-browser --help (full guide; dev-browser help <topic> for one section) before non-trivial work. Quick start:

dev-browser <<'EOF'
const page = await browser.getPage("main");        // named page persists across runs
await page.goto("https://example.com");            // default waitUntil: domcontentloaded
await page.snapshot({ interactive: true })         // ARIA tree with refs; last expression is printed
EOF
dev-browser -e 'const p = await browser.getPage("main"); await p.click("ref/e6"); await p.waitForLoad(); p.url()'

Gotchas: end lines with semicolons (a line starting with ( continues the previous one); return an object as ({ a, b }); page.click never waits (use waitForSelector first); page names are per browser (--headless and headed are separate Chromes and profiles); refs reset on navigation — re-snapshot; file paths resolve against your cwd (uploadFile, screenshot/pdf path); do not run parallel dev-browser calls against the same named page.

Comments

Markdown supported