Documentation

Deep scan

Layered scanning: static hybrid on every PR, optional browser deep scan on preview URLs, Storybook, and journey playbooks (Pro+).

1. Requirements
  • API env BROWSERLESS_URL (CDP / Playwright endpoint)
  • Pro or Enterprise plan (deep_scan)
  • Installation deep-scan settings in the dashboard
  • A reachable preview (or Storybook) URL for the PR
2. Installation settings

Open the repo under Installations → Configure. Set mode to always or on label (a11y:deep).

Preview template examples:

  • https://pr-{prNumber}.preview.example.com
  • https://{branchSlug}.vercel.app
Open installations
3. Storybook

Set storybookUrlTemplate to a deployed Storybook for the PR. Meerkat reads /index.json (Storybook 7+) and runs axe on story iframes (capped).

4. Journey playbooks

Add meerkat.journeys.yml to the repo (see monorepo example). Steps: goto, click, fill, waitFor, wait, axe.

Journeys run only when deep scan is enabled and a preview origin is configured.

Layers
  1. L1 Static — AST + happy-dom axe on changed files (all plans)
  2. L2 Storybook — component iframes
  3. L3 Browser — live preview paths + journeys (contrast, layout, runtime UI)