ark-sdk-development
Regenerate and debug types across the ARK stack (SDK, API, Dashboard). Use when fixing TypeScript type errors in ark-dashboard, updating types after CRD changes, regenerating types.ts from OpenAPI spec, debugging \
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Regenerate and debug types across the ARK stack (SDK, API, Dashboard). Use when fixing TypeScript type errors in ark-dashboard, updating types after CRD changes, regenerating types.ts from OpenAPI spec, debugging \
How to use
Przejdź do repozytorium ARK i upewnij się, że masz dostęp do plików konfiguracyjnych CRD w katalogu ark/config/crd/ oraz do struktury ark-sdk, ark-api i ark-dashboard.
Jeśli chcesz zaktualizować typy Python z definicji CRD, uruchom make ark-sdk-build w głównym katalogu projektu. Polecenie automatycznie konwertuje pliki YAML CRD do schematu OpenAPI, generuje typy Python i buduje pakiet wheel.
Aby dodać niestandardową funkcjonalność do SDK (np. nowe utility), dodaj pliki Python do katalogu lib/ark-sdk/gen_sdk/overlay/python/ark_sdk/, a następnie ponownie uruchom make ark-sdk-build — overlay'e zostaną skopiowane na wygenerowany kod.
Jeśli musisz uaktualnić modele Pydantic w ark-api (np. gdy eksponujesz nowe pola CRD przez HTTP API), edytuj pliki w services/ark-api/ark-api/src/ark_api/models/, a następnie uruchom make ark-api-build, aby wygenerować openapi.json.
Na koniec, w projekcie ark-dashboard uruchom npm run generate:api, aby wygenerować types.ts na podstawie schematu OpenAPI. Typy TypeScript będą teraz zsynchronizowane z całym stosem.
Jeśli napotkasz błędy typu "Property does not exist on type", sprawdź, czy wszystkie kroki pipeline'u zostały wykonane w kolejności: CRD → ark-sdk-build → ark-api-build → generate:api w dashboard.