Commit Graph

73 Commits

Author SHA1 Message Date
Tommy D. Rossi 2a2f21dd7b docs: use single quotes in all bash examples to prevent shell expansion
All `-e` arguments in bash examples now use single quotes instead of double
quotes. This prevents bash from interpreting `$`, backticks, and backslashes
inside JS code — a major pain point for agents that construct playwriter
commands programmatically.

Changes across skill docs, README, and website copies:

- **Single quotes for one-liners**: `playwriter -s 1 -e 'await page.goto("...")'`
- **Heredoc preferred for multiline**: `<<'EOF'` disables all bash expansion
- **Quoting rules summary**: explains when to use single quotes vs heredoc vs `$'...'`
- **Rewrote mistake #6**: now explains *why* double quotes break (bash `$` expansion
  silently corrupts regex like `/\$[\d.]+/` and template literals)
- **Added locator-scoped snapshot section**: shows `snapshot({ locator: page.locator("main") })`
  which dramatically reduces output size from ~150 lines to ~20 lines by snapshotting
  only a subtree instead of the full page
- **Added single-quote tip** to README quick start and SKILL.md stub

The locator-scoped snapshot feature already existed but wasn't documented.
Discovered during real-world Cloudflare dashboard automation where full page
snapshots were dominated by 60+ sidebar navigation links.
2026-02-28 14:03:34 +01:00
Tommy D. Rossi 6b71fc5351 add Playwright CLI comparison table to website and README
Closes #57

Highlights key differences: Playwriter uses your existing Chrome
(logins, extensions, cookies), can bypass captchas by disconnecting
the extension, lets you collaborate in the same browser window,
and gives full Playwright API + raw CDP access instead of a limited
shell command set.
2026-02-27 22:41:17 +01:00
Tommy D. Rossi 5173526475 docs: clarify Playwright video recording overhead
Add a README note that Playwright video recording sends base64 images for every frame while documenting Playwriter's claimed 100x efficiency.
2026-02-25 18:00:20 +01:00
Tommy D. Rossi f87b0243cd format 2026-02-22 15:21:38 +01:00
Tommy D. Rossi e475c2f582 readme: lead with 'uses your own Chrome' differentiator
The main selling point — using your actual Chrome session instead of
spawning a fresh browser — was buried in comparison tables halfway down.

Rewrote the tagline to highlight this upfront, added a short hero
paragraph explaining why fresh Chrome is a problem, and moved the
vs Playwright MCP comparison table to the top of the page.
2026-02-21 20:00:37 +01:00
Tommy D. Rossi 539aeaac91 rename accessibilitySnapshot to snapshot for shorter agent usage
The function is now exposed as `snapshot()` in the executor sandbox scope.
`accessibilitySnapshot` remains as a backward-compatible alias pointing to
the same function, so existing agents and saved commands continue to work.

Updated all code examples across skill.md, README, PLAYWRITER_AGENTS,
docs, tests, and the extension welcome page to use the shorter name.
2026-02-18 17:13:57 +01:00
Tommy D. Rossi fa68e33a78 feat: support HTTPS URLs in PLAYWRITER_HOST + remote access guide
PLAYWRITER_HOST now accepts full URLs like `https://x-tunnel.traforo.dev`
in addition to plain hostnames. Previously it always constructed
`http://${host}:19988` which broke when using traforo tunnels (HTTPS on
port 443).

Added `parseRelayHost()` utility that detects URL protocols and returns
correct HTTP/WebSocket base URLs. Updated all consumers:
- cli.ts: getServerUrl()
- mcp.ts: getLogServerUrl(), checkRemoteServer()
- executor.ts: checkExtensionStatus()
- utils.ts: getCdpUrl() (ws:// → wss:// for HTTPS hosts)

Plain hostnames still work as before (appends :19988).

Added docs/remote-access.md covering:
- Architecture: playwriter serve + traforo tunnel through Cloudflare
- Host and remote machine setup with env vars
- Use cases: remote Mac mini, user support, multi-machine, VM/devcontainer
- Security model: non-guessable URLs, token auth, localhost-only extension
  endpoint, no open ports, visible automation, instant revocation
2026-02-14 16:31:04 +01:00
Tommy D. Rossi 8ffaa9333b Add GitHub Sponsors funding option
- Create .github/FUNDING.yml to enable Sponsor button in repo sidebar
- Add Support section to README with sponsor link

Closes #46
2026-02-11 20:36:05 +01:00
Tommy D. Rossi d6adb460d5 fix: move log dir from /tmp/playwriter to ~/.playwriter (fixes #44) 2026-02-06 10:44:28 +01:00
Tommy D. Rossi a64fc2d8a0 add cdp jsonl logging and update log docs 2026-01-26 13:28:18 +01:00
Tommy D. Rossi 28f5734b31 Remove remote agent mention from MCP section 2026-01-25 12:09:42 +01:00
Tommy D. Rossi 2cb3a95e52 Note CLI + skill is preferred in MCP section 2026-01-25 12:01:43 +01:00
Tommy D. Rossi 5a5531c3cd Update README CLI step text 2026-01-25 12:00:33 +01:00
Tommy D. Rossi 5a5266b687 Add CLI quick start step to README installation 2026-01-25 11:58:36 +01:00
Tommy D. Rossi 5469af0d30 Add playwriter logfile command and fix documentation paths 2026-01-24 18:31:33 +01:00
Tommy D. Rossi a12b3737e2 docs: simplify editor example with hardcoded URL 2026-01-24 15:26:21 +01:00
Tommy D. Rossi d64229c1ab docs: fix editor example to use grep and proper URL/string format 2026-01-24 15:25:09 +01:00
Tommy D. Rossi 157c3a62d6 docs: add sandbox variables explanation to Examples 2026-01-24 15:23:31 +01:00
Tommy D. Rossi ab113914cd docs: use waitForResponse instead of networkidle 2026-01-24 15:21:34 +01:00
Tommy D. Rossi 2d060a6c59 docs: simplify examples by removing redundant -s flag 2026-01-24 15:21:15 +01:00
Tommy D. Rossi 6f19ec6b29 docs: use waitForLoadState instead of waitForTimeout 2026-01-24 15:20:07 +01:00
Tommy D. Rossi 7d8ab09f70 docs: add examples section, fix state usage, move Playwright API to bottom 2026-01-24 15:18:10 +01:00
Tommy D. Rossi e9ea0061bd docs: clarify session is stateful sandbox 2026-01-24 15:14:48 +01:00
Tommy D. Rossi 38b1b6d3ed docs: improve session isolation, extract MCP to separate file, add remote CLI 2026-01-24 15:10:53 +01:00
Tommy D. Rossi 43ff16d941 Update README.md 2026-01-24 14:28:45 +01:00
Tommy D. Rossi c8e0022790 update readme. show usage with cli first 2026-01-24 14:22:16 +01:00
Tommy D. Rossi d444079e9f use my own install-mcp lib 2026-01-20 14:25:02 +01:00
Tommy D. Rossi 495035ccef fix: sharp fallback with viewport clipping when unavailable 2026-01-19 14:07:01 +01:00
Tommy D. Rossi 68f5896ab6 Update README.md 2026-01-15 16:50:11 +01:00
Tommy D. Rossi e6d9cfe5e4 docs: clarify WebSocket security uses Origin validation, not CORS 2026-01-14 12:09:32 +01:00
Tommy D. Rossi 481cb4ddc8 feat: add CDP discovery endpoints (/json/version, /json/list)
Standard Chrome DevTools Protocol HTTP discovery endpoints that allow
tools like Playwright to connect using just the HTTP URL without needing
to call getCdpUrl() first.

- /json/version returns browser info and webSocketDebuggerUrl
- /json/list returns array of connected targets
- Supports GET/PUT methods and trailing slashes for compatibility
2026-01-12 17:16:20 +01:00
Tommy D. Rossi 85ff79726d Update README.md 2026-01-07 14:15:59 +01:00
Tommy D. Rossi d7056292cd format 2026-01-06 12:32:32 +01:00
Tommy D. Rossi 9c1eadb536 Update README.md 2026-01-06 12:32:28 +01:00
Tommy D. Rossi c456a5101c docs: mark right-click copy and auto enable env as unreleased 2026-01-06 10:46:40 +01:00
Tommy D. Rossi 09a363d2dc screenshotWithAccessibilityLabels 2026-01-05 10:11:36 +01:00
Tommy D. Rossi 6feb459c1e docs: improve remote agents section with MCP JSON examples 2026-01-04 21:37:28 +01:00
Tommy D. Rossi b06425cbe8 add comparison vs Claude Code browser extension 2026-01-03 19:56:36 +01:00
Tommy D. Rossi 1ad94f3930 release: playwriter@0.0.39, extension@0.0.66
- fix icon not updating on WS disconnect
- increase aria-labels auto-hide timeout to 30s
2026-01-03 17:38:28 +01:00
Tommy D. Rossi d889cea6b1 add showAriaRefLabels/hideAriaRefLabels to MCP context
- Functions available in execute tool context
- Auto-hide labels after 5 seconds to prevent stale overlays
- Updated README with MCP usage example
- Example saves screenshot to /tmp
2026-01-03 15:56:31 +01:00
Tommy D. Rossi d4072d41b6 document showAriaRefLabels feature in README 2026-01-03 15:52:02 +01:00
Tommy D. Rossi 90179dea17 handle connecting ws 2026-01-01 03:12:30 +01:00
Tommy D. Rossi 8604d06e7f Update README.md 2025-12-30 14:30:52 +01:00
Tommy D. Rossi aca26896b4 Update README.md 2025-12-30 14:28:02 +01:00
Tommy D. Rossi 87ad30283b Update README.md 2025-12-30 12:53:56 +01:00
Tommy D. Rossi eb62f6223a allow changing port and host via options and env 2025-12-28 19:01:08 +01:00
Tommy D. Rossi 30a2f6ea4f Update README.md 2025-12-27 20:10:53 +01:00
Tommy D. Rossi e4695e231d add support for remote agent in different host than extension. add
support for editing css.
2025-12-27 18:48:52 +01:00
Tommy D. Rossi d341e80270 ready to use baby 2025-12-13 18:05:50 +01:00
Tommy D. Rossi b60ecdd2c1 layout shift 2025-11-25 19:37:33 +01:00