Utiliser le CLI

Une fois le CLI installé et votre clé API configurée, vous pouvez commencer le travail au quotidien. Le CLI fonctionne en deux modes : interactif pour le chat et l’exploration, et programmatique pour les scripts et l’intégration continue (CI).

Démarrer le CLI dans votre projet

Démarrer le CLI dans votre projet

Rendez-vous à la racine de votre projet et lancez :

vibe

Vous pouvez aussi démarrer avec un prompt initial :

vibe "Refactor the main function in cli/main.py to be more modular."

Le CLI lance une interface de chat dans le terminal. Depuis cette interface, vous pouvez enchainer les tâches de codage, référencer des fichiers, exécuter des commandes shell et changer d’agent sans quitter le terminal.

Mode interactif

Mode interactif

Le mode interactif est le mode par défaut. Utilisez-le pour explorer, enchaîner plusieurs tâches, ou pour tout travail nécessitant une relecture et des interactions.

Référencez des fichiers avec @

Référencez des fichiers avec @

Ajoutez le préfixe @ devant un chemin pour joindre un fichier à votre prompt. Le CLI propose l’autocomplétion pendant la saisie :

> Read the file @src/agent.py and suggest improvements.

Pour joindre une image, mentionnez-la avec @ ou collez son chemin d'accès. Sur macOS, vous pouvez aussi coller une image depuis le presse-papiers avec Ctrl+V ou /paste-image. Les images sont utilisables lorsque le modèle actif les prend en charge ou qu'un vision_model est configuré.

Exécutez des commandes intégrées avec /

Exécutez des commandes intégrées avec /

Tapez / pour ouvrir le sélecteur de commandes avec autocomplétion. Utilisez-le pour des commandes intégrées comme /help, /model, /config, ou toute commande liée à une compétence installée. Voir Commandes et raccourcis pour la liste complète.

> /model
Exécutez des commandes shell avec !

Exécutez des commandes shell avec !

Ajoutez le préfixe ! devant une commande pour l’exécuter directement dans le shell, sans passer par l’agent :

> !ls -l

L'agent utilise la commande et sa sortie en tant que contexte pour votre prochain message.

Envoyez un prompt à une session cloud avec &

Envoyez un prompt à une session cloud avec &

Ajoutez le préfixe & devant votre prompt pour l’exécuter dans une sandbox Vibe Code Web. Le CLI vous renvoie un lien vers la session cloud.

> & fix the failing tests

Voir Téléportation du CLI vers le web pour les prérequis et limitations.

Envoyer des messages pendant que l'agent travaille

Envoyer des messages pendant que l'agent travaille

Appuyez sur Enter pendant que l'agent travaille pour mettre un message en file d'attente. Vibe envoie tous les messages en attente ensemble à la fin du tour. Pour les transmettre à l'agent avant la fin du tour, appuyez à nouveau sur Enter avec un champ de saisie vide.

Appuyez sur Up pour sélectionner un message en attente, puis sur Enter pour le modifier ou sur Backspace pour le supprimer. Escape interrompt l'agent et met la file d'attente en pause ; appuyez sur Enter pour envoyer les messages en pause. Les commandes shell (!) et la plupart des commandes slash attendent que l'agent soit inactif.

Raccourcis en session utiles

Raccourcis en session utiles

RaccourciAction
Shift+TabPasser d'un agent à l'autre (ask, accept-edits, smart-approve, auto-approve).
Ctrl+OAfficher/masquer la sortie des outils.
Ctrl+GModifier votre saisie en cours dans un éditeur externe.
ÉchapInterrompre l’opération en cours.

Voir Commandes et raccourcis pour la liste exhaustive des commandes slash et raccourcis.

Mode programmatique

Mode programmatique

Le mode programmatique est conçu pour les scripts, les tâches de CI et tout usage non interactif. Utilisez l'option --prompt (-p) pour exécuter une seule tâche, puis quitter :

vibe --prompt "Analyze the codebase" --max-turns 5 --output json

Vous pouvez aussi lire le prompt depuis un fichier avec --prompt-file PATH, ou le transmettre via un pipe sur l'entrée standard avec -p sans texte.

Le mode programmatique ne lance pas l'interface de conversation et désactive les outils interactifs tels que la demande de précision. Il utilise votre default_agent (accept-edits si vous ne le modifiez pas). Personne ne peut répondre à une demande d'approbation, donc Vibe refuse tout appel d'outil qui en nécessite une. Pour approuver tous les appels d'outils, passez --auto-approve (ou son alias --yolo) :

vibe --prompt "Fix the failing tests" --auto-approve

Si votre administrateur définit enable_auto_approve = false, Vibe ignore --auto-approve. Autorisez plutôt les outils dont l'exécution a besoin avec permission = "always" ou une allowlist.

Options utiles :

  • --max-turns N limite le nombre de tours de l’assistant. Recommandé pour borner la durée.
  • --max-tokens N limite le nombre total de tokens du prompt et de la réponse pour l'exécution.
  • --time-limit SECONDS arrête l'exécution après le délai indiqué. Vous pouvez reprendre la session plus tard. SIGTERM arrête une exécution de la même manière.
  • --enabled-tools TOOL limite les outils que l'agent peut utiliser et désactive tous les autres. Cette option accepte les noms exacts, les glob patterns (bash*) et les expressions régulières avec le préfixe re: (re:^serena_.*$). Répétez l'option pour plusieurs outils.
  • --disabled-tools TOOL désactive des outils après le filtrage par --enabled-tools. Répétez l'option pour plusieurs outils.
  • --output text|json|streaming définit le format de sortie. text (par défaut) affiche la réponse finale, json affiche les messages de la session sous forme de tableau JSON à la fin de l'exécution, et streaming affiche un objet JSON par message au fil de l'exécution.
  • --output-dir DIR écrit dans DIR un fichier export.json (version de Vibe, configuration effective, consommation de tokens, coût, motif d'arrêt et résultat) et une copie de la session, quelle que soit la manière dont l'exécution se termine. L'export liste aussi chaque sous-agent avec son statut, son modèle, sa consommation de tokens, son coût et ses étapes, et copie sa session.

Avant de se terminer, une exécution programmatique attend les sous-agents que son dernier tour a laissés en cours d'exécution. --time-limit et les autres arrêts les interrompent.

Avertissement

Le CLI expose aussi une option --max-price DOLLARS, mais les valeurs de prix sous-jacentes proviennent du fichier de configuration et peuvent être absentes ou obsolètes. Considérez le coût affiché comme purement indicatif : ne vous fiez pas à cette valeur pour un contrôle budgétaire strict.

Le code de sortie indique comment l'exécution s'est terminée :

Code de sortieSignification
0L'agent a terminé.
1L'exécution n'a pas pu démarrer, par exemple à cause d'une option ou d'une configuration invalide.
2L'API du modèle ou l'environnement d'exécution a rencontré une erreur.
3L'agent s'est arrêté avant de terminer : une limite a été atteinte, l'exécution a été arrêtée ou le modèle a refusé de répondre.
Choisir la gestion des validations par le CLI

Choisir la gestion des validations par le CLI

La CLI inclut plusieurs agents intégrés. Par défaut, elle utilise accept-edits. Choisissez-en un autre avec --agent :

vibe --agent ask
vibe --agent smart-approve
vibe --agent auto-approve

Changez d'agent en cours de session (en mode interactif uniquement) avec Shift+Tab. Définissez l'agent par défaut pour les sessions interactives et programmatiques dans config.toml :

default_agent = "ask"

Voir Agents pour la liste complète et leurs comportements.

Vérifiez les changements avant application

Vérifiez les changements avant application

Pour les tâches impliquant de nombreuses modifications de fichiers ou commandes shell, le CLI :

  1. Affiche un aperçu du changement ou de la commande avant exécution.
  2. Demande une confirmation, sauf si l’agent actif valide automatiquement.
  3. Affiche le résultat après chaque étape.
Astuce

Utilisez l'agent ask pour examiner chaque appel d'outil, y compris les modifications de fichiers, avant son exécution. Consultez Les agents.

Dossiers de confiance

Dossiers de confiance

Le CLI vérifie que le dossier de travail courant est approuvé avant de charger la configuration projet, les compétences ou les fichiers d’agent. La première fois que vous lancez le CLI en mode interactif depuis un nouveau dossier contenant des fichiers à approuver, il vous demande de confirmer ce dossier.

La vérification s’applique en mode interactif et mode programmatique, mais la confirmation utilisateur n’est affichée qu’en mode interactif. En mode programmatique, utilisez vibe --trust pour accorder une confiance temporaire à l’exécution en cours.

Les dossiers approuvés sont conservés dans ~/.vibe/trusted_folders.toml.

Reprendre ou continuer une session

Reprendre ou continuer une session

Le CLI peut reprendre là où votre travail s’est arrêté :

  • vibe --continue (ou -c) reprend la session la plus récente.
  • vibe --resume ouvre un sélecteur de sessions passées.
  • vibe --resume SESSION_ID reprend une session spécifique. Les identifiants partiels sont pris en charge. En mode programmatique, combinez -p avec --continue ou --resume SESSION_ID pour continuer une session enregistrée.
  • /resume (ou /continue) ouvre le même sélecteur depuis une session. Appuyez deux fois sur d pour supprimer la session sélectionnée.
  • /branch crée une nouvelle session à partir de la conversation actuelle. Vous pouvez la reprendre plus tard, et la session actuelle reste inchangée.
  • /rewind (ou deux pressions sur Escape avec un champ de saisie vide) revient à un message précédent pour vous permettre de le modifier et de continuer à partir de là.

Une session reprise ou continuée conserve le dernier agent sur lequel elle s'est exécutée, même si votre default_agent a changé ou si vous passez un autre --agent. Changez d'agent dans la session pour le modifier. Si cet agent n'est plus disponible, Vibe utilise --agent ou votre default_agent à la place.

Le sélecteur, --continue et --resume sans identifiant ne répertorient que les sessions démarrées dans le répertoire courant. --resume SESSION_ID fonctionne depuis n'importe quel répertoire. Vibe 3.0 peut toujours reprendre les sessions enregistrées par Vibe 2.0 et les versions ultérieures, mais pas celles enregistrées par Vibe 1.x.

La reprise d'une session nécessite la journalisation des sessions, activée par défaut. Si la reprise ne fonctionne plus après une modification de votre configuration, vérifiez que la journalisation est toujours activée dans ~/.vibe/config.toml :

[session_logging]
enabled = true
Travailler dans un git worktree

Travailler dans un git worktree

Utilisez --worktree pour exécuter une session dans son propre git worktree, afin de garder les modifications de l'agent séparées de votre copie de travail actuelle :

vibe --worktree my-feature

Vibe crée le worktree dans ~/.vibe/worktrees/ sur une branche nommée my-feature, ou le réutilise s'il existe déjà. Sans nom explicite, Vibe nomme le worktree à partir de votre prompt. Placez le prompt en premier, car --worktree interprète l'argument suivant comme le nom :

vibe "Fix the login bug" --worktree

À la fin d'une session interactive, Vibe supprime le worktree qu'il a créé s'il ne contient aucune modification. Sinon, il vous demande confirmation. Les exécutions programmatiques conservent le worktree.

--worktree considère le worktree comme fiable pour cette exécution : vous n'avez donc pas besoin de --trust. Combinez cette option avec -c ou --resume pour reprendre une session démarrée dans ce worktree.