Files
2025-11-30 08:26:47 +08:00

3.0 KiB

name, description, allowed-tools
name description allowed-tools
generating-jsdoc Automatically generates JSDoc documentation for ES6 modules with @param, @returns, @throws and examples. Use when adding functions, refactoring, or improving documentation Read, Write, Grep, Glob, Bash

Générateur JSDoc

Génère documentation JSDoc pour modules ES6 (functions, classes, exports).

Table des matières

Quand utiliser

  • Ajout fonctions ou classes
  • Refactoring code
  • Amélioration documentation
  • Avant release
  • Onboarding développeurs

Scripts npm

  • npm run analyze:jsdoc - Couverture JSDoc
  • npm run improve:jsdoc - Améliorer documentation
  • JSDoc HTML generation (si configuré)

Format JSDoc essentiel

Fonction :

/**
 * Description brève (impératif : "Calcule", pas "Cette fonction")
 *
 * @param {Type} paramName - Description
 * @param {Type} paramName2 - Description
 * @returns {Type} Description retour
 * @throws {ErrorType} Conditions erreur
 * @example
 * functionName(value1, value2); // → result
 */

Classe :

/**
 * Description classe
 * @class
 * @extends ParentClass
 */
export class ClassName {}

Types : string, number, boolean, Array<Type>, {key: Type}, Promise<Type>, Type1|Type2

Patterns projet

Priorités :

  • Haute : API publiques, fonctions complexes, classes
  • Moyenne : Méthodes, callbacks, utilitaires
  • Basse : Fonctions privées simples, getters évidents

Tags spéciaux :

  • @typedef - Définir types complexes
  • @fires - Événements émis
  • @deprecated - Code obsolète
  • @see {@link Name} - Références croisées

Examine code existant (modes, utils, core) pour patterns.

Workflow

  1. Analyser : npm run analyze:jsdoc → Identifier gaps
  2. Documenter : Description + @param + @returns + @example
  3. Enrichir : Cas limites, erreurs (@throws)
  4. Vérifier : Code cohérent, types précis, exemples du domaine

Checklist

  • Description brève et impérative
  • @param pour chaque paramètre avec type précis
  • @returns avec type et description
  • @throws si erreurs possibles
  • @example (au moins 1 cas réaliste)
  • @typedef pour types complexes
  • Types précis (pas {Object} générique)
  • Exemples avec valeurs du domaine
  • Cas limites documentés (null, undefined)
  • Cohérent avec reste projet

En cas de doute

Règles absolues :

  1. Description impérative (imperative mood)
  2. Types explicites (jamais {*} sauf dernier recours)
  3. Exemples du domaine (réalistes)
  4. @example obligatoire pour API publiques
  5. Maintenir à jour avec refactoring

Références :

  • Code existant patterns (modes, utils)
  • npm run analyze:jsdoc - Vérifier couverture
  • JSDoc.app - Syntaxe spécifique
  • Examiner fichiers bien documentés du projet