Dans le quotidien du génie logiciel, le va-et-vient permanent entre les interfaces web d'assistants IA et le terminal local représente une rupture de charge mentale majeure : les développeurs doivent copier-coller des traces de pile d'exécution, transférer des extraits de code et intégrer manuellement des correctifs fragmentés dans leurs dépôts. Mistral Vibe (mistral-vibe), l'agent de codage open source développé par Mistral AI et conçu pour fonctionner nativement dans le terminal, élimine totalement cette friction.
En opérant directement à la racine d'un projet, Mistral Vibe analyse l'arborescence des répertoires, prend en compte les branches et validations Git récentes, génère du code de structure multi-fichiers et exécute les suites de tests au sein de sessions de shell managées, le tout guidé par des instructions en langage naturel depuis la ligne de commande.
1. Prérequis et installation
Mistral Vibe est optimisé pour les émulateurs de terminal modernes. Il cible officiellement les environnements UNIX (Linux et macOS), tout en restant pleinement fonctionnel sous Windows via l'outil uv ou PowerShell.
Configuration requise
- Python 3.10 ou supérieur (lors d'une installation via les gestionnaires de paquets Python).
- Un émulateur de terminal moderne prenant en charge l'UTF-8 et les couleurs ANSI (tel que Ghostty, WezTerm, Kitty ou Alacritty).
- Une clé d'API Mistral AI (obtenue sur la Mistral AI Console) ou un abonnement actif à Mistral.
Méthodes d'installation
Sélectionnez l'une des méthodes suivantes selon votre environnement :
Méthode 1 : Script d'installation en une ligne (recommandé pour macOS et Linux)
curl -LsSf https://mistral.ai/vibe/install.sh | bash
Méthode 2 : Installation via uv (la plus rapide, environnement isolé)
uv tool install mistral-vibe
Méthode 3 : Installation standard via pip
pip install mistral-vibe
Configuration initiale et authentification
Une fois l'outil installé, lancez l'assistant interactif de configuration :
vibe --setup
L'assistant vous invite à saisir votre MISTRAL_API_KEY et l'enregistre de manière sécurisée dans ~/.vibe/.env. Vous pouvez également déclarer cette variable directement dans le fichier de configuration de votre shell (~/.bashrc ou ~/.zshrc) :
export MISTRAL_API_KEY="votre-cle-api-mistral"
Lors du premier lancement de Vibe dans un dépôt contenant des configurations locales, le système de dossiers de confiance (Trust Folder System) demande confirmation pour valider l'espace de travail. Une fois approuvé, le chemin est consigné dans ~/.vibe/trusted_folders.toml, évitant l'exécution involontaire d'actions sur des répertoires non certifiés.
2. Concepts clés : profils d'agent et barrières de sécurité
L'usage d'agents autonomes nécessite des périmètres d'action bien délimités. Mistral Vibe intègre plusieurs profils prédéfinis qui contrôlent la capacité de l'agent à modifier des fichiers ou à exécuter des commandes système sans validation humaine.
| Profil d'agent | Approbations d'outils et limites de sécurité | Cas d'usage type |
|---|---|---|
accept-edits (Par défaut) | Valide automatiquement les modifications de fichiers (write_file, edit) ; demande confirmation avant l'exécution de commandes de shell. | Développement quotidien, scaffolding et refactorisations. |
plan | Mode lecture seule. Approuve uniquement les outils d'inspection sécurisés (read, grep, ripgrep) ; interdit toute modification et commande système. | Analyse d'architecture, revues de code et exploration sans risque. |
ask | Exige une approbation manuelle de l'utilisateur avant chaque appel d'outil ou modification de fichier. | Maintenance de code critique de production ou dépôts tiers méconnus. |
auto-approve (--yolo) | Approuve automatiquement tous les outils, écritures de fichiers et commandes de terminal sans interruption. | Pipelines d'intégration continue (CI/CD), scripts automatisés et conteneurs éphémères. |
Vous pouvez définir le profil souhaité dès l'ouverture de la session :
vibe --agent plan
Dans une session interactive active, vous pouvez basculer d'un profil à un autre à tout moment avec le raccourci Shift+Tab.
3. Prise en main de l'interface interactive du terminal
Rendez-vous à la racine de votre projet et lancez l'outil :
cd /chemin/vers/mon-projet
vibe
Mistral Vibe déploie une interface utilisateur en mode texte (TUI) enrichie, intégrant automatiquement le chemin de travail, la branche Git active et les validations récentes dans le contexte du modèle.
Syntaxe d'interaction rapide
Dans le champ d'invite, plusieurs préfixes permettent de structurer vos demandes :
@chemin/du/fichier: Référence un fichier ou un répertoire avec autocomplétion Git. Les fichiers d'images (.png,.jpg,.webp) sont également pris en charge et transmis aux modèles multimodaux de vision.!commande: Échappement shell local. Exécute la commande directement sur votre système sans passer par le modèle (par exemple,!git diffou!pytest)./: Ouvre le sélecteur de commandes slash pour la gestion de session.
Principales commandes slash
/model: Sélectionne le modèle utilisé (par exemplemistral-medium-3.5oucodestral-latest)./config: Ouvre l'éditeur interactif pour configurer les thèmes et paramètres./mcpou/connectors: Inspecte les serveurs et connecteurs actifs du Model Context Protocol (MCP)./loop [périodicité]: Programme des tâches automatisées récurrentes (par exemple/loop every five minutes check git status and test)./retry [instruction]: Relance la génération en cas d'interruption et ajuste la réponse partielle./clear: Réinitialise l'historique du contexte de la session en cours./exit(ou:q) : Quitte la session en toute sécurité.
Raccourcis clavier pratiques de la TUI
Shift+Tab: Fait défiler les profils d'agent (accept-edits,plan,ask).Ctrl+O: Affiche ou masque la vue détaillée des outils exécutés.Ctrl+T: Bascule la liste interne de suivi des tâches (todo) de l'agent.Ctrl+G: Ouvre l'éditeur de texte par défaut ($EDITOR) pour rédiger des requêtes longues.Escape: Interrompt le tour de génération en cours.
4. Déroulement d'un workflow de codage agentique
Mistral Vibe excelle dans trois grands types d'interventions : la découverte d'architecture, la génération de modules multi-fichiers et la refactorisation autonome guidée par les tests.
Scénario 1 : Exploration sécurisée avec sous-agents
Lors de l'arrivée sur un projet complexe, le profil plan permet d'analyser le code en toute sérénité :
vibe --agent plan
Exemple d'instruction :
Analyse comment le middleware d'authentification vérifie les jetons JWT et identifie où les informations utilisateur (claims) sont injectées dans le contexte de requête.
L'agent utilise grep et read pour explorer le code. Pour les recherches volumineuses, Vibe délègue l'analyse au sous-agent interne explore via l'outil task(). Ce sous-agent travaille dans un contexte isolé, évitant ainsi d'épuiser prématurément le quota de tokens de la session principale.
Scénario 2 : Scaffolding multi-fichiers et génération de code
Mistral Vibe peut créer et coordonner plusieurs modules en une seule commande :
Construis un sous-système de surveillance dans src/monitoring/ :
1. Crée src/monitoring/health.py pour inspecter les ressources CPU, mémoire et disque.
2. Crée src/monitoring/metrics.py exposant des métriques au format Prometheus.
3. Raccorde le nouveau routeur de santé dans src/main.py.
4. Rédige des tests unitaires complets dans tests/test_monitoring.py.
Sous le profil par défaut accept-edits :
- Vibe lit
src/main.pyavecreadpour comprendre la structure des routes. - Écrit les nouveaux fichiers via
write_file. - Met à jour
src/main.pyavec l'outilediten appliquant un patch chirurgical précis, sans toucher au reste de l'application. - Demande l'autorisation d'exécuter les tests dans le terminal.
Scénario 3 : Refactorisation multi-fichiers et boucle autonome de tests
Les refactorisations d'ampleur nécessitent d'adapter plusieurs couches logicielles et de vérifier l'absence de régressions.
Exemple d'instruction :
Refactorise la gestion des sessions de base de données dans @src/services/user_service.py et @src/services/order_service.py en migrant de sessions synchrones vers des sessions asynchrones SQLAlchemy. Ajuste les contrôleurs dans @src/api/routes.py et exécute les tests avec pytest jusqu'à ce qu'ils passent tous avec succès.
L'agent réalise la boucle complète :
- Inspection : Analyse les modèles, les services et les routes.
- Application de correctifs : Modifie les fichiers cibles à l'aide de diffs structurés.
- Exécution des tests : Demande la permission de lancer
pytest tests/. - Correction autonome : Si des erreurs surviennent (oubli de
awaitou session non validée), Vibe capture les messages de la console, identifie la source de l'échec, applique une correction et relance les tests jusqu'à validation complète.
5. Personnalisation : AGENTS.md, compétences et MCP
Pour garantir que Mistral Vibe respecte les conventions de votre équipe, l'agent peut être personnalisé à l'échelle locale ou globale.
Définir les règles avec AGENTS.md
Mistral Vibe intègre automatiquement le contenu des fichiers AGENTS.md dans ses instructions système :
~/.vibe/AGENTS.md: Règles globales appliquées à tous les projets sur votre poste../AGENTS.md: Consignes spécifiques au projet en cours (prioritaires sur les règles globales).
Exemple de fichier AGENTS.md :
# Règles d'ingénierie du projet
- Tout code Python doit respecter scrupuleusement les annotations de type de Python 3.12.
- Les tests asynchrones doivent être exécutés via pytest avec asyncio_mode = "auto".
- Ne modifiez jamais les fichiers dans alembic/versions/ sans instruction expresse.
- Exécutez ruff format avant de conclure toute tâche.
Ajouter des compétences personnalisées (Skills)
Vibe est conforme à la spécification ouverte Agent Skills. Vous pouvez déclarer vos propres commandes slash en créant un fichier SKILL.md sous .vibe/skills/<nom-skill>/ ou .agents/skills/<nom-skill>/ :
---
name: security-audit
description: Analyser les secrets codés en dur et les dépendances vulnérables
user-invocable: true
allowed-tools:
- read
- grep
- bash
---
# Compétence d'audit de sécurité
Exécute des vérifications de vulnérabilités avec pip-audit et détecte les clés sensibles exposées.
Après enregistrement, saisir /security-audit dans l'interface de Vibe lance directement le processus configuré.
6. Mode programmatique et automatisation CI/CD
Au-delà de l'usage interactif, Mistral Vibe dispose d'un mode headless (non-interactif) pour s'insérer dans des pipelines CI/CD ou des scripts de révision automatique.
Déclenchez une tâche sans invite avec le paramètre -p ou --prompt :
vibe --prompt "Vérifie les fichiers modifiés dans git diff HEAD~1, corrige les écarts de style et mets à jour README.md si des signatures d'API ont changé" \
--auto-approve \
--max-turns 10 \
--max-price 1.50 \
--output json \
--output-dir ./ci-artifacts/
Options de contrôle et de budget en mode automatisé
--max-turns N: Limite le nombre maximal de tours de l'agent afin d'éviter toute boucle infinie.--max-price DOLLARS: Définit un plafond de dépense strict en dollars.--max-tokens N: Fixe un seuil maximal de consommation cumulée de tokens.--time-limit SECONDS: Impose un délai d'exécution strict en secondes.--output FORMAT: Formate la sortie en texte brut (text), enjsonstandard ou en flux continu par ligne (streaming).--output-dir DIR: Exporte le fichierexport.jsoncontenant la version, la configuration, le coût et l'historique complet pour vos audits.
7. Bonnes pratiques pour le codage agentique en terminal
- Gardez un état Git propre avant les modifications majeures : Validez vos changements ou utilisez
git stashavant de lancer des refactorisations importantes. Vous pourrez ainsi utilisergit diffougit checkoutcomme filet de sécurité instantané. - Ciblez le contexte critique avec
@: Sur les grands projets, identifier directement les fichiers clés (comme@src/core/config.py) évite les balayages superflus et préserve votre quota de tokens. - Commencez par le mode
planpour les tâches complexes : Pour les transformations architecturales, demandez un plan avecvibe --agent plan. Une fois validé, basculez enaccept-editspour l'application. - Appuyez-vous sur les suites de tests : Plutôt que de relire chaque ligne modifiée, chargez l'agent de lancer les tests de votre projet. Le retour direct du terminal permettra au modèle de corriger ses propres erreurs de manière autonome.