关于 kineti-fe-types-sync
面向 Kineti 前端仓库开发者的技能,用于同步后端生成的契约与前端代码。流程涵盖固定后端输入、类型生成、消费者与模拟数据调整及验证,且不提交改动。
主要功能
- 01检查仓库映射与配置
- 02根据后端契约生成类型
- 03调整前端调用方与模拟数据
- 04验证类型和 CI 单元测试
- 05保留本地改动供审查
适用场景
- 01后端契约变更后刷新前端类型
- 02按 API 结构变化更新模拟数据
- 03检查前端与后端 Schema 的兼容性
- 04准备生成改动以供本地审查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sztadii/ agent-skills --skill kineti-fe-types-sync安装后在 Claude Code 中输入/kineti-fe-types-sync确认已加载。
附带文件agents/openai.yaml
详细介绍
在 Kineti 前端中同步后端类型
范围
生成当前的后端契约,调整前端调用方和模拟数据,并在选定的任务检出目录中进行验证。保留未提交的更改,供在 Changes 中审查;不要推送、发布 PR/程序包/比较链接、部署或更改计划。 编辑此技能不会调用它。
依赖项
无技能依赖
工作流
解析输入
读取远程仓库、仓库/嵌套指令、package.json、生成器配置和 CI。使用现有生成器/脚本,绝不替换。检查未合并的 PR 和远程分支是否存在重叠;报告重叠并继续,除非存在具体冲突。保留他人的工作;没有 PR 不代表没有相关工作。
获取前端/后端默认分支并记录 SHA。使用当前前端基线,同时保留用户的工作/历史;报告阻碍,而不是重置、丢弃或悄悄暂存更改。根据当前配置验证以下 kineti1 映射:
| 前端 | 后端输入 | 生成方式 |
|---|---|---|
| drones-frontend | drones-backend/docs/openapi.json、drones-backend/docs/ws_models.json、gdk-backend/docs/openapi.json | pnpm run generate-api-types;OpenAPI 和 WebSocket 生成器 |
| gdk-frontend | gdk-backend/docs/openapi.json | pnpm run generate-api-types;openapi-ts.config.ts |
对于其他前端,根据配置确定仓库、schema/输出路径和命令;缺少映射时请询问。不要猜测或编辑 BE 代码。
生成
- 使用 clone 或 fetch/pull --ff-only 准备固定在所记录 SHA 的隔离后端副本。保留用户的后端检出目录和预期的同级路径。若发生路径冲突,则使用隔离布局,并将前端符号链接到任务检出目录;确认解析结果/输出都落在该目录中。不要将前端更改移入临时克隆,也不要重写共享生成器路径。
- 每条身份验证/安装命令和重试时都设置
AWS_PROFILE=kineti。在前端检出目录中运行AWS_PROFILE=kineti pnpm run preinstall,然后运行AWS_PROFILE=kineti pnpm install --frozen-lockfile。使用项目的 pnpm/registry/hooks,不要依赖继承的 shell 配置或全局凭据更改。妥善保管密钥;使用AWS_PROFILE=kineti aws sts get-caller-identity诊断身份验证问题。 - 运行完整的现有生成流程;检查输出和格式化带来的副作用。不要编辑生成的契约。只有在确实必要且属于范围内时,才更改依赖/锁文件。
适配与验证
运行完整类型检查;若前序阶段受阻,则分别执行后续阶段。适配代码、模拟对象和测试之前,对照 schema 和后端实现比较更改后的契约:可空性、必填字段、枚举、结构和运行时语义。使用现有工具更新可见文本的翻译。不要使用 any、无正当理由的类型断言、较弱类型、禁用检查或删除断言来掩盖不兼容问题。修复相关故障并重新运行受影响的检查。
安装、生成和适配全部完成后,并行运行互不依赖的检查。串行执行有前置条件或共用可变资源的步骤和检查;修复故障前收集所有结果。
达到就绪状态要求完整类型检查和完整的非 watch 模式 CI 单元测试套件通过。只有 PR CI 要求时才运行其他 lint/格式/翻译/构建检查;仅行为变更不足以成为运行额外测试套件的理由。查明项目命令:drones-frontend 使用 test-ci,gdk-frontend 使用 test:ci。将未提交的更改纳入检查范围;Nx 验证使用 NX_SKIP_NX_CACHE=true NX_NO_CLOUD=true。
绝不运行本地/远程 E2E 或浏览器测试套件,包括 Playwright/Cypress,即使仓库指令提到了这些测试也不例外。检查聚合脚本/Nx 目标;选择非 E2E 目标。报告 E2E 是有意未运行,不要称其通过或受阻。不要禁用或修改 CI。
检查最终差异,以及使用固定输入可复现的生成结果。移除意外变动,同时保留用户的工作。安装/生成失败属于阻碍,不能据此认定 BE 契约存在问题。对于尚未解决的上游/外部问题,须附上证据并报告为未完成。
结果
用波兰语简要回复:无需更改/已在本地 Changes 中准备就绪/受阻或需要决策。注明前端/后端 SHA、生成/适配的部分、类似 PR、生成/类型检查/其他结果,以及失败/未运行的检查。对于剩余的 TS 错误,注明文件、错误信息和契约变更。仅凭类型无法证明运行时兼容性。以本地可供审查的结果为止。