# Cursor Hooks (niveau utilisateur) Hooks pour observer et étendre le cycle de l'agent Cursor. Utiles pour la commande `/fix-lint` et le subagent fix-lint en arrière-plan. ## Logs Tous les événements sont journalisés dans `~/.cursor/logs/hooks.log`. ## Hooks configurés - **sessionStart** : Log démarrage session - **sessionEnd** : Log fin session - **subagentStart** : Log lancement subagent, autorise fix-lint - **subagentStop** : Log fin subagent, followup pour fix-lint (vérifier lint) - **beforeShellExecution** : Log commande shell, autorise par défaut - **afterShellExecution** : Log sortie commande (tronquée) - **beforeReadFile** : Log accès fichier - **afterFileEdit** : Log édition fichier - **stop** : Log fin agent (completed/aborted/error) - **postToolUseFailure** : Log échec outil (shell, etc.) ## Fix-lint Quand le subagent fix-lint se termine avec succès, `subagentStop` ajoute un message de suivi suggérant de relancer `npm run lint` dans les trois applications. ## Déploiement et correction automatique Quand un subagent de déploiement échoue (`status=error` et résultat contenant deploy/déploiement), `subagentStop` retourne un `followup_message` demandant à l'agent parent d'analyser l'erreur, identifier la root cause, corriger le bug et retenter. Pour bénéficier de ce flux, lancer le déploiement via le subagent `/deploy` (et non via une commande shell directe). ## Personnalisation - **Bloquer une commande** : modifier `before-shell-execution.sh`, retourner `"permission":"deny"`. - **Bloquer un subagent** : modifier `subagent-start.sh`, retourner `{"decision":"deny","reason":"..."}`. - **Désactiver un hook** : retirer l'entrée correspondante dans `~/.cursor/hooks.json`. ## Redémarrage Redémarrer Cursor après modification de `hooks.json` ou des scripts.