Kubb
The meta framework for code generation
Point Kubb at an OpenAPI spec and it generates types, clients, hooks, validators, mocks, and more.
Installation
bun add kubb
# or
pnpm add kubb
# or
npm install kubb
Quick start
Run the setup wizard to create a kubb.config.ts:
npx kubb init
The wizard creates a package.json if needed, guides you through plugin selection, installs packages, and writes kubb.config.ts. Then generate your code:
npx kubb generate
See the documentation for detailed usage and advanced features.
Features
- Generate from a spec: point Kubb at an OpenAPI document and it produces TypeScript types, type-safe API clients, TanStack Query hooks for React and Vue, SWR hooks, Zod validators, Faker mocks, and MSW handlers.
- Read Swagger 2.0, OpenAPI 3.0, and 3.1, with TypeScript-first output that runs on Node.js and Bun.
- Pick what you generate from the plugin ecosystem:
plugin-ts,plugin-client,plugin-react-query,plugin-vue-query,plugin-swr,plugin-zod,plugin-faker,plugin-msw,plugin-cypress,plugin-redoc, andplugin-mcp. Enable only the ones a project needs. - Choose your HTTP client: use the axios or fetch presets, or point at a custom client module so generated requests run through your own wrapper.
- Control the generated tree: group files by tag, emit barrel exports, and include or exclude operations to keep the output focused.
- Build your own output with custom plugins, composable middleware, and the JSX-based renderer (
@kubb/renderer-jsx) for full control over what lands on disk. - Hook into your bundler with
unplugin-kubb, which runs generation inside Vite, Nuxt, Astro, webpack, and other build tools. - Drive generation from AI tools through the built-in Model Context Protocol (MCP) server, which works with Claude, Cursor, and other MCP-compatible assistants.
- Generate from inside Claude Code with the Kubb plugin, which adds slash commands, a config skill, and an agent that run the Kubb CLI.
Supporting Kubb
Kubb is an open source project, and its development is funded entirely by sponsors. If you would like to become a sponsor, please consider:
Contributing
We welcome contributions that help improve Kubb. A few ways to get involved:
- Found a bug? File it in the issue tracker.
- Have an idea to improve Kubb? Open an issue to share it.
- Need help? Ask the community on Discord.
See CONTRIBUTING.md for the project structure, local setup, and commands.
Contributors 
License
Most of this repository is licensed under the MIT License, Copyright © 2025 Stijn Van Hulle. Most packages use MIT, and @kubb/agent uses AGPL-3.0-or-later.
See LICENSE for details.