Skip to content
The StoryShelf review workspace showing a snapshot filmstrip and baseline, current and diff panes The StoryShelf review workspace showing a snapshot filmstrip and baseline, current and diff panes

Visual testing for Storybook, on your own infrastructure.

Capture every story, diff it against its baseline, and review changes before they ship. Self-hosted, unlimited snapshots, no vendor lock-in.
  1. Scaffold a server

    Terminal window
    npx storyshelf server init
  2. Upload a Storybook build from CI

    Terminal window
    npx storyshelf upload
  3. Review the diffs in your browser and approve or reject each change, or gate merges on the result.

Full walkthrough: Getting started.

A real review workspace

Filmstrip of changed stories, side-by-side, swipe, onion-skin and flip comparison, pixel-level zoom, and keyboard-driven approve/reject that jumps to the next change.

Branch-aware baselines

Baselines per branch with fallback to the default branch. Approve once, auto-approve on main, and keep long-lived branches with persistent labels.

Server-side capture

Upload your built Storybook; the server renders every story with Playwright (Chromium, Firefox, WebKit) or lightweight Puppeteer. Affected-only capture keeps CI fast.

Published Storybook

Share the latest build at /storybook or a per-project subdomain, gated to public branches.

Merge gate and notifications

Commit statuses for GitHub and GitLab, threaded comments, and Slack, Teams or email alerts when a build needs review.

AI triage and health (optional)

Bring your own model and get a verdict and per-snapshot notes on every build, plus a 30-day project health digest. Advisory only, off by default, secrets redacted.

Agent-ready (MCP)

An MCP server lets Claude Code, Cursor and other agents read builds, diffs and AI triage and comment on reviews. Local over stdio or shared over HTTP, scoped by your existing tokens, and it never approves for you.

Self-host anywhere

Docker Compose locally, or Terraform stacks for AWS, Azure and GCP. Bring your own database and storage; the database is also the capture queue.

Optional and advisory. Connect any model through the Vercel AI SDK (OpenAI, Anthropic, Google, Bedrock, Vertex, Azure, a gateway, or a local model) and StoryShelf will tell you whether a build’s changes look intended, need a human look, or look like a regression, and summarize how healthy each project is.

  • Triage on the review page: a verdict, a short summary and a note per snapshot, generated on demand and cached.
  • Project health: a score, verdict and trends on the Library page and as a badge on the project card.
  • Under your control: off until a site admin enables a profile per project, a daily token budget across all instances, and prompts and screenshots never leave your chosen model or your traces.
The review page with an AI triage panel above the snapshot list: verdict, summary and per-snapshot notes The review page with an AI triage panel above the snapshot list: verdict, summary and per-snapshot notes
AI triage above the review workspace: a verdict, a summary and notes per snapshot.

Agents can read all of it too: the MCP server exposes builds, diffs and triage to Claude Code, Cursor and friends.

Read about AI insights · Set it up · Try it with free models

Chromatic (SaaS)StoryShelf (self-hosted)
Pricing5k snapshots free, then $179/mo per 35kMIT, unlimited — infra cost only
BrowsersChrome, Firefox, Safari, Edge (cloud)Chromium/Firefox/WebKit per project + lightweight Puppeteer
HostingChromatic cloud onlyYour infra — Docker, Fly, Vercel, Lambda, Azure, GCP
DataUS/EU regionsYour DB/storage — full residency
Lock-inProprietaryOpen source, standard /api/v1

Full breakdown and migration guide: Comparison · Migration.