Skip to main content

geti-openapi-sync

Regenerate and validate the OpenAPI contract between `application/backend/` and `application/ui/`. Use when backend endpoints, schemas, request or response models, or API surface change, or when `application/ui/src/api/openapi-spec.json` or `openapi-spec.d.ts` is stale. Handles backend spec generation, UI spec placement, TypeScript type regeneration, and the smallest backend and UI checks needed to confirm the contract still matches.

Datos de origen

Repositorio
open-edge-platform/geti
Última actividad en el origen
25 de agosto de 2026 a las 09:29
Idioma detectado de SKILL.md
inglés
Estrellas
1368
Forks
488

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
geti-openapi-sync
description
Regenerate and validate the OpenAPI contract between `application/backend/` and `application/ui/`. Use when backend endpoints, schemas, request or response models, or API surface change, or when `application/ui/src/api/openapi-spec.json` or `openapi-spec.d.ts` is stale. Handles backend spec generation, UI spec placement, TypeScript type regeneration, and the smallest backend and UI checks needed to confirm the contract still matches.
# Geti OpenAPI Sync ## Goal - Keep backend OpenAPI output and UI generated API types in sync. - Prefer regeneration over manual edits to generated JSON or `.d.ts` files. ## Preferred Workflow 1. If the backend is not already running, generate the spec from `application/backend/` with `just gen-api-spec --output-path ../ui/src/api/openapi-spec.json` on Unix-like shells, or `just gen-api-spec --output-path ..\\ui\\src\\api\\openapi-spec.json` on Windows. 2. If the backend is already running on `https://localhost:7860`, work from `application/ui/` and run `npm run update-spec` (it fetches over TLS with `--insecure`, since the backend serves a self-signed certificate). 3. If only the JSON spec changed locally, run `npm run build:api` from `application/ui/` to regenerate `src/api/openapi-spec.d.ts`. 4. Run `npm run format:check` and `npm run type-check` in `application/ui/`, then the narrowest backend or UI tests affected by the contract change. ## When to Use Each Path - Use direct backend generation when working offline, in CI-like flows, or before the server is runnable. - Use `npm run update-spec` when actively iterating with a local backend server. - Use `$geti-backend-dev` for backend fixes if generation exposes schema problems. - Use `$geti-ui-dev` for UI changes that consume the regenerated types. ## Guardrails - Commit the generated spec and `.d.ts` together when the contract change is intentional. - Do not manually edit `application/ui/src/api/openapi-spec.d.ts`. - If generation fails, fix the backend route or schema definitions instead of patching the generated output.
Ver en GitHub