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
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
- L1 Static — AST + happy-dom axe on changed files (all plans)
- L2 Storybook — component iframes
- L3 Browser — live preview paths + journeys (contrast, layout, runtime UI)