Configuration avancée
Configuration avancée
Fichiers de configuration
Claude Code utilise plusieurs niveaux de configuration, du plus global au plus spécifique.
Hiérarchie des fichiers CLAUDE.md
~/.claude/CLAUDE.md ← Configuration globale (tous les projets)
~/projet/CLAUDE.md ← Configuration du projet (racine)
~/projet/src/CLAUDE.md ← Configuration d'un sous-dossier
~/projet/.claude/settings.json ← Paramètres techniques du projet
~/.claude/settings.json ← Paramètres techniques globaux
Les fichiers CLAUDE.md sont cumulatifs : Claude lit tous les niveaux et les combine. Le fichier le plus spécifique a la priorité en cas de conflit.
settings.json — Paramètres techniques
Le fichier settings.json configure le comportement technique de Claude Code :
{
"permissions": {
"allow": [
"Read",
"Glob",
"Grep",
"Bash(npm run test)",
"Bash(npm run build)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(git push --force)"
]
}
}
Permissions détaillées
Vous pouvez contrôler finement les permissions :
| Permission | Description |
|---|---|
Read |
Lecture de fichiers |
Edit |
Modification de fichiers |
Write |
Création de fichiers |
Bash(commande) |
Exécution d'une commande spécifique |
Bash |
Toutes les commandes bash |
Glob |
Recherche de fichiers |
Grep |
Recherche dans le contenu |
Hooks — Automatisation des actions
Les hooks permettent d'exécuter automatiquement des commandes en réponse aux actions de Claude Code.
Configuration des hooks
Dans settings.json :
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [
{
"type": "command",
"command": "echo 'Un fichier va être modifié'"
}
]
}
],
"PostToolUse": [
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
]
}
]
}
}
Types de hooks disponibles
| Événement | Déclencheur |
|---|---|
PreToolUse |
Avant l'utilisation d'un outil |
PostToolUse |
Après l'utilisation d'un outil |
Notification |
Quand Claude envoie une notification |
Stop |
Quand Claude termine une réponse |
Exemple pratique : Formater après chaque modification
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npx prettier --write $CLAUDE_FILE_PATH"
}
]
}
]
}
}
Ainsi, chaque fichier modifié ou créé par Claude est automatiquement formaté avec Prettier.
Serveurs MCP (Model Context Protocol)
Les serveurs MCP étendent les capacités de Claude Code en lui donnant accès à des outils externes.
Qu'est-ce que MCP ?
Le Model Context Protocol est un standard ouvert qui permet à Claude de communiquer avec des services externes : bases de données, API, outils de monitoring, etc.
Configuration d'un serveur MCP
Dans settings.json :
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost:5432/mydb"
}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "ghp_xxxxxxxxxxxx"
}
}
}
}
Serveurs MCP populaires
| Serveur | Utilisation |
|---|---|
server-postgres |
Requêter une base PostgreSQL |
server-github |
Interagir avec GitHub (issues, PRs) |
server-filesystem |
Accès étendu au système de fichiers |
server-slack |
Envoyer/lire des messages Slack |
server-brave-search |
Recherche web via Brave |
Variables d'environnement
Variables utiles
# Clé API Anthropic (si pas d'authentification OAuth)
export ANTHROPIC_API_KEY="sk-ant-..."
# Modèle par défaut
export CLAUDE_MODEL="claude-sonnet-4-6"
# Répertoire de configuration
export CLAUDE_CONFIG_DIR="~/.claude"
Commandes CLI avancées
Drapeaux utiles
# Mode silencieux (pas d'interface interactive)
claude -p "ta question" --output-format json
# Limiter les outils disponibles
claude --allowedTools "Read,Grep,Glob"
# Utiliser un modèle spécifique
claude --model claude-opus-4-6
# Reprendre la dernière conversation
claude --continue
# Afficher les conversations récentes
claude --resume
# Mode verbeux pour le débugage
claude --verbose
Exemples d'automatisation
# Script de revue de code automatique
git diff --staged | claude -p "Fais une revue de ce diff.
Signale les bugs potentiels, les problèmes de sécurité
et les violations de bonnes pratiques."
# Génération de documentation
claude -p "Génère un fichier CHANGELOG.md basé sur les
commits depuis le dernier tag" --output-format text > CHANGELOG.md
# Analyse de sécurité
claude -p "Analyse les dépendances dans package.json
et signale celles avec des vulnérabilités connues"
Bonnes pratiques de configuration
1. Commencer simple
Ne surchargez pas votre CLAUDE.md. Commencez avec les bases :
# CLAUDE.md
## Commandes
- `npm run dev` : développement
- `npm run test` : tests
- `npm run build` : build
## Règles
- TypeScript strict
- Tests obligatoires
2. Ajouter au fur et à mesure
Quand Claude fait une erreur récurrente, ajoutez une règle dans CLAUDE.md plutôt que de répéter l'instruction à chaque session.
3. Utiliser la mémoire automatique
Claude Code peut aussi sauvegarder des informations automatiquement grâce à son système de mémoire. Si vous lui dites « retiens que... », il créera un fichier mémoire dans ~/.claude/projects/ qui sera rechargé automatiquement dans les futures sessions.
4. Séparer les préoccupations
- CLAUDE.md : conventions et contexte métier
- settings.json : permissions et configuration technique
- Hooks : automatisation des workflows
- MCP : intégrations externes