用途
Output 技能用于指导 AI 智能体导入和使用 Kubb 从 OpenAPI/Swagger 规范生成的代码,涵盖类型、客户端、hooks、schemas 和 mocks。它适用于以下场景:编写调用生成客户端或 hooks 的应用代码;编写使用生成 mocks 或 schemas 的测试;将生成文件接入应用。
主要能力
该技能说明生成代码的落盘位置,展示如何发现真实的导出内容以及某个插件的选项,并列出保持生成代码同步的规则。
生成代码的落盘位置
Kubb 将生成代码写入 kubb.config.ts 中 output.path 指定的目录下(例如 ./src/gen),并按各插件通过自身 output.path 设置的文件夹进行组织(例如 models、clients、hooks)。生成文件带有“Do not edit manually”横幅,并在每次执行 kubb generate 时被重写,因此应通过编辑规范或配置并重新生成来修改它们。
导出名称源自规范的 operationId 和 schema 名称。大小写和分组是可配置的,因此应读取生成文件以获取准确的名称和签名,而不是自行假设。
查找生成了什么
应检查真实输出而非猜测:
- 读取 kubb.config.ts,查看顶层 output.path 以及每个插件的 output.path。
- 列出输出目录,获取实际的文件名和导出名称。
- 读取已安装插件的 Options 类型(node_modules/@kubb/plugin-<name>/src/types.ts 或已发布的类型声明),了解其选项和默认值;并查看插件文档页面(https://kubb.dev/extensions/kubb-labs/plugin-<name>)了解依赖关系。将这些作为事实来源,而不是假设某个选项名称。
- 当设置了 output.barrel 时,从文件夹的 index.ts 导入;否则直接导入文件。
使用方式
按照上述方法定位生成代码后,在应用或测试代码中导入并使用生成的类型、客户端、hooks、schemas 和 mocks。导入时遵循以下规则:
- 绝不编辑 output.path 下的文件。应编辑规范或配置,然后重新运行 kubb generate。
- 导入生成代码,而不是复制它,这样重新生成后调用方仍保持同步。
- 运行时客户端只需配置一次。客户端函数和框架 hooks 共享它。
- 重新生成后进行类型检查,以便规范变更导致调用点出错时能够暴露出来。
适用场景
- 编写调用生成客户端或 hooks 的应用代码。
- 编写使用生成 mocks 或 schemas 的测试。
- 将生成文件接入应用。
限制
资料未提供该技能的具体安装命令、收费或价格信息、支持平台、性能效果等事实,暂未提供。相关技能方面,../config/SKILL.md 用于编写 kubb.config.ts 和选择插件。