Journal

Claude Code : maîtriser hooks, sous-agents et mémoire

Journal du dimanche 23 août 2026, généré le 23 août à 19:40

Claude Code n'est pas un simple chat dans le terminal

Claude Code fonctionne selon une boucle agentique : le modèle lit le contexte, choisit un outil (lecture de fichier, édition, exécution shell, recherche web), observe le résultat, puis recommence jusqu'à résoudre la tâche. Comprendre cette boucle change la façon dont on écrit ses instructions : mieux vaut décrire un objectif vérifiable ("les tests passent") qu'une suite d'étapes rigides.

CLAUDE.md : le contexte persistant du projet

Un fichier CLAUDE.md à la racine (ou dans un sous-dossier) est injecté automatiquement dans le contexte. Il sert à documenter les conventions qui ne se déduisent pas du code : commandes de build, style de commit, pièges connus. Évitez d'y dupliquer ce qu'un grep révèle instantanément.

Hooks : automatiser sans dépendre du modèle

Les hooks exécutent une commande shell à un événement précis (avant un outil, après une réponse). Contrairement à une instruction en langage naturel, un hook s'exécute toujours, même si le modèle "oublie". Exemple : bloquer les commits qui touchent .env.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -q '\\.env'; then echo 'Blocked: .env file' >&2; exit 2; fi"
          }
        ]
      }
    ]
  }
}

Un code de sortie 2 bloque l'action et renvoie le message d'erreur au modèle, qui peut alors ajuster son approche.

Sous-agents : isoler le contexte

Un sous-agent (via l'outil Agent) démarre avec un contexte vierge et un prompt autonome. C'est utile pour deux raisons distinctes : paralléliser des recherches indépendantes, ou protéger la fenêtre de contexte principale d'un gros volume de résultats intermédiaires (logs, sorties de tests). Ne déléguez pas la compréhension elle-même — le prompt doit déjà contenir la synthèse du problème, pas juste "corrige le bug".

MCP et outils différés

Le protocole Model Context Protocol permet de connecter des serveurs externes (bases de données, Gmail, Jira) comme outils natifs. Sur de gros catalogues d'outils, Claude Code charge les schémas à la demande plutôt que tout au démarrage, ce qui réduit le bruit dans le contexte tant que l'outil n'est pas réellement invoqué.

Points de vigilance en révision

  • Les modes de permission (default, acceptEdits, plan) déterminent quelles actions demandent confirmation — à choisir selon la réversibilité des opérations, pas par confort.
  • Les skills et commandes slash encapsulent des procédures répétables ; préférez-les à des instructions copiées-collées dans chaque session.
  • La mémoire persistante entre sessions doit rester factuelle et stable (préférences, décisions), jamais un substitut à git log pour l'historique.