05 Copilot CLI

Sessions, autopilot et /delegate

Cette leçon contient des faits datés. Dates et sources

5.5 Sessions interactives

Définition

Une session interactive est une conversation avec Copilot CLI dans ton terminal.

Tu peux :

  • poser plusieurs questions ;
  • affiner la demande ;
  • demander un plan ;
  • demander des modifications ;
  • valider ou refuser des actions ;
  • itérer.

GitHub indique que Copilot CLI peut fonctionner comme un chatbot, mais que sa force est aussi de permettre de déléguer des tâches et superviser son travail. (docs.github.com)

Exemple de session interactive

Tu lances :

Bash
copilot

Puis :

Texte
Find why the tests are failing.

Copilot peut demander ou proposer :

Texte
I can inspect the test output and related files.

Tu peux ensuite répondre :

Texte
Focus on the user service tests.

Puis :

Texte
Create a plan before editing files.

Puis :

Texte
Apply only the minimal fix and explain the diff.

Pourquoi c’est puissant ?

Parce que tu peux guider Copilot progressivement.

Au lieu de demander directement :

Texte
Fix everything.

Tu peux dire :

Texte
Analyze the failing tests first.

Puis :

Texte
Explain the root cause.

Puis :

Texte
Propose a minimal fix.

Puis :

Texte
Update the tests.

C’est beaucoup plus sûr.

Exemple Git

Prompt :

Texte
Check the current branch status and suggest the safest next steps before I commit.

Copilot pourrait te guider vers :

Bash
git status
git diff
git diff --staged

Puis proposer :

Bash
git add src/users.service.ts tests/users.service.test.ts
git commit -m "Fix user service validation"

Mais c’est toi qui dois vérifier le diff.

Bonnes pratiques en session interactive

Toujours :

  • Commencer par comprendre.
  • Demander un plan pour les tâches complexes.
  • Limiter le scope.
  • Vérifier les commandes proposées.
  • Lire les diffs.
  • Exécuter les tests.
  • Ne pas donner de secrets.
  • Refuser les actions destructives non comprises.

Sessions : démarrer, reprendre, nommer

Chaque fois que tu lances Copilot CLI, tu commences ou tu reprends une session. On peut avoir plusieurs sessions en parallèle et passer de l’une à l’autre.

BesoinRéflexe
Commencer une nouvelle conversation/new dans une session
Reprendre la session la plus récentecopilot --continue
Choisir une session à reprendrecopilot --resume ou /resume
Retrouver une session par son nomcopilot --resume=NOM ou /resume
Nommer une sessioncopilot --name "checkout refactor" ou /rename
Voir et gérer ses sessions/session

Nommer une session sert à la retrouver facilement plus tard : le nom est utilisé par --resume et /resume.

Bash
copilot --name "checkout refactor"
Bash
copilot --continue

Sessions actives et inactives

Une session active tourne en ce moment dans un processus Copilot CLI. Une session inactive est enregistrée sur le disque mais ne tourne pas. Quand on quitte Copilot CLI, ses sessions locales s’arrêtent et deviennent inactives : elles restent enregistrées et peuvent être reprises avec --resume, --continue ou /resume, avec leur contexte.

Autopilot : travailler en autonomie, en local

Le mode autopilot laisse Copilot CLI avancer sur une tâche sans attendre ta réponse après chaque étape. Il s’exécute dans ta session CLI, sur ta machine : c’est ta machine locale qui fait le travail, et tu suis la progression en direct.

On l’active avec Maj+Tab (jusqu’au mode autopilot), avec /autopilot, ou au démarrage avec copilot --autopilot. Il demande de préférence toutes les permissions : avec elles, le CLI peut modifier et supprimer des fichiers. Il consomme aussi des AI Credits sans ton intervention. Il convient à une tâche claire, pas à une exploration ouverte.

/delegate : confier la tâche au cloud agent

La commande /delegate envoie la tâche au Copilot cloud agent, sur GitHub. Le travail s’exécute à distance : Copilot crée une branche, ouvre une pull request en brouillon, travaille en arrière-plan et te demande une review. Le travail continue même si tu éteins ta machine.

Texte
/delegate complete the API integration tests and fix any failing edge cases

Copilot propose de valider tes changements non indexés comme point de contrôle dans une nouvelle branche, puis donne un lien vers la pull request et la session d’agent sur GitHub. Le résultat se relit comme n’importe quelle contribution (voir 4.4).

Autopilot ou /delegate ?

AutopilotDélégation
Comment le lancerMaj+Tab, /autopilot ou copilot --autopilot/delegate
Où le travail s’exécutedans ta session CLI, sur ta machinesur GitHub, par le Copilot cloud agent
Si tu éteins ta machinela session s’arrêtele travail continue
Résultatdes changements dans ton dossier de travailune branche et une pull request en brouillon à relire
Permissionstoutes les permissions locales, à accorder en connaissance de causecelles de l’agent sur GitHub ; tu relis la pull request

Ne confonds pas les deux : un CLI agentique local (autopilot) et une délégation au cloud (/delegate) sont deux choses différentes.

À retenir pour l’examen

  • Une session se reprend (--continue, --resume, /resume) ; elle peut être nommée ; quitter la rend inactive mais ne la supprime pas.
  • Autopilot = autonomie locale. /delegate = cloud agent sur GitHub, branche et pull request.
  • Plus le CLI est autonome, plus les permissions accordées et la relecture comptent.

À retenir pour le GH-300

  • Une session se reprend (--continue, --resume, /resume) et peut être nommée ; quitter la rend inactive mais ne la supprime pas.
  • Autopilot : autonomie locale, dans la session CLI et sur ta machine, avec des permissions étendues à encadrer.
  • /delegate : la tâche part au Copilot cloud agent sur GitHub, avec une branche et une pull request en brouillon, même machine éteinte.
  • Ne confonds pas un CLI agentique local (autopilot) et une délégation au cloud (/delegate).

Faits datés de cette leçon

Ces points changent avec le produit. Chacun indique quand il a été vérifié et où le contrôler.

D2 · Utiliser les fonctionnalités de GitHub Copilot · 25–30 %