Files
cursor/desk/hooks/README.md
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

39 lines
1.8 KiB
Markdown

# 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.