Claude Code In Action
← Toutes les leçons
Leçon 18Claude Code In Action

Another useful hook

Audio récapitulatif

Pas de récapitulatif audio pour cette leçon.

Notes de cours

Notes d'étude : Les Hooks dans Claude Code

  • Types de Hooks (Déclencheurs) : En plus de PreToolUse et PostToolUse, il existe d'autres hooks spécifiques :
  • Notification : Déclenché lorsque Claude Code envoie une notification (demande de permission ou inactivité de 60 secondes).
  • Stop : Déclenché lorsque Claude Code a terminé sa réponse.
  • SubagentStop : Déclenché lorsqu'un sous-agent (affiché comme une "Tâche") a terminé.
  • PreCompact : S'exécute avant une opération de compactage (manuelle ou automatique).
  • UserPromptSubmit : S'exécute lorsque l'utilisateur soumet une requête, avant le traitement par Claude.
  • SessionStart / SessionEnd : Début ou fin d'une session.
  • Variabilité de l'Entrée (stdin) :
  • La structure de l'entrée (stdin) fournie à une commande de hook change en fonction du type de hook exécuté (ex. : PreToolUse vs. Stop).
  • Pour les hooks liés aux outils (PreToolUse et PostToolUse), le champ tool_input diffère selon l'outil spécifique appelé (ex. : TodoWrite).
  • Défi de Programmation :
  • La nature variable de la structure de l'entrée rend la création de hooks complexes, car la structure exacte des données n'est pas toujours connue à l'avance.
  • Solution (Hook Assistant) :
  • Pour inspecter la structure des données, il est recommandé d'utiliser un "hook assistant" (par exemple, un hook PostToolUse configuré pour exécuter une commande comme jq . > post-log. json).
  • Cette méthode permet d'enregistrer l'entrée brute du hook pour l'analyser et comprendre les données avant d'écrire la logique principale du hook.

Takeaways

  • Il existe de nombreux types de hooks spécifiques (ex: Notification, Stop, UserPromptSubmit) au-delà des hooks d'outils standards.
  • La structure de l'entrée (stdin) est variable et dépend du type de hook exécuté ainsi que de l'outil spécifique appelé.
  • Cette variabilité rend la création de hooks complexes car la structure des données n'est pas toujours connue à l'avance.
  • La solution recommandée est d'utiliser un "hook assistant" (comme enregistrer l'entrée brute) pour inspecter et analyser la structure des données avant d'écrire la logique principale.
Cartes mémo 10 cartes
Question
cliquez pour révéler · ←/→
Réponse
cliquez pour retourner
Exporter vers Anki (.tsv) ↓
Vérification des connaissances 6 questions