
kubb
一份 OpenAPI,自动生成类型安全的 TS 请求代码
Kubb 是一个面向代码生成的元框架,核心目标是把 OpenAPI/Swagger 规范自动转换成类型安全的 TypeScript 代码。它解决的是前后端接口契约同步的老问题:手写 API 类型、请求函数和校验逻辑既费时又容易和文档脱节。Kubb 采用模块化、插件驱动的引擎设计,用户按需组合插件,从同一份 OpenAPI 文件生成 TypeScript 类型、Zod 校验 schema、TanStack Query/React Query/SWR 的请求 hooks,以及 MSW mock、Faker 假数据等产物。它支持 React、Vue、Svelte、Solid 等主流框架,并可通过 MCP 与 Claude 等 AI 工具协作。相比一次性生成器,Kubb 强调可插拔与可扩展,让团队把接口代码纳入构建流程,减少重复劳动并保证类型与接口定义始终一致。
项目数据
使用教程
环境要求
- Node.js 环境(需能使用 npx / npm)
- 包管理器 bun、pnpm 或 npm 任选其一
- 一份要被转换成代码的 OpenAPI/Swagger schema
- 项目目录(可为空目录,向导会在需要时创建 package.json)
安装与启动步骤
-
1安装 kubb
在项目目录中用你惯用的包管理器安装 kubb,三种命令任选其一即可。
npm install kubb -
2运行初始化向导
向导会按需创建 package.json,引导你选择插件、安装对应依赖,并写出 kubb.config.ts。
npx kubb init -
3生成代码
执行生成命令,按 kubb.config.ts 中的配置从 schema 产出类型、客户端、hooks、校验器、mock 等文件。
npx kubb generate -
4查阅进阶用法
README 只给出安装与快速开始,插件组合与高级配置请到官网文档查看。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
kubb.config.ts | 是 | 由 init 向导生成的配置文件,定义输入 schema 与所选插件 | kubb.config.ts |
如何确认成功
执行 npx kubb generate 后终端无报错,并按所选插件生成对应的 TypeScript 代码文件。
常见问题
Q:该用哪个包管理器安装?
A:README 给出了三种方式:bun add kubb、pnpm add kubb、npm install kubb,按你项目现有工具链任选其一即可。
Q:项目里还没有 package.json 怎么办?
A:不需要手动准备,kubb init 向导会在需要时自动创建 package.json,再继续引导插件选择。
Q:怎么选择生成哪些产物?
A:由 init 向导引导你选择插件,插件决定生成类型、客户端、hooks、Zod 校验、Faker mock、MSW handlers 等产物。
Q:生成命令有哪些参数?
A:README 只给出了 npx kubb generate 这一条基础命令,更多参数与高级特性请查阅官方文档 https://kubb.dev。
注意事项
- npx kubb init 会自动安装所选插件所需的依赖包,执行前请确认网络可用。
- 首次运行会写入 kubb.config.ts,建议将该文件纳入版本管理。
- README 未提供插件配置的具体写法,实际配置请以 https://kubb.dev 文档为准。
核心亮点
- 插件化架构,可按需组合类型、Zod、Query、MSW 等生成器,不绑定单一技术栈
- 同时覆盖 React/Vue/Svelte/Solid 及 TanStack Query、SWR,框架适配面广
- 从 OpenAPI 单一来源生成类型与校验,减少手写接口代码和文档漂移
不足之处
- 插件组合灵活但配置概念较多,新手上手成本偏高
- 生态与社区规模仍小于 OpenAPI Generator 等成熟方案,边缘场景文档待完善
适用场景
- 前端团队根据后端 OpenAPI 文档自动生成类型安全的请求 hooks 和校验逻辑
- 全栈项目用同一份规范生成 Zod schema,前后端共享运行时校验
- 测试环境用 Kubb 生成 MSW mock 和 Faker 假数据,快速搭建接口模拟
替代项目
OpenAPI Generator、orval、openapi-typescript
项目介绍
上一篇:ml-diffucoder
下一篇:cog
同类项目推荐
bolt.new
开源
想到啥说啥,网页应用当场生成直接能用
Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···
fuzz4all
开源
用大模型自动生成测试输入,发现各种软件漏洞
️Fuzz4All: Universal Fuzzing with Large Language Models
superpowers-zh
开源
全套 AI 编程神技汉化好了,照着用就行。
AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···
Gitea 代码托管
开源
轻量 Git 代码托管平台
Git with a cup of tea! Painless self-hosted all-in-one software development service,···