{"_id":"@clipboard-health/scout-cli","_rev":"4-7aa03f8dbff1ee003f24ea61d3daf8e6","name":"@clipboard-health/scout-cli","dist-tags":{"latest":"0.4.8"},"versions":{"0.4.5":{"name":"@clipboard-health/scout-cli","version":"0.4.5","keywords":["browser-automation","qa","playwright","ai-agent","testing","claude","cli","session-recording"],"license":"MIT","_id":"@clipboard-health/scout-cli@0.4.5","maintainers":[{"name":"mikecookcbh","email":"mike.cook@clipboardhealth.com"},{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},{"name":"user_engineer","email":"user_engineer@clipboardhealth.com"},{"name":"clipboard_engineering","email":"shared.engineer+npm@clipboardhealth.com"}],"homepage":"https://github.com/ClipboardHealth/scout#readme","bugs":{"url":"https://github.com/ClipboardHealth/scout/issues"},"nx":{"name":"scout-cli"},"bin":{"scout":"dist/cli.js"},"dist":{"shasum":"45ac77392e2909c0cd9290d78e37e8bd446eb7bd","tarball":"https://registry.npmjs.org/@clipboard-health/scout-cli/-/scout-cli-0.4.5.tgz","fileCount":15,"integrity":"sha512-Znt9HRwcePH+amuJBOn6bwKF66kN4nF8vdm+C1mSNNzOqYK3UZZaVXS370zstEmZ7PoCNdNS+rjuU8pe1SVCUg==","signatures":[{"sig":"MEQCIE5CTNMuW5q3vudYHslIy6LvBgQt21zrIrKfeYTWdPkmAiBVsDBWiRlRbcVytsFOOWR4RRpuKQrbl9gkoUYdKrZ44A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4884031},"type":"module","engines":{"node":">=20"},"gitHead":"1110d1261fbc743e5054fcb8cb9a3f0f91de66d8","scripts":{"dev":"tsx src/cli.ts","test":"npm run build && vitest run","build":"node scripts/build.mjs","clean":"rm -rf dist coverage .turbo","compile":"tsc --noEmit","prepack":"node scripts/build.mjs","test:watch":"npm run build && vitest"},"_npmUser":{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},"repository":{"url":"git+https://github.com/ClipboardHealth/scout.git","type":"git","directory":"apps/scout"},"_npmVersion":"10.9.4","description":"Scout session orchestrator CLI. Drives the daemon to run capture-enabled QA sessions (trace/video/HAR/console) and renders self-contained verification reports.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","pino":"^9.5.0","fflate":"^0.8.2","vitest":"^4.1.0","esbuild":"^0.27.4","commander":"^12.1.0","typescript":"^5.8.0","@types/node":"^20.17.10","pino-pretty":"^13.0.0","@clipboard-health/scout-config":"*","@clipboard-health/scout-logger":"*","@clipboard-health/scout-cli-kit":"*","@clipboard-health/scout-protocol":"*","@clipboard-health/scout-config-loader":"*","@clipboard-health/scout-daemon-client":"*","@clipboard-health/scout-video-postprocess":"*"},"_npmOperationalInternal":{"tmp":"tmp/scout-cli_0.4.5_1782763020247_0.9735859918130787","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@clipboard-health/scout-cli","version":"0.4.6","keywords":["browser-automation","qa","playwright","ai-agent","testing","claude","cli","session-recording"],"license":"MIT","_id":"@clipboard-health/scout-cli@0.4.6","maintainers":[{"name":"mikecookcbh","email":"mike.cook@clipboardhealth.com"},{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},{"name":"user_engineer","email":"user_engineer@clipboardhealth.com"},{"name":"clipboard_engineering","email":"shared.engineer+npm@clipboardhealth.com"}],"homepage":"https://github.com/ClipboardHealth/scout#readme","bugs":{"url":"https://github.com/ClipboardHealth/scout/issues"},"nx":{"name":"scout-cli"},"bin":{"scout":"dist/cli.js"},"dist":{"shasum":"ada8d22355a14e065fe77549185f07629543bbc9","tarball":"https://registry.npmjs.org/@clipboard-health/scout-cli/-/scout-cli-0.4.6.tgz","fileCount":15,"integrity":"sha512-RoPCJlloodFz2KQ7QpoZKHDeTeJE+Lx/oOMj+bJH6nb0OpmBtFiix7RNrMU/iOmEhJspVi9XhH+vkJ5aLyU1kg==","signatures":[{"sig":"MEUCIDNrZk+W+wtNwBurMqaetT7u0JTazmBQpdnhOLc7NFvpAiEA4fmnrQuch6unjjAM2OQHd3YWIsma+FMY3jnMRa78lBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4884031},"type":"module","engines":{"node":">=20"},"gitHead":"58556fb9b5cb6d8ba87edb5119c709e2f924245b","scripts":{"dev":"tsx src/cli.ts","test":"npm run build && vitest run","build":"node scripts/build.mjs","clean":"rm -rf dist coverage .turbo","compile":"tsc --noEmit","prepack":"node scripts/build.mjs","test:watch":"npm run build && vitest"},"_npmUser":{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},"repository":{"url":"git+https://github.com/ClipboardHealth/scout.git","type":"git","directory":"apps/scout"},"_npmVersion":"10.9.4","description":"Scout session orchestrator CLI. Drives the daemon to run capture-enabled QA sessions (trace/video/HAR/console) and renders self-contained verification reports.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","pino":"^9.5.0","fflate":"^0.8.2","vitest":"^4.1.0","esbuild":"^0.27.4","commander":"^12.1.0","typescript":"^5.8.0","@types/node":"^20.17.10","pino-pretty":"^13.0.0","@clipboard-health/scout-config":"*","@clipboard-health/scout-logger":"*","@clipboard-health/scout-cli-kit":"*","@clipboard-health/scout-protocol":"*","@clipboard-health/scout-config-loader":"*","@clipboard-health/scout-daemon-client":"*","@clipboard-health/scout-video-postprocess":"*"},"_npmOperationalInternal":{"tmp":"tmp/scout-cli_0.4.6_1782765208300_0.7609738816516027","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@clipboard-health/scout-cli","version":"0.4.7","keywords":["browser-automation","qa","playwright","ai-agent","testing","claude","cli","session-recording"],"license":"MIT","_id":"@clipboard-health/scout-cli@0.4.7","maintainers":[{"name":"mikecookcbh","email":"mike.cook@clipboardhealth.com"},{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},{"name":"user_engineer","email":"user_engineer@clipboardhealth.com"},{"name":"clipboard_engineering","email":"shared.engineer+npm@clipboardhealth.com"}],"homepage":"https://github.com/ClipboardHealth/scout#readme","bugs":{"url":"https://github.com/ClipboardHealth/scout/issues"},"nx":{"name":"scout-cli"},"bin":{"scout":"dist/cli.js"},"dist":{"shasum":"56ae30fbd7a7fc78e4ae29dfd343f1b12f398c88","tarball":"https://registry.npmjs.org/@clipboard-health/scout-cli/-/scout-cli-0.4.7.tgz","fileCount":15,"integrity":"sha512-2b9jO3vgD7A72/xLuDmKZhtCtLgOpvO0EPY/0lN7BBybi11yOHyEMa7KRCpG+chxLeamzUCW/CwipSQiNJkLqw==","signatures":[{"sig":"MEUCIGJ1LOrH4k96CljOenhm/Ek9OXlGFNO4N0HjubdExg3fAiEA87iOo8joJPUM1EXhyESC6GLXileDzexA7fHlVLzKwEk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4884031},"type":"module","engines":{"node":">=20"},"gitHead":"83e11d23134f1a2f775b4a979cc1734fd31e475c","scripts":{"dev":"tsx src/cli.ts","test":"npm run build && vitest run","build":"node scripts/build.mjs","clean":"rm -rf dist coverage .turbo","compile":"tsc --noEmit","prepack":"node scripts/build.mjs","test:watch":"npm run build && vitest"},"_npmUser":{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},"repository":{"url":"git+https://github.com/ClipboardHealth/scout.git","type":"git","directory":"apps/scout"},"_npmVersion":"10.9.4","description":"Scout session orchestrator CLI. Drives the daemon to run capture-enabled QA sessions (trace/video/HAR/console) and renders self-contained verification reports.","directories":{},"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","pino":"^9.5.0","fflate":"^0.8.2","vitest":"^4.1.0","esbuild":"^0.27.4","commander":"^12.1.0","typescript":"^5.8.0","@types/node":"^20.17.10","pino-pretty":"^13.0.0","@clipboard-health/scout-config":"*","@clipboard-health/scout-logger":"*","@clipboard-health/scout-cli-kit":"*","@clipboard-health/scout-protocol":"*","@clipboard-health/scout-config-loader":"*","@clipboard-health/scout-daemon-client":"*","@clipboard-health/scout-video-postprocess":"*"},"_npmOperationalInternal":{"tmp":"tmp/scout-cli_0.4.7_1785858984613_0.6233252973137955","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"nx":{"name":"scout-cli"},"_id":"@clipboard-health/scout-cli@0.4.8","bin":{"scout":"dist/cli.js"},"bugs":{"url":"https://github.com/ClipboardHealth/scout/issues"},"dist":{"shasum":"2b9781eed3c7cc6e204faf05792914c2f1261e13","tarball":"https://registry.npmjs.org/@clipboard-health/scout-cli/-/scout-cli-0.4.8.tgz","fileCount":15,"integrity":"sha512-XGDl+vDx6zYN91tPpG125Te5Zsv6lDJbUpzT/CpX5iQAJEMgNPz1vXnK+dzni/uXPlIHV1Jxm3K5w+X2wpYBBg==","signatures":[{"sig":"MEQCIFO/+/zahR8qKYgKJ3CAv17yXiAOwru80XAINbz6V6rfAiBRCT01kACsUGH6QoJcCsnxrqqlWtoBirVf1BaHWZHo7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDJc3vz5H0YAfBstiONMLelv9GORxmI9HewKG1hryD1YAiAvOqgq6JpFsMrxWxZXmW5qTWqEwi0pFejQ4u6b/hqOzA=="}],"unpackedSize":4884031},"name":"@clipboard-health/scout-cli","type":"module","engines":{"node":">=20"},"gitHead":"7dd68e8682f4b55b4a3de790fed1030edea32c24","license":"MIT","scripts":{"dev":"tsx src/cli.ts","test":"npm run build && vitest run","build":"node scripts/build.mjs","clean":"rm -rf dist coverage .turbo","compile":"tsc --noEmit","prepack":"node scripts/build.mjs","test:watch":"npm run build && vitest"},"version":"0.4.8","_npmUser":{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},"homepage":"https://github.com/ClipboardHealth/scout#readme","keywords":["browser-automation","qa","playwright","ai-agent","testing","claude","cli","session-recording"],"repository":{"url":"git+https://github.com/ClipboardHealth/scout.git","type":"git","directory":"apps/scout"},"_npmVersion":"10.9.4","description":"Scout session orchestrator CLI. Drives the daemon to run capture-enabled QA sessions (trace/video/HAR/console) and renders self-contained verification reports.","directories":{},"maintainers":[{"name":"mikecookcbh","email":"mike.cook@clipboardhealth.com"},{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},{"name":"user_engineer","email":"user_engineer@clipboardhealth.com"},{"name":"clipboard_engineering","email":"shared.engineer+npm@clipboardhealth.com"}],"_nodeVersion":"22.21.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","pino":"^9.5.0","fflate":"^0.8.2","vitest":"^4.1.0","esbuild":"^0.27.4","commander":"^12.1.0","typescript":"^5.8.0","@types/node":"^20.17.10","pino-pretty":"^13.0.0","@clipboard-health/scout-config":"*","@clipboard-health/scout-logger":"*","@clipboard-health/scout-cli-kit":"*","@clipboard-health/scout-protocol":"*","@clipboard-health/scout-config-loader":"*","@clipboard-health/scout-daemon-client":"*","@clipboard-health/scout-video-postprocess":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scout-cli_0.4.8_1788978807230_0.988580139547689"}}},"time":{"created":"2026-06-29T19:57:00.041Z","modified":"2026-09-09T18:33:27.529Z","0.4.5":"2026-06-29T19:57:00.441Z","0.4.6":"2026-06-29T20:33:28.480Z","0.4.7":"2026-08-04T15:56:24.761Z","0.4.8":"2026-09-09T18:33:27.360Z"},"bugs":{"url":"https://github.com/ClipboardHealth/scout/issues"},"license":"MIT","homepage":"https://github.com/ClipboardHealth/scout#readme","keywords":["browser-automation","qa","playwright","ai-agent","testing","claude","cli","session-recording"],"repository":{"url":"git+https://github.com/ClipboardHealth/scout.git","type":"git","directory":"apps/scout"},"description":"Scout session orchestrator CLI. Drives the daemon to run capture-enabled QA sessions (trace/video/HAR/console) and renders self-contained verification reports.","maintainers":[{"name":"mikecookcbh","email":"mike.cook@clipboardhealth.com"},{"name":"sharedenginner_cbh","email":"shared.engineer@clipboardhealth.com"},{"name":"user_engineer","email":"user_engineer@clipboardhealth.com"},{"name":"clipboard_engineering","email":"shared.engineer+npm@clipboardhealth.com"}],"readme":"# @clipboard-health/scout-cli\n\n> `scout` — the session orchestrator for [Scout](https://github.com/ClipboardHealth/scout). Drive a real\n> browser, record capture-enabled QA sessions (Playwright trace, video, network HAR, console, per-step\n> screenshots), and render a self-contained `report.html` you can open, commit, or browse in a local UI.\n\n[![npm](https://img.shields.io/npm/v/@clipboard-health/scout-cli.svg)](https://www.npmjs.com/package/@clipboard-health/scout-cli)\n[![license](https://img.shields.io/npm/l/@clipboard-health/scout-cli.svg)](https://github.com/ClipboardHealth/scout)\n\nScout is built for **AI agents and developers who need verifiable, reproducible browser QA**. Every\nrun captures a trace, a video, a network log, console output, and per-step screenshots — and decodes\nback to a reproducible Playwright script — with no instrumentation of your app. Scripts are plain\nasync JavaScript run in a sandboxed QuickJS runtime; a background daemon (Playwright + sandbox) starts\nautomatically when needed.\n\n## How it works\n\nYou drive the daemon through a four-step session lifecycle:\n\n| Step | Command | Result |\n| --- | --- | --- |\n| 1. start | `scout session start --name \"checkout\"` | prints a session id |\n| 2. run | `scout run step.js --session <id> --step open` | one script per step |\n| 3. end | `scout session end <id>` | writes `report.html` |\n| 4. view | `scout ui` | browse every session |\n\n## Install\n\n```bash\nnpm i -g @clipboard-health/scout-cli     # adds the `scout` command\nscout install              # one-time: download Chromium + runtime (~150 MB) into ~/.scout\n```\n\nPrefer not to install globally? Prefix anything with `npx`:\n\n```bash\nnpx @clipboard-health/scout-cli install\n```\n\nOr set everything up interactively with the guided wizard — `npm create scout`.\n\n## Quickstart\n\n```bash\n# 1. start a capture-enabled session (prints an id)\nid=$(scout session start --name \"checkout\")\n\n# 2. run scripts as ordered steps — one script per step (open → act → assert)\nscout run ./open.js   --session \"$id\" --step \"open\"\nscout run ./submit.js --session \"$id\" --step \"submit\"\n\n# inline scripts work too (read from stdin):\necho 'const p = await browser.getPage(\"home\");\nawait p.goto(\"https://example.com\");\nconsole.log(await p.title());' | scout run --session \"$id\" --step \"home\"\n\n# 3. finish — collects artifacts and renders the report\nscout session end \"$id\"            # -> ~/.scout/sessions/<id>/report.html\n\n# 4. browse, search, and replay every session in a local viewer\nscout ui\n```\n\nEach `--step` is one entry in the report, with its own trace group and **one** auto-captured\nscreenshot (taken from the last page opened during that step). So use **one primary named page per\nstep**, and reuse the same page name across steps to \"click through\" like a user — named pages persist\nacross steps within a session.\n\n## Commands\n\n| Command | What it does |\n| --- | --- |\n| `scout init` | One-shot setup: install the runtime, then print next steps. The friendlier wizard is `npm create scout`. |\n| `scout install` | Install the embedded runtime (Chromium + Playwright + QuickJS) into `~/.scout`. |\n| `scout session start` | Start a capture-enabled session; prints its id. Toggle capture with `--no-trace` / `--no-video` / `--no-har` / `--no-console`; `--headless` for unattended runs. |\n| `scout run [FILE]` | Run a script (a file, or stdin if omitted) as one step. Requires `--session <id>`; label it with `--step <name>`; bound it with `--timeout <seconds>`. |\n| `scout session end <id>` | Stop recording, collect artifacts, render `report.html` + `results.json`. `--stop-daemon` shuts the daemon down afterward if nothing else needs it. |\n| `scout session abort <id>` | Best-effort teardown of a session — salvage a wedged run from whatever artifacts survived. |\n| `scout session list` | List recorded sessions (table; `--json` for machine output). |\n| `scout status [--session <id>]` | Daemon status, or one session's status. |\n| `scout ui` | Launch the local session viewer. Options: `--dir <path>`, `--port`, `--host`, `--no-open`. |\n| `scout stop` | Stop the background daemon and every browser/session it's running (alias: `scout daemon stop`). |\n\nGlobal flags: `--json` (machine-readable output on stdout), `-v` / `--verbose` (more logging on\nstderr). Run `scout --help` or `scout <command> --help` for the full reference.\n\n> **Lifecycle tip:** `scout stop` aborts any live session and skips its `report.html`. For a clean\n> report, always `scout session end <id>` **first**, then `scout stop`.\n\n## Writing scripts\n\nScripts are plain **async JavaScript** in a QuickJS sandbox with a Playwright-like API — no `require`,\n`process`, `fs`, or `fetch`; just a pre-connected `browser`, `console`, and a few file helpers.\nTop-level `await` works.\n\n```js\nconst page = await browser.getPage(\"home\");          // named, persistent page\nawait page.goto(\"https://example.com\", { waitUntil: \"domcontentloaded\" });\nconsole.log(await page.title());\n\nawait page.locator(\"text=Sign in\").click();\nawait saveScreenshot(await page.screenshot(), \"signed-in.png\");   // saveScreenshot(buffer, name)\n```\n\n- **Pages** — `browser.getPage(name)`, `browser.newPage()`, `browser.listPages()`,\n  `browser.closePage(name)`. Pages are full Playwright `Page`s (`goto`, `click`, `fill`, `locator`,\n  `evaluate`, `getByRole`, `waitForSelector`, …).\n- **Files** (sandboxed to `~/.scout/tmp/`) — `saveScreenshot(buffer, name)`, `writeFile(name, data)`,\n  `readFile(name)` to pass values between steps.\n\nThe full reference is built into this CLI — run `scout --help` or `scout run --help`\n(the engine's `scout-browser --help` documents the same API), or read the\n[scout-scripting reference](https://github.com/ClipboardHealth/scout/blob/main/skills/scout-scripting/references/REFERENCE.md).\n\n## Artifacts\n\nEverything for a run lands under `~/.scout/sessions/<id>/`:\n\n```\nsession.json   session metadata + per-step record\nresults.json   decoded results (steps, summary, artifact paths)\nreport.html    self-contained report — open it anywhere, commit it, share it\ntrace.zip      Playwright trace (DOM snapshots + actions, one group per step)\n```\n\n…plus the WebM video, the network HAR, the console log, and one screenshot per step.\n\n## Use it from an AI agent\n\nScout ships skills, subagents, and `/scout:*` slash commands for Claude Code, Cursor, and Codex, so\nan agent can plan and record QA for you:\n\n```bash\n# Claude Code: /plugin marketplace add ClipboardHealth/scout  then  /plugin install scout@scout-marketplace\n```\n\n## Related packages\n\n- [`@clipboard-health/scout-browser`](https://www.npmjs.com/package/@clipboard-health/scout-browser) — the engine for quick\n  one-off automation (no recording, no report).\n- [`@clipboard-health/scout-ui`](https://www.npmjs.com/package/@clipboard-health/scout-ui) — the `scout-viewer` session browser.\n- [`create-scout`](https://www.npmjs.com/package/create-scout) — `npm create scout` guided setup.\n\nMIT · [source](https://github.com/ClipboardHealth/scout)\n","readmeFilename":"README.md"}