Aller au contenu principal

Exécuter des commandes shell

Le terminal intégré

Vibe embarque un terminal bash stateful. Cela signifie que vous disposez d’un shell complet directement dans votre session Vibe, avec la persistance de l’état entre les commandes : variables d’environnement, répertoire courant, alias — tout est conservé.

L’agent utilise cet outil bash pour exécuter des commandes quand il en a besoin : lancer des tests, vérifier un statut, installer une dépendance. Mais vous pouvez aussi invoquer des commandes directement.

Le préfixe ! pour les commandes rapides

La manière la plus rapide d’exécuter une commande depuis le mode interactif est le préfixe ! :

!ls -la src/
!git log --oneline -10
!npm run test -- --watch

Le ! indique à Vibe que ce qui suit est une commande shell à exécuter directement, sans interprétation par l’agent. Le résultat s’affiche immédiatement dans le terminal.

Demander à l’agent d’exécuter des commandes

Vous pouvez aussi demander à Vibe d’exécuter des commandes en langage naturel :

Lance les tests unitaires
Installe la dépendance axios
Vérifie que le serveur de développement se lance correctement

L’agent détermine la commande appropriée en fonction de votre projet (npm, pip, cargo, etc.) et la propose pour approbation.

L’approbation des commandes shell

Par défaut, chaque commande shell nécessite votre approbation. Vibe affiche la commande exacte qu’il souhaite exécuter et attend votre confirmation :

L'agent souhaite exécuter :
  npm run test

Approuver ? (y/n)

Ce mécanisme est crucial pour la sécurité. Une commande rm -rf proposée par erreur n’aura aucun effet tant que vous ne l’approuvez pas.

Configurer les permissions par commande

Dans config.toml, vous pouvez définir des permissions fines :

[tools.bash]
permission = "ask"  # Toujours demander (défaut)

# Ou pour un agent de confiance :
# permission = "always"  # Exécuter sans demander

Référencer des fichiers dans les commandes

Le préfixe @ fonctionne aussi dans le contexte des commandes. Quand vous référencez un fichier, Vibe inclut son contenu dans le contexte :

Lance le script @scripts/deploy.sh et explique-moi ce qu'il fait

L’agent lit d’abord le script, l’analyse, puis l’exécute si vous approuvez.

Commandes multi-lignes

Pour des commandes complexes sur plusieurs lignes, utilisez Ctrl+J ou Shift+Enter pour insérer des sauts de ligne :

Exécute ces commandes dans l'ordre :
1. git stash
2. git pull origin main
3. git stash pop
4. npm install
5. npm run build

Vibe exécute les commandes séquentiellement, s’arrêtant si l’une d’elles échoue, et vous montre le résultat de chaque étape.

Cas d’usage courants

Gestion des dépendances

Mets à jour toutes les dépendances npm et vérifie qu'il n'y a pas de vulnérabilités

L’agent exécutera npm update, puis npm audit et vous présentera un résumé.

Tests et CI

Lance les tests, et s'il y en a qui échouent, analyse les erreurs et propose des corrections

C’est ici que Vibe brille : il peut enchaîner l’exécution des tests, l’analyse des erreurs et la proposition de corrections dans un seul échange.

Build et déploiement

Build le projet en mode production et vérifie qu'il n'y a pas d'erreurs TypeScript

Docker et conteneurs

Vérifie quels conteneurs Docker tournent et montre les logs du conteneur api

Le mode auto-approve

Avec Shift+Tab, vous pouvez basculer en mode auto-approve. Dans ce mode, Vibe exécute les commandes sans demander votre confirmation. C’est utile pour les sessions de développement intensif où vous faites confiance à l’agent, mais utilisez-le avec précaution.

Le système de Trust Folder ajoute une couche de sécurité : seuls les répertoires explicitement marqués comme sûrs dans ~/.vibe/trusted_folders.toml permettent l’auto-approve.

Ouvrir un éditeur externe

Si vous avez besoin de rédiger un message long ou complexe, Ctrl+G ouvre votre éditeur externe (défini par $EDITOR). Rédigez votre message, sauvegardez et fermez — le contenu est envoyé à Vibe.

Points clés à retenir

  • Le préfixe ! exécute une commande shell directement depuis le mode interactif
  • L’agent peut aussi déterminer et exécuter les commandes appropriées en langage naturel
  • Chaque commande nécessite une approbation par défaut (modifiable dans config.toml)
  • Le terminal est stateful : variables et répertoire courant sont préservés
  • Le mode auto-approve (Shift+Tab) supprime les confirmations — à utiliser avec précaution
  • Le système Trust Folder sécurise l’auto-approve par répertoire