Aller au contenu principal

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 .toml dans ~/.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 model selon la complexité de la tâche
  • Le system_prompt est la clé — soyez précis sur la séquence et les règles