Files
cursor/desk/hooks
Nicolas Cantu 785868b53b Initial: desk + ncantu placeholder + per-project cursor configs
**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>/
2026-03-03 23:29:29 +01:00
..

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.