跳到正文
cccskills
免费在 GitHub 公开

generate-api-client

Regenerate the frontend TypeScript API client from backend OpenAPI spec. Use after changing backend controller signatures or related data types. Triggers on: generateTypeScript, API regeneration, controller signature changed, OpenAPI lint failure, generated API code.

中文简介正在准备中。当前显示原文说明。

nerds-odd-e/doughnut星标 50(GitHub 50 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md3.2 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<objective> Regenerate the frontend TypeScript API client from the backend OpenAPI spec and fix any broken frontend usage.

Purpose: Keep packages/generated/donut-backend-api in sync with Java controllers — never hand-edit generated output.

Output: Regenerated client + green frontend tests + summary ending with ## API CLIENT GENERATED. </objective>

<context> The frontend API client at `packages/generated/donut-backend-api` is auto-generated from the backend OpenAPI spec.

Never edit generated code directly. This includes whitespace-only cleanup in sdk.gen.ts, types.gen.ts, and open_api_docs.yaml; if generated output changes, accept it or fix the generator path.

Git does not use the Nix prefix. All other repo tooling does: CURSOR_DEV=true nix develop -c …

Do not run raw git diff --check as a generated-client cleanup gate. Use scripts/check_diff_whitespace.sh, which excludes generated API artifacts from manual whitespace fixes.

Regenerate when:

  • A backend controller signature changed
  • A backend data type used by any controller signature changed
  • pnpm openapi:lint or pnpm format:all fails with OpenAPI validation errors

Regenerate in the same change as the controller edit: the backend test RobotsTests.openApiDocsMatchCommittedYaml fails until open_api_docs.yaml matches, so a signature change cannot be committed on its own while CI stays green. </context>

<process> <step name="fix_java_controllers"> Fix the **Java controllers** (not the generated files). </step> <step name="regenerate"> ```bash CURSOR_DEV=true nix develop -c pnpm generateTypeScript ``` </step> <step name="verify_frontend"> Check if the change affected frontend usage — run frontend tests:
CURSOR_DEV=true nix develop -c pnpm frontend:test

Fix any broken frontend code that used the old API signatures. </step>

<step name="openapi_lint_failures"> If `pnpm openapi:lint` fails: **do not** edit `open_api_docs.yaml` (it is generated). Fix Java controllers, regenerate, then re-lint. Playbook details: `.agents/skills/linting_formating/SKILL.md` → **OpenAPI Linting**. </step> </process>

<success_criteria>

  • Java controllers fixed at source (not generated files)
  • pnpm generateTypeScript run with Nix prefix
  • Frontend tests pass after signature changes
  • OpenAPI lint passes (fix controllers + regenerate, never hand-edit YAML)
  • Final output includes ## API CLIENT GENERATED </success_criteria>
<output> Report a short summary to the caller, then the completion marker:
  1. What triggered regeneration (controller/DTO change, lint failure, etc.).
  2. Whether frontend call sites needed updates.
  3. Tests run and confirmed passing.
## API CLIENT GENERATED
</output>

<out_of_scope>

  • Do not hand-edit sdk.gen.ts, types.gen.ts, or open_api_docs.yaml.
  • Do not use raw git diff --check for generated-client whitespace gates. </out_of_scope>

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

backend

免费

Backend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.

中文简介正在准备中。当前显示原文说明。

nerds-odd-e/doughnut502026年10月26日 更新

Backend Java production code, Spring Boot controllers/services/repositories, controller return values, imports, schema ERD pointer. Use when editing backend production Java.

中文简介正在准备中。当前显示原文说明。

nerds-odd-e/doughnut502026年10月26日 更新

Backend Java tests, controller-level stable-boundary tests, JUnit, @Nested, MakeMe builders, @Transactional, parameterized tests. Use when writing or changing backend JUnit tests.

中文简介正在准备中。当前显示原文说明。

nerds-odd-e/doughnut502026年10月26日 更新

cli

免费

related to donut CLI. Use when working on donut-cli.

中文简介正在准备中。当前显示原文说明。

nerds-odd-e/doughnut502026年10月26日 更新

Set up and run the Donut dev environment on Cursor Cloud VM (no Nix). Use when working on Cloud VM, running tests on Cloud VM, or encountering command errors related to missing nix. Triggers on: cloud VM, cloud agent, no nix available, /workspace path.

中文简介正在准备中。当前显示原文说明。

nerds-odd-e/doughnut502026年10月26日 更新

Regenerate docs/database-erd.md from MySQL information_schema (Mermaid ERD: foreign keys and key columns). Use after Flyway schema changes, new migrations, or when the diagram is stale. Triggers on: database ERD, database-erd.md, export_database_erd, schema diagram, ER diagram after migration.

中文简介正在准备中。当前显示原文说明。

nerds-odd-e/doughnut502026年10月26日 更新

查看 nerds-odd-e 的全部技能

报告此技能的问题