Modes unifiés : combiner outils, permissions et comportements
Le concept de modes unifiés
Les agents custom que nous avons vus dans les leçons précédentes définissent un profil statique : un modèle, des outils, un niveau de sécurité. Les modes unifiés vont plus loin en combinant plusieurs dimensions dans une configuration cohérente et activable d’un seul geste.
Un mode unifié regroupe :
- Un ensemble d’outils autorisés
- Des permissions spécifiques
- Un comportement (prompt système)
- Des règles d’auto-approbation
- Des restrictions contextuelles
Pourquoi les modes unifiés ?
Sans modes unifiés, vous devez jongler entre plusieurs paramètres à chaque changement de contexte. Vous passez d’une tâche de revue de code à du déploiement ? Il faut changer l’agent, ajuster les permissions, modifier le prompt.
Les modes unifiés encapsulent tout cela dans un seul profil activable :
# Activer le mode "deploy"
vibe --agent deploy-mode
# Basculer vers le mode "review"
# Shift+Tab → sélectionner review-mode
Structure d’un mode unifié
Un mode unifié est un agent custom avec une intention claire. La différence avec un agent classique est conceptuelle — vous concevez le fichier .toml comme un contexte de travail complet :
# ~/.vibe/agents/review-mode.toml
display_name = "Review Mode"
description = "Mode revue de code : lecture seule, analyse approfondie, suggestions."
safety = "safe"
auto_approve = true
model = "mistral-large-latest"
system_prompt = """
Vous êtes en mode revue de code.
Objectif : analyser la qualité, la sécurité et la maintenabilité du code.
Règles :
- Ne jamais modifier de fichiers
- Produire un rapport structuré (problèmes critiques, avertissements, suggestions)
- Citer les lignes de code concernées avec leur numéro
- Proposer des correctifs sous forme de diff
Format de sortie : Markdown avec sections Critique / Avertissement / Suggestion
"""
enabled_tools = [
"read_file",
"grep",
"list_dir"
]
# ~/.vibe/agents/deploy-mode.toml
display_name = "Deploy Mode"
description = "Mode déploiement : build, test, deploy avec validation à chaque étape."
safety = "destructive"
auto_approve = false
model = "codestral-latest"
system_prompt = """
Vous êtes en mode déploiement.
Séquence obligatoire :
1. Vérifier que tous les tests passent
2. Builder le projet
3. Valider le build (pas d'erreurs, pas de warnings)
4. Demander confirmation avant le déploiement effectif
5. Déployer
6. Vérifier que le service répond
Ne jamais déployer si les tests échouent.
"""
enabled_tools = [
"read_file",
"write_file",
"bash",
"grep",
"list_dir",
"ask_user_question"
]
Concevoir des modes complémentaires
L’idée est de créer un ensemble de modes qui couvrent votre cycle de développement :
Mode exploration
display_name = "Explore Mode"
safety = "safe"
auto_approve = true
system_prompt = """Explorez le codebase, identifiez l'architecture, les patterns et les dépendances."""
enabled_tools = ["read_file", "grep", "list_dir"]
Mode développement
display_name = "Dev Mode"
safety = "neutral"
auto_approve = false
system_prompt = """Implémentez les fonctionnalités demandées. Écrivez des tests pour chaque changement."""
enabled_tools = ["read_file", "write_file", "edit_file", "bash", "grep", "list_dir"]
Mode correction
display_name = "Fix Mode"
safety = "neutral"
auto_approve = true
system_prompt = """Corrigez les bugs signalés. Minimisez les changements. Ne touchez que le code concerné."""
enabled_tools = ["read_file", "edit_file", "grep"]
Basculer entre les modes
En session interactive, utilisez Shift+Tab pour passer d’un mode à l’autre. Vibe affiche la liste de tous vos agents — built-in et custom — avec leur description.
Depuis la ligne de commande :
# Démarrer directement dans un mode
vibe --agent review-mode
# Lister les agents disponibles
ls ~/.vibe/agents/
Organisation des fichiers
Adoptez une convention de nommage claire pour vos modes :
~/.vibe/agents/
├── review-mode.toml # Revue de code
├── deploy-mode.toml # Déploiement
├── dev-mode.toml # Développement
├── fix-mode.toml # Corrections
├── explore-mode.toml # Exploration
└── doc-mode.toml # Documentation
Points clés à retenir
- Un mode unifié est un agent custom conçu comme un contexte de travail complet
- Il combine outils, permissions, prompt système et modèle en une seule configuration
- Créez des modes complémentaires pour couvrir votre cycle de développement
Shift+Tabpermet de basculer entre modes en temps réel- Nommez vos fichiers de manière cohérente pour les retrouver facilement
- Chaque mode doit avoir un objectif clair et des permissions adaptées