Créer une couche de service API

VérifiéSûr

Crée la couche de données complète pour une nouvelle ressource API : types (snake_case, miroir de l'API), contrats (camelCase, modèle applicatif), adaptateurs purs avec mappages entrant/sortant, et un service utilisant HttpClient. Suit des règles strictes (pas de try/catch, pas de map/filter dans le service, fonctions d'adaptateur pures). Utile lors de l'ajout d'une intégration API à un module, garantissant la séparation entre les couches API et application.

Spar Skills Guide Bot
DeveloppementIntermédiaire
15002/06/2026
Claude CodeCursor
#data-layer#api-integration#angular#typescript

Recommandé pour

Notre avis

Crée une couche de données complète pour une ressource, incluant types, contrats, adaptateurs et service, en suivant une architecture spécifique.

Points forts

  • Automatise la création cohérente de la couche service/adapter/types
  • Assure le respect des conventions (snake_case pour API, camelCase pour l'application)
  • Génère des adaptateurs purs sans effets de bord et un service sans try/catch
  • Valide avec tsc --noEmit après génération

Limites

  • Nécessite que l'utilisateur fournisse des détails sur le format JSON et les opérations
  • Suppose que l'architecture suit exactement les sections 4.1-4.3 de docs/ARCHITECTURE.md
  • Ne gère pas les cas avancés comme l'authentification ou la pagination
Quand l'utiliser

À utiliser lors de l'ajout d'une nouvelle intégration API dans un projet Angular suivant une architecture avec séparation stricte des types et adaptateurs.

Quand l'éviter

Ne pas utiliser si le projet n'utilise pas HttpClient Angular ou si l'architecture ne correspond pas aux sections spécifiées.

Analyse de sécurité

Sûr
Score qualité92/100

The skill only generates code files and runs 'npx tsc --noEmit' for validation. It does not execute external scripts, delete files, or exfiltrate data. No destructive commands or obfuscation are present. Allowed tools are used for legitimate purposes.

Aucun point d'attention détecté

Exemples

Create data layer for 'products' resource
dev-create-service products
Add API integration for 'users' resource with full CRUD
dev-create-service users
Endpoint base URL: /api/users
Response JSON format: { "id": 1, "name": "John", "email": "john@example.com" }
Operations: GET list, GET by ID, POST, PATCH, DELETE

name: dev-create-service description: "Use when adding API integration to a module — creates types, contracts, adapter, and service layer." user-invocable: true argument-hint: "[resource-name]" allowed-tools: Read, Write, Edit, Bash, Glob, Grep

Create the complete data layer for a resource following docs/ARCHITECTURE.md sections 4.1-4.3.

Resource: $ARGUMENTS

Steps

  1. Read docs/ARCHITECTURE.md sections 4.1 (Services), 4.2 (Adapters), 4.3 (Types).

  2. Ask the user:

    • What is the endpoint base URL? (e.g. /api/marketplace)
    • What is the response JSON format? (ask for an example or describe the fields)
    • Which operations? (GET list, GET by ID, POST, PATCH, DELETE)
  3. Create in order:

    a. types/[resource].types.ts -- mirrors API exactly (snake_case) b. types/[resource].contracts.ts -- app contract (camelCase, correct types) c. adapters/[resource].adapter.ts -- inbound (API->App) + outbound (App->API) d. services/[resource].service.ts -- HttpClient only, inject(HttpClient), @Injectable({ providedIn: 'root' })

  4. Required rules:

    • Service: NO try/catch, NO .map()/.filter()/new Date()
    • Adapter: pure functions, no side effects
    • Types separated: .types.ts (API) != .contracts.ts (App)
  5. Validate: npx tsc --noEmit

Skills similaires