Toolverse
Wszystkie skille

api-conventions

autor: mx-space

Standardy projektowania API dla MX Space – spójne konwencje kontrolerów, autentykacji i transformacji odpowiedzi

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
1

O skillu

Umiejętność Claude'a zawierająca wytyczne projektowania API dla projektu MX Space. Stosuj ją podczas pisania kontrolerów, definiowania endpointów HTTP i obsługi żądań. Obejmuje konwencje dekoratorów (ApiController zamiast Controller), mechanizmy autentykacji (@Auth, @CurrentUser), automatyczną transformację odpowiedzi (konwersja do snake_case), paginację z @Paginator oraz walidację parametrów. Pomaga utrzymać spójność i standardy w całej bazie kodu.

Jak używać

  1. Zainstaluj umiejętność w swoim projekcie MX Space, umieszczając plik w katalogu .claude/skills/api-conventions. Umiejętność nie jest bezpośrednio wywoływana przez użytkownika, ale Claude automatycznie stosuje jej reguły podczas generowania lub recenzji kodu kontrolerów.

  2. Podczas definiowania nowych kontrolerów zawsze używaj dekoratora @ApiController zamiast @Controller – system automatycznie doda prefiks /api/v{version} w środowisku produkcyjnym.

  3. Dla endpointów wymagających logowania zastosuj dekorator @Auth(), a dla opcjonalnej autentykacji użyj @IsAuthenticated() lub @CurrentUser() w zależności od potrzeby dostępu do danych użytkownika.

  4. Pamiętaj, że ResponseInterceptor automatycznie transformuje odpowiedzi: tablice zawijane są w {data: [...]}, obiekty zwracane są bezpośrednio, undefined zwraca 204 No Content, a @Paginator dodaje metadane paginacji. Jeśli chcesz pominąć transformację, użyj @Bypass.

  5. Dla endpointów z paginacją dodaj dekorator @HTTPDecorators.Paginator i zwróć wynik z mongoose.paginate(), przekazując page i limit z PagerDto.

  6. Waliduj parametry ścieżki (@Param), query (@Query) i body (@Body) za pomocą odpowiednich DTO – system automatycznie konwertuje nazwy pól z camelCase na snake_case w odpowiedziach JSON.

Podobne skille