Aller au contenu principal

Le fichier config.toml

Mis à jour le 29 juillet 2026

Où se trouve config.toml ?

Vibe cherche son fichier de configuration à deux endroits, dans cet ordre :

  1. Configuration projet : ./.vibe/config.toml (dans le répertoire courant)
  2. Configuration globale : ~/.vibe/config.toml (dans votre home)

La configuration projet a priorité sur la configuration globale. Ce mécanisme est ce qui rend l’outil utilisable dans une journée normale de développeur : votre configuration globale reflète vos habitudes, et le dépôt d’un client impose ses propres règles à l’intérieur de son répertoire, sans que vous ayez à rien basculer manuellement.

Structure du fichier

Le fichier config.toml utilise le format TOML, un format de configuration lisible et sans ambiguïté. Voici un exemple complet commenté, qui contient l’essentiel de ce dont vous aurez besoin :

# ~/.vibe/config.toml

# Modèle par défaut
active_model = "devstral-2"

# Prompt système personnalisé
system_prompt_id = "my_custom_prompt"

# Thème de l'interface
theme = "dark"

# Mises à jour automatiques
enable_auto_update = true

# Sécurité : approbation des outils
[safety]
auto_approve = false

Choisir le modèle

Le paramètre active_model détermine quel modèle Vibe utilise pour la génération. Par défaut, c’est Devstral 2 :

active_model = "devstral-2"

Vous n’êtes pas obligé de passer par le fichier pour en changer : la commande /model bascule de modèle en pleine session, et affiche la liste de ceux qui sont disponibles. Le fichier sert à fixer votre choix par défaut, la commande à faire un essai ponctuel.

Personnaliser le prompt système

Le prompt système définit le comportement de Vibe. Par défaut, il est configuré pour être un assistant de codage efficace, mais rien ne vous empêche de le spécialiser. C’est souvent le réglage qui apporte le gain le plus visible : un agent qui connaît d’avance vos conventions cesse de proposer du code qu’il faudra reformater.

Les prompts sont des fichiers Markdown dans ~/.vibe/prompts/. Créez le vôtre, ici pour une équipe qui travaille en Python et FastAPI :

mkdir -p ~/.vibe/prompts
cat > ~/.vibe/prompts/mon_prompt.md << 'EOF'
Tu es un assistant de développement spécialisé en Python et FastAPI.
Tu écris du code propre, typé, avec des docstrings.
Tu privilégies les approches fonctionnelles quand c'est possible.
Tu réponds toujours en français.
EOF

Puis référencez-le dans config.toml, en reprenant le nom du fichier sans son extension :

system_prompt_id = "mon_prompt"

Configurer les agents

Les agents vont plus loin que le prompt seul : ce sont des profils de configuration complets, où chaque agent a son propre modèle, son prompt système et ses permissions d’outils. Vous les créez dans ~/.vibe/agents/. L’exemple le plus parlant est celui de la revue de code :

# ~/.vibe/agents/code_review.toml

active_model = "devstral-2"
system_prompt_id = "code_reviewer"
disabled_tools = ["write_file", "bash"]

[tools.bash]
permission = "never"

Lancez-le à la demande :

vibe --agent code_review

Cet agent ne peut que lire : ni écrire de fichiers, ni exécuter de commandes. Vous pouvez donc le laisser parcourir la branche d’un collègue sans redouter la moindre modification accidentelle, ce qui en fait le mode idéal pour une revue de code en toute sécurité.

Contrôle des outils

Ce filtrage des outils s’applique aussi à la configuration principale. Deux listes sont disponibles, l’une pour n’autoriser que certains outils, l’autre pour en interdire :

# Activer uniquement certains outils
enabled_tools = ["read_file", "grep", "search_replace"]

# Désactiver des outils spécifiques
disabled_tools = ["bash", "write_file"]

Écrire chaque nom à la main devient vite pénible quand un serveur MCP expose vingt outils. Les filtres acceptent donc des wildcards et des expressions régulières, ce qui permet de raisonner par famille plutôt que par outil :

# Activer tous les outils d'un serveur MCP spécifique
enabled_tools = ["serena_*"]

# Désactiver tous les outils MCP
disabled_tools = ["mcp_*"]

# Utiliser une regex
enabled_tools = ["re:^serena_.*$"]

Thème et emplacement de la configuration

Le thème se règle dans le même fichier, ou à chaud via la commande /theme :

theme = "dark"

Les thèmes disponibles varient selon la version ; utilisez /theme dans le mode interactif pour voir la liste complète et prévisualiser chaque option avant de figer votre choix.

Enfin, Vibe stocke par défaut sa configuration dans ~/.vibe/, mais cet emplacement se change par variable d’environnement :

export VIBE_HOME="/chemin/vers/mon/dossier/vibe"

C’est utile si votre home est sur un disque réseau lent, où chaque lecture de configuration se paierait en latence, ou si vous partagez une configuration entre plusieurs machines via un service de synchronisation.

Configuration par projet

Revenons au cas d’ouverture. Pour des paramètres propres à un projet, créez .vibe/config.toml à sa racine :

mkdir -p .vibe
cat > .vibe/config.toml << 'EOF'
active_model = "devstral-2"
system_prompt_id = "python_expert"

[tools.bash]
permission = "always"
EOF

Une précaution avant de commiter : ajoutez .vibe/ à votre .gitignore si le fichier contient des informations sensibles, par exemple des noms de variables ou des URL internes que vous ne souhaitez pas voir partir dans le dépôt.

Points clés à retenir

  • config.toml existe en version globale (~/.vibe/) et par projet (./.vibe/)
  • La configuration projet a priorité sur la globale
  • Les agents sont des profils complets avec modèle, prompt et permissions
  • Les outils peuvent être filtrés avec des wildcards ou des regex
  • La variable VIBE_HOME permet de changer le répertoire de configuration