# Packages

> Every StoryShelf package, grouped by the slot it fills, with its generated TypeScript API.

Source: https://storyshelf.js.org/packages/

StoryShelf is a set of small packages. `createShelfApp` from [`@storyshelf/app`](https://storyshelf.js.org/packages/app/) composes them: a database, storage, an optional capture runner, and optional authentication, notifications, design links and AI. Each package page has its install line, configuration and, under **API**, the generated TypeScript reference for every export.

## Core

| Package                                                                          | What it does                                                                          |
| -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| [`@storyshelf/core`](https://storyshelf.js.org/packages/core/)                   | Adapter interfaces, models, the capture pipeline, diffing and retention (no HTTP).    |
| [`@storyshelf/app`](https://storyshelf.js.org/packages/app/)                     | The Hono app: JSON API under `/api/v1` and the server-rendered UI.                    |
| [`@storyshelf/affected`](https://storyshelf.js.org/packages/affected/)           | Affected capture: picks the stories a change impacts by tracing the dependency graph. |
| [`@storyshelf/image`](https://storyshelf.js.org/packages/image/)                 | Pixel diffs, diff overlays and thumbnails on a worker pool.                           |
| [`@storyshelf/observability`](https://storyshelf.js.org/packages/observability/) | OpenTelemetry tracing, metrics and log correlation.                                   |
| [`@storyshelf/auth`](https://storyshelf.js.org/packages/auth/)                   | Local accounts, social login, OIDC, SAML SSO and passkeys.                            |
| [`@storyshelf/ai`](https://storyshelf.js.org/packages/ai/)                       | AI insights: build triage and project health.                                         |
| [`@storyshelf/mcp`](https://storyshelf.js.org/packages/mcp/)                     | MCP server that lets AI agents read builds and comment on reviews.                    |

## Databases

| Package                                                                      | What it does                                                         |
| ---------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| [`@storyshelf/db-sqlite`](https://storyshelf.js.org/packages/db-sqlite/)     | The default. SQLite, with Turso, better-sqlite3, Bun and D1 presets. |
| [`@storyshelf/db-postgres`](https://storyshelf.js.org/packages/db-postgres/) | Postgres, with Neon, Vercel, pg and PGlite presets.                  |
| [`@storyshelf/db-mysql`](https://storyshelf.js.org/packages/db-mysql/)       | MySQL and MariaDB, with PlanetScale and TiDB presets.                |

## Storage

| Package                                                                          | What it does                                         |
| -------------------------------------------------------------------------------- | ---------------------------------------------------- |
| [`@storyshelf/storage-local`](https://storyshelf.js.org/packages/storage-local/) | The default. Blobs on the local filesystem.          |
| [`@storyshelf/storage-s3`](https://storyshelf.js.org/packages/storage-s3/)       | Amazon S3 and compatible stores (R2, MinIO, Spaces). |
| [`@storyshelf/storage-azure`](https://storyshelf.js.org/packages/storage-azure/) | Azure Blob Storage.                                  |
| [`@storyshelf/storage-gcs`](https://storyshelf.js.org/packages/storage-gcs/)     | Google Cloud Storage.                                |

## Capture runners

| Package                                                                                  | What it does                                                          |
| ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [`@storyshelf/runner-playwright`](https://storyshelf.js.org/packages/runner-playwright/) | Renders stories with Playwright: Chromium, Firefox and WebKit.        |
| [`@storyshelf/runner-puppeteer`](https://storyshelf.js.org/packages/runner-puppeteer/)   | Renders with Puppeteer and chrome-headless-shell, for smaller images. |

## Design and notifications

| Package                                                                        | What it does                                                   |
| ------------------------------------------------------------------------------ | -------------------------------------------------------------- |
| [`@storyshelf/design-figma`](https://storyshelf.js.org/packages/design-figma/) | Links components to Figma: link checks, metadata and previews. |
| [`@storyshelf/notify-chat`](https://storyshelf.js.org/packages/notify-chat/)   | Slack and Microsoft Teams webhook alerts.                      |
| [`@storyshelf/notify-email`](https://storyshelf.js.org/packages/notify-email/) | An email transport: SMTP, Mailpit, HTTP APIs.                  |
| [`@storyshelf/notify-git`](https://storyshelf.js.org/packages/notify-git/)     | GitHub and GitLab commit statuses and pull-request comments.   |

Looking for the HTTP endpoints instead? See the [HTTP API reference](https://storyshelf.js.org/api/).
