**Motivations:** - Centraliser les fichiers Cursor (rules, skills, agents, commands, hooks) par user et par projet **Root causes:** - N/A **Correctifs:** - N/A **Evolutions:** - desk: rules, skills-cursor, agents, commands, hooks, argv/hooks/mcp.json - ncantu: README placeholder - 4NK_node, algo, builazoo, ia_local, lecoffre_ng, lecoffre_ng_pprod, lecoffre_ng_test: .cursor contents **Pages affectées:** - cursor/desk/, cursor/ncantu/, cursor/<project>/
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.