ArrayKit

Créateur de hooks

Construisez des hooks d’événement et attrapez les matchers qui ne se seraient jamais déclenchés.

Créateur de hooks

Construisez des hooks d’événement et attrapez les matchers qui ne se seraient jamais déclenchés.

Les commandes de hook citent souvent des scripts et chemins internes. Tout est assemblé dans le navigateur et rien n’est envoyé.

Vérifier ce que ces outils peuvent exécuter

À propos de Générateur de hooks

Les hooks exécutent des commandes shell à des points fixes d'une session : après l'écriture d'un fichier, avant l'exécution d'un outil, à la fin d'un tour. C'est la seule partie de la configuration qui exécute du code sans redemander à chaque fois, ce qui rend rentable la chasse à ses échecs silencieux. Un matcher qui nomme un outil inexistant ne se déclenche jamais et ne se plaint jamais. Une commande qui cherche un argument reçoit une chaîne vide, car l'événement arrive en JSON sur l'entrée standard et non en arguments. Et seuls certains événements peuvent réellement empêcher ce qui allait se produire. Ce créateur couvre les trois cas et dit quels événements bloquent et lesquels ne font qu'observer.

Fonctionnalités

  • Chaque événement listé avec ce qui le déclenche
  • Matchers vérifiés contre de vrais noms d’outils, casse comprise
  • Avertit quand un matcher est posé sur un événement sans outil
  • Avertit quand une commande cherche des arguments qu’elle ne recevra jamais
  • Dit quels événements peuvent bloquer une action, et comment
  • Motifs de matcher courants proposés en un clic
  • Plusieurs hooks regroupés correctement par événement et matcher
  • Signale une commande destructrice avant qu’elle ne tourne sans surveillance

Comment utiliser Générateur de hooks

  1. Choisissez l’événement où intervenir
  2. Ajoutez un matcher si l’événement est propre à un outil
  3. Écrivez la commande en lisant la charge sur l’entrée standard
  4. Lisez les alertes puis fusionnez la sortie dans settings.json

Exemple

Entrée

prettier --write "$1"

Sortie

Warning: $1 will be empty — a hook is not given arguments

L’événement arrive en JSON par un tube ; lisez-le avec jq.

Erreurs courantes et dépannage

  • Le hook ne s’exécute jamais. — Le plus souvent le matcher. Les noms d’outils prennent une majuscule et distinguent la casse — Write, pas write — et un nom inexistant ne correspond à rien, silencieusement.
  • La commande tourne mais ne reçoit rien. — L’entrée du hook arrive en JSON sur l’entrée standard. Lisez-la avec par exemple jq -r '.tool_input.file_path' plutôt que d’attendre un argument.
  • Mon hook n’arrive pas à arrêter l’appel. — Seuls certains événements le peuvent, et seulement en sortant avec le statut 2. Tout le reste vaut « continue », et des événements comme PostToolUse se déclenchent après coup de toute façon.
  • La session se bloque sur mon hook. — Fixez un délai. Un hook qui attend quelque chose — un appel réseau, un verrou — retient toute la session pendant ce temps.

Foire aux questions

Quel événement pour un formateur ?
PostToolUse avec un matcher sur les outils d’écriture, pour qu’il tourne quand le fichier existe. Formater avant l’écriture n’a rien à formater.
Comment le hook reçoit-il l’événement ?
En JSON sur l’entrée standard : le nom de l’outil, son entrée et le contexte. Rien n’est passé en argument de ligne de commande, et c’est pourquoi une commande écrite autour de $1 ne reçoit rien.
Un hook peut-il empêcher un outil de s’exécuter ?
Avant son exécution, oui : sortir avec le statut 2 bloque. Quels événements le permettent s’affiche au moment du choix, car tenter de bloquer depuis un événement postérieur est une erreur aussi fréquente que déroutante.
Les hooks tournent-ils sans demander ?
Oui — c’est leur raison d’être et la raison de lire attentivement tout hook avant de l’ajouter. Un hook qui supprime des fichiers est signalé ici, mais la règle générale est que tout ce fichier tourne sans surveillance.
Puis-je avoir plusieurs hooks sur un événement ?
Oui. Ceux qui partagent événement et matcher sont regroupés dans la sortie, forme attendue par le fichier de configuration.

Outils associés

Plus d’outils IA et agents

Voir tous les outils IA et agents · Tous les outils