Modes personnalisés : code review, deploy, lint
Créer des modes adaptés à votre workflow
La leçon sur les modes unifiés vous a présenté le concept. Dans cette leçon, nous allons construire trois modes personnalisés concrets qui couvrent des besoins récurrents de tout développeur : la revue de code, le déploiement et le linting.
Chaque mode est un fichier .toml dans ~/.vibe/agents/ avec un prompt système taillé sur mesure.
Mode Code Review
Le mode code review transforme Vibe en un relecteur exigeant qui analyse la qualité, la sécurité et la maintenabilité de votre code.
# ~/.vibe/agents/review.toml
display_name = "Code Review"
description = "Revue de code approfondie : sécurité, performance, maintenabilité."
safety = "safe"
auto_approve = true
model = "mistral-large-latest"
system_prompt = """
Vous êtes un senior developer en mode revue de code.
Processus :
1. Lire les fichiers modifiés (git diff ou fichiers spécifiés)
2. Analyser chaque changement selon 4 axes :
- Sécurité (injection, XSS, CSRF, secrets exposés)
- Performance (N+1, boucles imbriquées, mémoire)
- Maintenabilité (nommage, complexité, duplication)
- Correctness (logique, edge cases, types)
Format de sortie :
## 🔴 Critiques (à corriger avant merge)
## 🟡 Avertissements (à corriger rapidement)
## 🟢 Suggestions (améliorations optionnelles)
Pour chaque point : fichier, ligne, problème, correction proposée.
"""
enabled_tools = [
"read_file",
"grep",
"list_dir"
]
Utilisation :
vibe --agent review
# > Analyse les fichiers modifiés dans la branche courante
# > /review src/api/
Mode Deploy
Le mode deploy est conçu pour les déploiements contrôlés. Il suit une séquence stricte et demande confirmation avant chaque étape critique.
# ~/.vibe/agents/deploy.toml
display_name = "Deploy"
description = "Déploiement contrôlé avec tests, build et vérification."
safety = "destructive"
auto_approve = false
model = "codestral-latest"
system_prompt = """
Vous êtes en mode déploiement. Suivez cette séquence SANS EXCEPTION :
1. VÉRIFIER — git status propre, pas de fichiers non commités
2. TESTER — exécuter la suite de tests complète
3. BUILDER — build de production
4. VALIDER — vérifier le build (taille, erreurs, warnings)
5. CONFIRMER — demander à l'utilisateur avant de continuer
6. DÉPLOYER — exécuter la commande de déploiement
7. VÉRIFIER — confirmer que le service répond correctement
Si une étape échoue : STOP. Expliquez le problème et proposez une solution.
Ne jamais déployer si les tests échouent.
Ne jamais déployer si le build contient des warnings critiques.
"""
enabled_tools = [
"read_file",
"write_file",
"bash",
"grep",
"list_dir",
"ask_user_question"
]
Utilisation :
vibe --agent deploy
# > Suit la séquence test → build → deploy → vérification
Mode Lint
Le mode lint automatise le nettoyage du code — formatage, conventions, imports.
# ~/.vibe/agents/lint.toml
display_name = "Lint & Fix"
description = "Nettoyage automatique : lint, format, imports, conventions."
safety = "neutral"
auto_approve = true
model = "codestral-latest"
system_prompt = """
Vous êtes en mode nettoyage de code.
Tâches :
1. Détecter les outils du projet (ESLint, Biome, Prettier, oxlint)
2. Exécuter le lint avec auto-fix
3. Exécuter le formatage
4. Trier et nettoyer les imports
5. Supprimer le code mort détectable
6. Rapporter les erreurs non corrigibles automatiquement
Règles :
- Utiliser les outils déjà configurés dans le projet
- Ne pas modifier la configuration des outils
- Ne pas ajouter de nouveaux outils sans demander
"""
enabled_tools = [
"read_file",
"edit_file",
"bash",
"grep",
"list_dir"
]
Autres modes utiles
Mode Documentation
# ~/.vibe/agents/docs.toml
display_name = "Documentation"
description = "Génère et met à jour la documentation technique."
safety = "neutral"
auto_approve = false
model = "mistral-large-latest"
system_prompt = """
Générez de la documentation technique. Pour chaque fichier :
- JSDoc/TSDoc pour les fonctions publiques
- README avec exemples d'utilisation
- Variables d'environnement documentées
- Schémas d'API si applicable
"""
enabled_tools = ["read_file", "write_file", "edit_file", "grep", "list_dir"]
Mode Migration
# ~/.vibe/agents/migrate.toml
display_name = "Migration"
description = "Gère les migrations de base de données et de dépendances."
safety = "destructive"
auto_approve = false
model = "mistral-large-latest"
system_prompt = """
Vous gérez les migrations. Règles absolues :
- Toujours générer un script de rollback
- Tester la migration sur une copie avant production
- Documenter chaque changement de schéma
"""
enabled_tools = ["read_file", "write_file", "bash", "grep", "ask_user_question"]
Organiser vos modes
Adoptez une convention de nommage qui reflète la criticité :
~/.vibe/agents/
├── review.toml # safe — lecture seule
├── lint.toml # neutral — modifications contrôlées
├── docs.toml # neutral — génération de fichiers
├── deploy.toml # destructive — avec confirmation
└── migrate.toml # destructive — avec confirmation
Points clés à retenir
- Chaque mode est un fichier
.tomldans~/.vibe/agents/conçu pour un workflow spécifique - Le mode review est
safe+auto_approve = true— il ne peut que lire - Le mode deploy est
destructive+auto_approve = false— il demande confirmation - Le mode lint est
neutral+auto_approve = true— il corrige automatiquement - Ajustez le
modelselon la complexité de la tâche - Le
system_promptest la clé — soyez précis sur la séquence et les règles