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 :
copilotPuis :
Find why the tests are failing.Copilot peut demander ou proposer :
I can inspect the test output and related files.Tu peux ensuite répondre :
Focus on the user service tests.Puis :
Create a plan before editing files.Puis :
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 :
Fix everything.Tu peux dire :
Analyze the failing tests first.Puis :
Explain the root cause.Puis :
Propose a minimal fix.Puis :
Update the tests.C’est beaucoup plus sûr.
Exemple Git
Prompt :
Check the current branch status and suggest the safest next steps before I commit.Copilot pourrait te guider vers :
git status
git diff
git diff --stagedPuis proposer :
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.
| Besoin | Réflexe |
|---|---|
| Commencer une nouvelle conversation | /new dans une session |
| Reprendre la session la plus récente | copilot --continue |
| Choisir une session à reprendre | copilot --resume ou /resume |
| Retrouver une session par son nom | copilot --resume=NOM ou /resume |
| Nommer une session | copilot --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.
copilot --name "checkout refactor"copilot --continueSessions 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.
/delegate complete the API integration tests and fix any failing edge casesCopilot 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 ?
| Autopilot | Délégation | |
|---|---|---|
| Comment le lancer | Maj+Tab, /autopilot ou copilot --autopilot | /delegate |
| Où le travail s’exécute | dans ta session CLI, sur ta machine | sur GitHub, par le Copilot cloud agent |
| Si tu éteins ta machine | la session s’arrête | le travail continue |
| Résultat | des changements dans ton dossier de travail | une branche et une pull request en brouillon à relire |
| Permissions | toutes les permissions locales, à accorder en connaissance de cause | celles 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.
- Fonctionnalités de Copilot, CLI et agents
Pratique : Sessions et délégation
Pour chaque besoin, choisis l’action de session qui convient : reprendre, choisir, nommer, repartir de zéro, déléguer au cloud agent ou laisser l’autopilot travailler en local. Les noms de commandes sont donnés avec leur effet : tu raisonnes sur ce que fait chaque action.
Chargement de la question…
Questions de la leçon
Chargement de la question…
Pour finir
À retenir
- 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).
Objectif GH-300
- Utiliser CLI en interactif (Use GitHub Copilot CLI interactively)
Achèvement
Il reste à faire : , .