К основному содержанию
скилл CX Codex

setup-react-native-storybook — скилл для Claude Code

Скилл автоматизирует развёртывание Storybook 10 в проектах на React Native. Помогает настроить окружение для Expo, чистого React Native CLI или Re.Pack.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add storybookjs/react-native --skill setup-react-native-storybook -a claude-code
Открыть на GitHub

Что делает setup-react-native-storybook

Агент определяет пакетный менеджер по lock-файлам yarn.lock, pnpm-lock.yaml или bun.lockb и запускает инициализацию через команду create storybook. Скрипт генерирует файлы конфигурации в каталоге .rnstorybook, включая main.ts, preview.tsx и index.tsx. Затем он настраивает пути поиска историй stories под структуру конкретного репозитория.

Для удалённого управления компонентами и связи с веб-версией включается поддержка веб-сокетов в файле .rnstorybook/index.tsx. Из-за этого проекту потребуется библиотека @react-native-async-storage/async-storage, если она ещё не установлена. Для сборщика Metro конфигурация оборачивается в вызов withStorybook, а для проектов на Re.Pack добавляется плагин StorybookPlugin.

В Expo Router компонент изолируется в отдельный маршрут приложения. Если в проекте используется нестандартная сборка без Metro или Re.Pack, автоматическая настройка бандлера завершится ошибкой.

Какие задачи решает

  • инициализировать Storybook 10 в проекте на Expo или React Native CLI
  • настроить маршрутизацию для Storybook в Expo Router
  • обернуть конфигурацию Metro в вызов withStorybook
  • подключить StorybookPlugin для сборки на Re.Pack
  • включить синхронизацию через WebSockets с хранилищем в AsyncStorage

Примеры запросов агенту

  • Установи Storybook в этот проект на Expo Router.
  • Настрой @storybook/react-native и обнови metro.config.js.
  • Добавь Storybook для Re.Pack с поддержкой WebSockets.

Как установить setup-react-native-storybook

1Через Skills CLI (Vercel)

npx skills add storybookjs/react-native --skill setup-react-native-storybook -a claude-code

2Вручную: положить файлы

~/.claude/skills/setup-react-native-storybook/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/setup-react-native-storybook/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о setup-react-native-storybook

Как установить setup-react-native-storybook в Claude Code?

Выполните команду npx skills add storybookjs/react-native --skill setup-react-native-storybook -a claude-code. Также можно сохранить инструкции напрямую в файл ~/.claude/skills/setup-react-native-storybook/SKILL.md.

Что делает скилл setup-react-native-storybook?

Он определяет стек проекта и выполняет пошаговую установку @storybook/react-native 10 версии. Скилл создаёт конфигурационные файлы в .rnstorybook, прописывает маски историй и настраивает бандлер.

Какая зависимость требуется для работы Storybook UI?

Для сохранения состояния и синхронизации через веб-сокеты необходим пакет @react-native-async-storage/async-storage. Если его нет в зависимостях, скилл добавляет его через пакетный менеджер проекта.

Исходный текст

SKILL.md · MIT
---
name: setup-react-native-storybook
description: Set up Storybook for React Native in Expo, React Native CLI, or Re.Pack projects. Use when adding Storybook to a project, configuring metro.config.js with withStorybook, creating .rnstorybook configuration files, setting up Storybook routes in Expo Router, configuring getStorybookUI, or adding the StorybookPlugin to a Re.Pack rspack/webpack config. Covers Expo, Expo Router, plain React Native CLI, and Re.Pack setups.
---

# React Native Storybook Setup

Add `@storybook/react-native` v10 to a React Native project.

**Important:** Detect the project's package manager (look for `yarn.lock`, `pnpm-lock.yaml`, or `bun.lockb`) and use it for all install/run commands instead of `npm`. The examples below use `npm` but substitute accordingly (e.g. `yarn add` instead of `npm install`, `yarn storybook` instead of `npm run storybook`). For Expo projects, use `npx expo install` (or `bunx expo install`, etc.) to install dependencies so Expo can resolve compatible versions.

For the init command, use `<pm> create storybook` with the flags shown below. Only npm needs `--` before the flags. Never use `npx`/`bunx` etc for this.

Four setup flows based on project type:

1. **Expo (no router)** - see [references/expo-setup.md](references/expo-setup.md)
2. **Expo with Expo Router** - see [references/expo-router-setup.md](references/expo-router-setup.md)
3. **React Native CLI (no Expo)** - see [references/react-native-cli-setup.md](references/react-native-cli-setup.md)
4. **Re.Pack (rspack/webpack)** - see [references/repack-setup.md](references/repack-setup.md)

## Flow Selection

- Project has `rspack.config` or `webpack.config` and uses `@callstack/repack` -> **Re.Pack**
- Project has `app/` directory with `_layout.tsx` and uses `expo-router` -> **Expo Router**
- Project uses Expo but not file-based routing -> **Expo**
- Project uses `@react-native-community/cli` with no Expo -> **React Native CLI**

## Common Steps (all flows)

### 1. Run CLI Init

```sh
npm create storybook -- --type react_native --yes
# or: pnpm create storybook --type react_native --yes
# or: bun create storybook --type react_native --yes
```

This installs dependencies and creates `.rnstorybook/` with `main.ts`, `preview.tsx`, and `index.tsx`.

### 2. Enable WebSockets in .rnstorybook/index.tsx

Update the generated `.rnstorybook/index.tsx` to enable WebSocket support. This is required for remote control and syncing with the Storybook web companion:

```tsx
// .rnstorybook/index.tsx
import AsyncStorage from '@react-native-async-storage/async-storage';
import { view } from './storybook.requires';

const StorybookUIRoot = view.getStorybookUI({
  storage: {
    getItem: AsyncStorage.getItem,
    setItem: AsyncStorage.setItem,
  },
  enableWebsockets: true,
});

export default StorybookUIRoot;
```

If the project doesn't have `@react-native-async-storage/async-storage`, install it:

```sh
npm install @react-native-async-storage/async-storage
```

### 3. Update Story Globs in main.ts

The CLI generates a default `stories` glob in `.rnstorybook/main.ts`. Keep the existing glob and add an additional entry pointing to where UI components actually live in the project. Look for directories like `components/`, `src/components/`, `src/`, `ui/`, etc.:

```ts
// .rnstorybook/main.ts
const main: StorybookConfig = {
  stories: [
    './stories/**/*.stories.?(ts|tsx|js|jsx)', // example stories from init
    '../src/components/**/*.stories.?(ts|tsx|js|jsx)', // add based on project structure
  ],
  // ...
};
```

### 4. Configure Bundler

For Metro projects, wrap the metro config with `withStorybook`. For Re.Pack projects, add the `StorybookPlugin` to your rspack/webpack config. See the relevant reference file for details.

### 5. Create Entrypoint

How Storybook is rendered differs per flow - see the relevant reference file.

### 6. Run

```sh
npm run start
npm run ios     # or npm run android
```

## withStorybook Options (Metro)

```js
module.exports = withStorybook(config, {
  enabled: true, // Remove Storybook from bundle when false
  configPath: './.rnstorybook', // Optional and redundant when using the default ./.rnstorybook folder
  useJs: false, // Generate .js instead of .ts
  docTools: true, // Auto arg extraction
  liteMode: false, // Mock default UI deps (use with react-native-ui-lite)
  websockets: { port: 7007, host: 'localhost' }, // Remote control
});
```

## StorybookPlugin Options (Re.Pack)

```js
new StorybookPlugin({
  enabled: true, // Strip Storybook from bundle when false
  configPath: './.rnstorybook', // Optional and redundant when using the default ./.rnstorybook folder
  useJs: false, // Generate .js instead of .ts
  docTools: true, // Auto arg extraction
  liteMode: false, // Mock default UI deps (use with react-native-ui-lite)
  websockets: 'auto', // 'auto' detects LAN IP, or { port: 7007, host: 'localhost' }
});
```

© storybookjs · MIT · storybookjs/react-native

Похожие скиллы

Всё по теме «Мобильная разработка» →
react-native assistant-ui Скилл для сборки чат-интерфейсов assistant-ui в Expo и чистом React Native: нативные примитивы, рантайм AI SDK и транспорт к бэкенду. CX Codex +1 909установок dt-setup-react-native Dynatrace Пошагово настраивает плагин Dynatrace в проектах на React Native или Expo: правит конфиги Babel, подключает зависимости и проверяет параметры приватности. CX Codex +1 860установок argent-react-native-app-workflow software-mansion Задаёт пошаговый процесс сборки, запуска и отладки React Native в симуляторе iOS или эмуляторе Android. Помогает поднять Metro и разобрать сбои билда. CX Codex +1 26 400установок vercel-react-native-skills vercel Набор правил по React Native и Expo для ИИ-агента: списки, анимации, навигация. Пригодится, когда агент правит мобильный код и надо, чтобы он делал это одинаково. CX Codex +1 255 200установок react-native-architecture Seth Hobson Скилл для Claude Code, Codex и Cursor: подсказывает структуру проекта, навигацию, нативные модули и офлайн-синхронизацию в React Native на Expo. CX Codex 15 087установок react-native-brownfield-migration callstackincubator Помогает пошагово внедрять React Native или Expo в нативные приложения iOS и Android с помощью @callstack/react-native-brownfield. CX Codex +1 5 200установок

Из того же набора2

Спонсоры проекта

Компании, которые помогают держать аналитику открытой