Kubb — плагин
Плагин Claude Code для Kubb: из спецификации OpenAPI делает типы TypeScript, клиенты, хуки Query, схемы Zod и моки, с командами и MCP-сервером
- 1 827 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Команды и MCP-сервер запускают `kubb.config.ts` как код, а `kubb init` ставит из npm пакеты `@kubb/plugin-*`
- Генерация пишет файлы в проект, а при `output.clean: true` стирает папку вывода перед каждым запуском
- Спецификацию можно взять по адресу, и скилл советует проверять чужие командой `kubb validate`
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add plugins/kubbОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Команды и MCP-сервер запускают `kubb.config.ts` как код, а `kubb init` ставит из npm пакеты `@kubb/plugin-*`
- Генерация пишет файлы в проект, а при `output.clean: true` стирает папку вывода перед каждым запуском
- Спецификацию можно взять по адресу, и скилл советует проверять чужие командой `kubb validate`
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Kubb читает спецификацию OpenAPI 2.0, 3.0 или 3.1 и генерирует по ней код на TypeScript: типы, клиенты на Axios или Fetch, хуки TanStack Query, Vue Query и SWR, схемы Zod, моки Faker и обработчики MSW. Набор выходных файлов задают пакеты `@kubb/plugin-*`, а правила лежат в `kubb.config.ts`. При изменении спецификации код пересобирается заново. В репозитории есть готовый плагин для Claude Code. Команда `/kubb:init` собирает конфиг и ставит нужные пакеты, `/kubb:validate` проверяет спецификацию, `/kubb:generate` запускает генерацию и сообщает, какие файлы изменились. Скилл `config` учит агента писать `kubb.config.ts` и подбирать плагины, скилл `output` объясняет, как импортировать сгенерированные клиенты и хуки. Подагент `kubb-expert` проводит весь путь от спецификации до рабочего кода. Вместе с плагином подключается MCP-сервер, который запускает `npx kubb mcp`. У него три инструмента: `generate` собирает код по конфигу, `validate` проверяет спецификацию, `init` создает конфиг. Тот же сервер можно подключить к Cursor и Claude Desktop.
Для кого. Для фронтенд- и бэкенд-разработчиков на TypeScript, у которых есть спецификация OpenAPI или Swagger и которым нужны типизированные клиенты, хуки и моки без ручного набора.
Подходит, если
- У бэкенда есть файл или адрес со спецификацией OpenAPI, а типы и клиенты для фронтенда хочется получать из нее автоматически
- В проекте на React, Vue или Solid нужны хуки TanStack Query или SWR по каждому методу API
- Для тестов нужны моки на Faker и обработчики MSW, которые совпадают со схемой API
- Данные ответов нужно проверять во время работы схемами Zod, сгенерированными из той же спецификации
- Агент должен сам добавить Kubb в проект, выбрать плагины и прогнать генерацию
Не подходит, если
- Проект не на TypeScript: Kubb выдает только код на TypeScript
- У API нет спецификации OpenAPI или Swagger: читать Kubb нечего
- Нужно вызывать API из агента без генерации кода: `openapi-to-cli-ocli` превращает спецификацию в команды CLI на лету
- Вы работаете не в Claude Code: плагин и команды рассчитаны на него, в Cursor и Claude Desktop доступен только MCP-сервер
Пример запроса к агенту
Подключи Kubb к проекту, возьми спецификацию из ./openapi.yaml и сгенерируй типы TypeScript и хуки TanStack Query в src/genОграничения
- Плагин требует Kubb версии 5 или новее. Сам Kubb он не ставит: команды запускают `npx kubb`, поэтому пакет `kubb` нужен в проекте или глобально, а хук при старте сессии лишь предупреждает, если его нет.
- Команда `kubb validate` работает только при установленном `@kubb/adapter-oas`, а `kubb init` доустанавливает выбранные `@kubb/plugin-*`.
- MCP-сервер ищет `kubb.config.*` в папке, где его запустил клиент, и отклоняет путь к конфигу вне нее. Claude Code игнорирует ключ `cwd`, поэтому сервер регистрируют из корня проекта. Пакету `@kubb/mcp` нужен Node.js 22.12 или новее.
- Файлы с баннером «Do not edit manually» перезаписываются при каждой генерации, ручные правки в них пропадут.
- Лицензия MIT. Визуальная панель Kubb Studio необязательна, без нее инструмент работает целиком.
Как отключить. Удалите плагин командой `/plugin uninstall kubb@kubb`, и команды `/kubb:*` вместе со скиллами и подагентом исчезнут. Для MCP-сервера, добавленного вручную, выполните `claude mcp remove kubb`. Сгенерированные файлы и `kubb.config.ts` остаются в проекте, пакет `kubb` убирает ваш менеджер пакетов.
Частые вопросы
Какие версии OpenAPI понимает Kubb?
Спецификации OpenAPI 2.0, 3.0 и 3.1 читает адаптер `@kubb/adapter-oas`. Источником служит локальный файл или адрес, оба варианта задаются в поле `input` конфига.
Что генерирует Kubb?
Состав зависит от подключенных пакетов: `plugin-ts` дает типы, `plugin-axios` и `plugin-fetch` клиенты, `plugin-react-query`, `plugin-vue-query` и `plugin-swr` хуки, `plugin-zod` схемы, `plugin-faker` и `plugin-msw` моки и обработчики. Есть еще `plugin-cypress`, `plugin-redoc` и `plugin-mcp`, который строит MCP-сервер по той же спецификации.
Как подключить MCP-сервер Kubb к Cursor или Claude Desktop?
Добавьте в настройки MCP запись `{"mcpServers": {"kubb": {"command": "npx", "args": ["kubb", "mcp"]}}}`. Если `kubb` не установлен в проект, подойдет отдельный пакет: `npx @kubb/mcp`. Оба варианта запускают один и тот же сервер по stdio.
Как встроить генерацию в сборку приложения?
Пакет `unplugin-kubb` запускает генерацию внутри сборщика: поддерживаются Vite, Nuxt, Astro, webpack и другие. Команды плагина Claude Code для этого не нужны.
Что делает подагент kubb-expert?
Он берет задачу целиком: находит спецификацию и папку вывода, проверяет спецификацию, подбирает пакеты `@kubb/plugin-*`, создает конфиг через `kubb init`, запускает `kubb generate` и проверяет типы сгенерированного кода. Править файлы вывода вручную ему запрещено.
Можно ли писать собственные генераторы?
Да. Набор `kubb/kit` нужен для собственных плагинов, генераторов, адаптеров и рендереров, а JSX-рендерер собирает вывод из компонентов.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныГотовая сборка для Claude Code: агенты, слеш-команды, скиллы, защитные хуки, правила и MCP-подключения одной установкой
Модульный набор плагинов для Claude Code: скиллы, агенты, команды и правила для Java, TypeScript, Python, PHP и AWS
Плагины Claude Code с рецептами разработки: согласовать результат, спроектировать, реализовать с проверками и провести независимое ревью
Универсальный плагин рабочего процесса для Claude Code: 7 агентов, 26 команд, 14 скиллов и 14 хуков для любого проекта
Плагин со скиллами для сборки MCP-серверов и MCP-приложений на TypeScript: агент создает, дорабатывает, отлаживает и проверяет их
Большой плагин для Claude Code и Cursor: скиллы по разработке, агенты-специалисты и хуки с проверками качества и защитой git
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Kubb (эта запись) | да | 1 827 | |
| OpenAPI to CLI (ocli) | нет | 265 | не генерирует код: превращает спецификацию в команды CLI на лету и ищет эндпоинты по BM25 |
| Orval — скилл для агентов | да | 6 558 | официальный скилл Orval |
Коротко о README
Главная страница репозитория описывает установку пакета `kubb`, мастер `npx kubb init` и команду `npx kubb generate`, затем перечисляет возможности и пакеты. Отдельные страницы пакетов, среди них `@kubb/mcp`, показывают настройку для разных клиентов. Каталог `tools/claude` содержит плагин для Claude Code с описанием установки и использования, список изменений и проверку наличия `kubb` при запуске сессии. В репозитории есть исходники всех пакетов с тестами.