💻 Développement

dev-api-doc-generator

Génère une documentation d'API claire et structurée à partir de code, routes ou descriptions.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- dev-api-doc-generator --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } dev-api-doc-generator -Launch"

🚀 Déjà installé ?

claude "/dev-api-doc-generator"

Ou tapez /dev-api-doc-generator dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

documente mon APIswaggerendpoint documentationAPI docs

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/skills/dev-api-doc-generator ~/.claude/skills/

Payload du plugin : skills/dev-api-doc-generator · source éditable : dev-skills/api-doc-generator

📖 Manuel

API Doc Generator

Workflow

Étape 1 — Détection du contexte

Identifie avant tout :

Si aucun format cible n'est précisé, utilise OpenAPI 3.1 YAML pour une API REST, Markdown structuré sinon.


Étape 2 — Extraction des endpoints

Pour chaque endpoint, collecte :

ChampContenu attendu
Méthode + URLPOST /api/v1/payments
DescriptionAction métier claire, pas le nom de la fonction
Path params{id} → type, exemple, contraintes
Query paramsnom, type, requis/optionnel, valeur par défaut
Request bodyschéma JSON avec types, requis, exemples
Headers requisAuthorization, Content-Type, custom headers
Réponses200/201/204 succès + 400/401/403/404/422/500 erreurs
Authscope/rôle requis si applicable

Étape 3 — Format de sortie

OpenAPI 3.1 YAML (format recommandé)

openapi: 3.1.0
info:
  title: Payments API
  version: 1.0.0
paths:
  /api/v1/payments:
    post:
      summary: Créer un paiement
      tags: [Payments]
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required: [amount, currency, recipient_id]
              properties:
                amount:
                  type: integer
                  description: Montant en centimes
                  example: 5000
                currency:
                  type: string
                  enum: [TND, EUR, USD]
                  example: TND
                recipient_id:
                  type: string
                  format: uuid
      responses:
        "201":
          description: Paiement créé
          content:
            application/json:
              example:
                id: "pay_abc123"
                status: "pending"
        "422":
          description: Validation échouée
          content:
            application/json:
              example:
                error: "amount must be positive"
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

Markdown structuré (si OpenAPI non requis)

## POST /api/v1/payments

Crée un nouveau paiement.

**Auth** : Bearer JWT requis (`role: operator`)

**Body** (application/json) :
| Champ | Type | Requis | Description |
|---|---|---|---|
| amount | integer | oui | Montant en centimes |
| currency | string | oui | `TND`, `EUR`, `USD` |
| recipient_id | uuid | oui | ID du destinataire |

**Réponses** :
- `201` — Paiement créé : `{ "id": "pay_abc123", "status": "pending" }`
- `401` — Token manquant ou expiré
- `422` — Champ invalide : `{ "error": "amount must be positive" }`

Étape 4 — Exemples cURL copiables

Génère un cURL par endpoint avec variables d'environnement :

# Créer un paiement
curl -X POST "https://api.example.com/api/v1/payments" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 5000,
    "currency": "TND",
    "recipient_id": "550e8400-e29b-41d4-a716-446655440000"
  }'

Étape 5 — Table de synthèse

Produit toujours une table des routes en introduction :

MéthodeEndpointAuthDescription
GET/api/v1/paymentsJWTLister les paiements
POST/api/v1/paymentsJWTCréer un paiement
GET/api/v1/payments/{id}JWTDétail d'un paiement
DELETE/api/v1/payments/{id}JWT + adminAnnuler un paiement

Critères de décision — format

SituationFormat recommandé
API publique / SDK tiersOpenAPI 3.1 YAML + Swagger UI
Documentation interne équipeMarkdown structuré
Tests manuels / QAPostman Collection v2.1
API GraphQLSDL + descriptions de champs
Micro-service interneOpenAPI minimal (pas de UI)

Pièges et anti-patterns


Bonnes pratiques 2026