Skip to main content

À propos de GitHub Copilot CLI

Découvrez l’utilisation Copilot à partir de la ligne de commande.

Qui peut utiliser cette fonctionnalité ?

CLI GitHub Copilot est disponible dans tous les forfaits Copilot. Si vous recevez Copilot d’une organisation, la Copilot pour CLI stratégie doit être activée dans les paramètres de l’organisation.

Présentation

L’interface de ligne de commande (CLI) de GitHub Copilot vous permet d’utiliser Copilot directement depuis votre terminal. Vous pouvez l’utiliser pour répondre aux questions, écrire et déboguer du code et interagir avec GitHub.com. Par exemple, vous pouvez demander à Copilot d’apporter des modifications à un projet et de créer une pull request.

          CLI GitHub Copilot vous donne un accès rapide à un puissant agent IA, sans avoir à quitter votre terminal. Il peut vous aider à effectuer des tâches plus rapidement en travaillant en votre nom, et vous pouvez travailler de manière itérative avec CLI GitHub Copilot pour générer le code dont vous avez besoin.

Systèmes d'exploitation pris en charge

Pour obtenir des instructions d’installation, consultez Installation du CLI GitHub Copilot.

Modes d’utilisation

          CLI GitHub Copilot a deux interfaces utilisateur : interactives et programmatiques.

Interface interactive

Pour démarrer une session interactive, entrez copilot. Dans une session interactive, vous pouvez avoir une conversation avec Copilot. Vous pouvez inviter Copilot à effectuer une ou plusieurs tâches, et vous pouvez lui donner des commentaires et diriger la direction du travail.

Capture d’écran du message de bienvenue dans l’interface interactive de Copilot.

L’interface interactive a deux modes. Outre le mode ask/execute par défaut, il existe également un mode de plan dans lequel Copilot générer un plan d’implémentation structuré pour une tâche que vous souhaitez terminer.

          <kbd>Appuyez sur Maj + Tab</kbd>+ pour parcourir les modes.<kbd></kbd> En mode plan, Copilot analyse votre demande, pose des questions de clarification pour comprendre l’étendue et les exigences, et génère un plan avant d’écrire du code. Cela vous aide à détecter les malentendus avant l’écriture d’un code et à contrôler les tâches complexes et multi-étapes.

Interface programmatique

Vous pouvez également transmettre un seul prompt à la CLI directement sur la ligne de commande. L’interface CLI termine la tâche, puis se ferme.

Pour utiliser le programme CLI par programmation, incluez l'option de ligne de commande -p ou --prompt dans votre commande. Pour autoriser Copilot la modification et l’exécution de fichiers, vous devez également utiliser l’une des options d’approbation décrites plus loin dans cet article : voir Autoriser l’utilisation d’outils sans approbation manuelle ). Par exemple:

Bash
copilot -p "Show me this week's commits and summarize them" --allow-tool='shell(git)'

Vous pouvez également utiliser un script pour générer des options de ligne de commande et les transmettre au copilot. Par exemple:

Bash
./script-outputting-options.sh | copilot

Attention

Si vous utilisez une option d’approbation automatique telle que --allow-all-tools, Copilot a le même accès que vous aux fichiers sur votre ordinateur et pouvez exécuter toutes les commandes shell que vous pouvez exécuter, sans obtenir votre approbation préalable. Consultez Considérations de sécurité, plus loin dans cet article.

Cas d’usage pour CLI GitHub Copilot

Les sections suivantes fournissent des exemples de tâches que vous pouvez effectuer avec CLI GitHub Copilot.

Tâches locales

  • À partir d’un répertoire de projet, vous pouvez demander Copilot de modifier le code dans le projet. Par exemple:

    Change the background-color of H1 headings to dark blue

            Copilot recherche le fichier CSS dans lequel les en-têtes H1 sont définis et modifie la valeur de couleur.
    
  • Demandez-vous Copilot de vous informer des modifications apportées à un fichier :

    Show me the last 5 changes made to the CHANGELOG.md file. Who changed the file, when, and give a brief summary of the changes they made

  • Utilisez Copilot pour vous aider à améliorer le code ou la documentation de votre projet.

    • Suggest improvements to content.js

    • Rewrite the readme in this project to make it more accessible to newcomers

  • Utilisez Copilot pour vous aider à effectuer des opérations Git.

    • Commit the changes to this repo

    • Revert the last commit, leaving the changes unstaged

  • Demandez Copilot à créer une application à partir de zéro, par exemple en tant que preuve de concept.

    Use the create-next-app kit and tailwind CSS to create a next.js app. The app should be a dashboard built with data from the GitHub API. It should track this project's build success rate, average build duration, number of failed builds, and automated test pass rate. After creating the app, give me easy to follow instructions on how to build, run, and view the app in my browser.

  • Demandez Copilot à expliquer pourquoi une modification apportée ne fonctionne pas comme prévu, ou indiquez Copilot à résoudre un problème avec la dernière modification apportée. Par exemple:

    You said: "The application is now running on http://localhost:3002 and is fully functional!" but when I browse to that URL I get "This site can't be reached"

Tâches impliquant GitHub.com

  • Récupérez et affichez des détails sur votre travail à partir de GitHub.com.

    • List my open PRs

      Cette liste montre vos pull requests ouvertes depuis n'importe quel répertoire sur GitHub. Pour obtenir des résultats plus précis, incluez le nom du référentiel dans votre prompt :

    • List all open issues assigned to me in OWNER/REPO

  • Demandez Copilot à travailler sur un problème :

    I've been assigned this issue: https://github.com/octo-org/octo-repo/issues/1234. Start working on this for me in a suitably named branch.

  • Demandez à Copilot d'apporter des modifications au fichier et de créer une pull request sur GitHub.com.

    • In the root of this repo, add a Node script called user-info.js that outputs information about the user who ran the script. Create a pull request to add this file to the repo on GitHub.

    • Create a PR that updates the README at https://github.com/octo-org/octo-repo, changing the subheading "How to run" to "Example usage"

    Copilot crée une pull request sur GitHub.com, en votre nom. Vous êtes marqué comme auteur de la demande de tirage.

  • Demandez à Copilot de créer un ticket pour vous sur GitHub.com.

    Raise an improvement issue in octo-org/octo-repo. In src/someapp/somefile.py the `file = open('data.txt', 'r')` block opens a file but never closes it.

  • Demandez à Copilot de vérifier les modifications apportées au code dans une pull request.

    Check the changes made in PR https://github.com/octo-org/octo-repo/pull/57575. Report any serious errors you find in these changes.

    Copilot répond dans l’interface CLI avec un résumé des problèmes détectés.

  • Gérer les pull requests à partir de CLI GitHub Copilot.

    • Merge all of the open PRs that I've created in octo-org/octo-repo

    • Close PR #11 on octo-org/octo-repo

  • Trouvez des types spécifiques de problèmes.

    Use the GitHub MCP server to find good first issues for a new team member to work on from octo-org/octo-repo

    Remarque

    Si vous savez qu’un serveur MCP spécifique peut atteindre une tâche particulière, la spécification de celle-ci dans votre invite peut vous aider Copilot à fournir les résultats souhaités.

  • Recherchez des flux de travail spécifiques GitHub Actions .

    List any Actions workflows in this repo that add comments to PRs

  • Créez un GitHub Actions flux de travail.

    Branch off from main and create a GitHub Actions workflow that will run on pull requests, or can be run manually. The workflow should run eslint to check for problems in the changes made in the PR. If warnings or errors are found these should be shown as messages in the diff view of the PR. I want to prevent code with errors from being merged into main so, if any errors are found, the workflow should cause the PR check to fail. Push the new branch and create a pull request.

Direction de la conversation

Vous pouvez interagir avec Copilot pendant qu'il réfléchit pour orienter la conversation.

  •         **Mise en file d’attente de messages supplémentaires** : envoyez des messages de suivi afin de réorienter la conversation ou placez en file d’attente des instructions additionnelles que Copilot traitera une fois sa réponse en cours terminée. Cela rend les conversations plus naturelles et vous garde en contrôle.
    
  •         **Commentaires inline sur le rejet** : lorsque vous refusez une demande d’autorisation d’outil, vous pouvez donner Copilot des commentaires inline sur le rejet afin qu’il puisse adapter son approche sans s’arrêter entièrement. Cela rend le déroulement de la conversation plus naturel lorsque vous souhaitez orienter Copilot loin de certaines actions.
    

Gestion automatique du contexte

          CLI GitHub Copilot gère automatiquement votre contexte de conversation :

* Compactage automatique : lorsque votre conversation atteint environ 95 % de la limite de jetons, Copilot compresse automatiquement l’historique en arrière-plan sans perturber votre flux de travail. Cela permet des sessions pratiquement infinies. * Contrôle manuel : permet /compact de compresser manuellement le contexte à tout moment. Appuyez sur Escape pour annuler si vous changez d’avis. * Visualiser l’utilisation : la /context commande affiche une répartition détaillée de l’utilisation des jetons afin de comprendre comment votre fenêtre de contexte est utilisée.

Personnalisation CLI GitHub Copilot

Vous pouvez personnaliser CLI GitHub Copilot de plusieurs façons :

  •         **Instructions personnalisées : les instructions personnalisées** vous permettent de donner Copilot un contexte supplémentaire à votre projet et de créer, tester et valider ses modifications. Tous les fichiers d’instructions personnalisés se combinent maintenant au lieu d’utiliser des solutions de remplacement basées sur des priorités. Pour plus d’informations, consultez « [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions) ».
    
  •         **Serveurs MCP (Model Context Protocol) : les serveurs MCP** vous permettent d’accéder Copilot à différentes sources de données et outils. Pour plus d’informations, consultez « [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#add-an-mcp-server) ».
    
  •         **
            Agents personnalisés
            **: Agents personnalisés vous permet de créer différentes versions spécialisées de Copilot pour des tâches variées. Par exemple, vous pouvez personnaliser Copilot pour être un ingénieur front-end expert en suivant les instructions de votre équipe. 
            CLI GitHub Copilot inclut des éléments spécialisés agents personnalisés auxquels il délègue automatiquement les tâches courantes. Pour plus d’informations, consultez « [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents) ».
    
  •         **Hooks** : les hooks vous permettent d’exécuter des commandes d’interpréteur de commandes personnalisées à des points clés pendant l’exécution de l’agent, ce qui vous permet d’ajouter la validation, la journalisation, l’analyse de sécurité ou l’automatisation des flux de travail. Consultez [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-hooks).
    
  •         **Compétences** : Les compétences vous permettent d’améliorer la capacité d’effectuer Copilot des tâches spécialisées avec des instructions, des scripts et des ressources. Pour plus d’informations, consultez « [AUTOTITLE](/copilot/concepts/agents/about-agent-skills) ».
    
  •         **
            Copilot mémoire
            **: Copilot mémoire permet Copilot de créer une compréhension persistante de votre dépôt en stockant des « mémoires », qui sont des informations sur les conventions de codage, les modèles et les préférences qui Copilot déduisent le fonctionnement. Cela réduit la nécessité d’expliquer à plusieurs reprises le contexte dans vos invites et rend les sessions futures plus productives. Pour plus d’informations, consultez « [AUTOTITLE](/copilot/concepts/agents/copilot-memory) ».
    

Considérations relatives à la sécurité

Lorsque vous utilisez Copilot pour CLI, Copilot peut effectuer des tâches pour vous, telles que l’exécution ou la modification de fichiers, ou l’exécution de commandes shell.

Vous devez donc toujours garder à l’esprit les considérations de sécurité lors de l’utilisation Copilot pour CLI, comme vous le feriez lorsque vous travaillez directement avec des fichiers vous-même ou exécutez des commandes directement dans votre terminal. Vous devez toujours examiner attentivement les commandes proposées lorsque votre approbation Copilot pour CLI est demandée.

Répertoires de confiance

Les répertoires approuvés contrôlent où Copilot pour CLI peut lire, modifier et exécuter des fichiers.

Vous ne devez lancer Copilot pour CLI qu’à partir de répertoires que vous faites confiance. Vous ne devez pas utiliser Copilot pour CLI dans les répertoires qui peuvent contenir des fichiers exécutables que vous ne pouvez pas être sûr de faire confiance. De même, si vous lancez l’interface de ligne de commande à partir d’un répertoire contenant des données sensibles ou confidentielles, ou des fichiers que vous ne souhaitez pas modifier, vous pourriez involontairement exposer ces fichiers à des risques. En règle générale, vous ne devez pas lancer Copilot pour CLI à partir de votre répertoire de base.

L’étendue des autorisations est heuristique et GitHub ne garantit pas que tous les fichiers en dehors des répertoires approuvés seront protégés. Voir atténuation des risques.

Lorsque vous démarrez une CLI GitHub Copilot session, vous êtes invité à confirmer que vous approuvez les fichiers dans et ci-dessous, le répertoire à partir duquel vous avez lancé l’interface CLI. Consultez Configurer l’interface en ligne de commande GitHub Copilot.

Outils autorisés

La première fois que vous Copilot devez utiliser un outil qui peut être utilisé pour modifier ou exécuter un fichier,par exemple, touch, chmod, node ou sed il vous demande si vous souhaitez l’autoriser à utiliser cet outil.

En général, vous pouvez choisir parmi trois options :

1. Yes
2. Yes, and approve TOOL for the rest of the running session
3. No, and tell Copilot what to do differently (Esc)
          **L’option 1** permet Copilot d’exécuter cette commande particulière, cette fois uniquement. La prochaine fois qu’il aura besoin de cet outil, il vous le demandera à nouveau.

          **L’option 2** permet Copilot d’utiliser à nouveau cet outil, sans vous demander d’autorisation, pendant la durée de la session en cours d’exécution. Il vous redemandera votre approbation lors de nouvelles sessions, ou si vous reprenez la session en cours ultérieurement. Si vous choisissez cette option, vous autorisez Copilot à utiliser cet outil de quelque manière qu’il pense être approprié. Par exemple, si Copilot vous demande de l’autoriser à exécuter la commande `rm ./this-file.txt`, et que vous choisissez l’option 2, alors Copilot peut exécuter n’importe quelle commande `rm` (par exemple, `rm -rf ./*`) pendant l’exécution actuelle de cette session, sans demander votre approbation.

          **L’option 3** annule la commande proposée et vous permet d’essayer Copilot une approche différente.

Autoriser l’utilisation d’outils sans approbation manuelle

Il existe trois options de ligne de commande que vous pouvez utiliser, dans des sessions interactives ou programmatiques, pour déterminer les outils qui Copilot peuvent être utilisés sans demander votre approbation :

  • --allow-all-tools

    Permet Copilot d’utiliser n’importe quel outil sans demander votre approbation.

    Par exemple, vous pouvez utiliser cette option avec un appel programmatique de l’interface CLI pour permettre Copilot d’exécuter n’importe quelle commande. Par exemple:

    copilot -p "Revert the last commit" --allow-all-tools
    
  • --deny-tool

    Empêche Copilot d'utiliser un outil spécifique.

    Cette option a priorité sur les options --allow-all-tools et --allow-tool.

  • --allow-tool

    Permet Copilot d’utiliser un outil spécifique sans demander votre approbation.

Utilisation des options d’approbation

Les options --deny-tool et --allow-tool nécessitent l’un des arguments suivants :

  • 'shell(COMMAND)'

    Par exemple, copilot --deny-tool='shell(rm)' empêche Copilot l’utilisation d’une rm commande.

    Pour les commandes git et gh, vous pouvez spécifier une sous-commande de premier niveau particulière à autoriser ou à refuser. Par exemple:

    copilot --deny-tool='shell(git push)'
    

    La spécification de l’outil est facultative. Par exemple, copilot --allow-tool='shell' permet Copilot d’utiliser n’importe quelle commande shell sans approbation individuelle.

  • 'write'

    Cet argument autorise ou refuse aux outils, autres que les commandes de l’interpréteur de commandes, la permission de modifier des fichiers.

    Par exemple, copilot --allow-tool='write' permet Copilot de modifier des fichiers sans votre approbation individuelle.

  • 'MCP_SERVER_NAME'

    Cet argument autorise ou refuse les outils provenant du serveur MCP spécifié, où MCP_SERVER_NAME est le nom d’un serveur MCP que vous avez configuré. Les outils du serveur sont spécifiés entre parenthèses, en utilisant le nom de l’outil enregistré auprès du serveur MCP. Utiliser le nom du serveur sans spécifier d’outil autorise ou refuse tous les outils de ce serveur.

    Par exemple, copilot --deny-tool='My-MCP-Server(tool_name)' empêche Copilot l’utilisation de l’outil appelé tool_name à partir du serveur MCP appelé My-MCP-Server.

    Vous trouverez le nom d’un serveur MCP en entrant dans l’interface interactive de l’interface CLI, puis en sélectionnant /mcp le serveur dans la liste affichée.

Combinaison des options d’approbation

Vous pouvez utiliser une combinaison d’options d’approbation pour déterminer exactement quels outils Copilot peuvent utiliser sans demander votre approbation.

Par exemple, pour empêcher Copilot d'utiliser les commandes rm et git push, mais autoriser automatiquement tous les autres outils, utilisez :

copilot --allow-all-tools --deny-tool='shell(rm)' --deny-tool='shell(git push)'

Pour empêcher Copilot l’utilisation de l’outil tool_name à partir du serveur MCP nommé My-MCP-Server, mais autoriser l’utilisation de tous les autres outils de ce serveur sans approbation individuelle, utilisez :

copilot --allow-tool='My-MCP-Server' --deny-tool='My-MCP-Server(tool_name)'

Implications de l’approbation automatique des outils en matière de sécurité

Il est important de connaître les implications en matière de sécurité de l’utilisation des options de ligne de commande d’approbation. Ces options permettent Copilot d’exécuter des commandes nécessaires pour terminer votre demande, sans vous donner la possibilité de passer en revue et d’approuver ces commandes avant leur exécution. Bien que cela simplifie les flux de travail et autorise un fonctionnement sans interface graphique de l’interface de ligne de commande, cela augmente le risque d’actions involontaires pouvant entraîner une perte ou une corruption des données, ainsi que d’autres problèmes de sécurité.

Vous pouvez contrôler quels outils Copilot pour CLI peuvent utiliser en répondant aux invites d’approbation lorsque Copilot tente d’utiliser un outil, en spécifiant des autorisations avec des indicateurs de ligne de commande ou (dans une session interactive) à l’aide de commandes slash (comme /allow-all et /yolo). Consultez Configurer l’interface en ligne de commande GitHub Copilot.

Atténuation des risques

Vous pouvez atténuer les risques associés à l’utilisation des options d’approbation automatique en s’exécutant Copilot pour CLI dans un environnement restreint, tel qu’une machine virtuelle, un conteneur ou un système dédié, avec des autorisations et un accès réseau étroitement contrôlés. Cela limite les dommages potentiels qui peuvent se produire lors de l’exécution Copilot de commandes que vous n’avez pas examinées et vérifiées.

Limitations connues de la stratégie de serveur MCP

          Copilot pour CLI ne peut actuellement pas prendre en charge les stratégies de serveur MCP au niveau de l’organisation suivantes :

* Les serveurs MCP dans Copilot, qui contrôlent si les serveurs MCP peuvent être utilisés du tout par Copilot. * URL du registre MCP, qui contrôle à partir de quel registre MCP les serveurs MCP pourront être utilisés.

Pour plus d’informations sur ces stratégies, consultez Utilisation du serveur MCP dans votre entreprise.

Utilisation du modèle

Le modèle par défaut utilisé est CLI GitHub CopilotClaude Sonnet 4.5. GitHub se réserve le droit de modifier ce modèle.

Vous pouvez changer le modèle utilisé par CLI GitHub Copilot en recourant à la commande /model avec le caractère « / » ou via l’option de ligne de commande --model. Entrez cette commande, puis sélectionnez un modèle dans la liste.

Chaque fois que vous envoyez une invite à Copilot dans l'interface interactive de Copilot pour CLI, et chaque fois que vous utilisez Copilot pour CLI par programmation, votre quota mensuel de Copilot demandes premium est réduit d'une unité, multiplié par le multiplicateur affiché entre parenthèses dans la liste des modèles. Par exemple, Claude Sonnet 4.5 (1x) indique qu’avec ce modèle chaque fois que vous envoyez une invite, votre quota de demandes Premium est réduit d’un. Pour plus d’informations sur les demandes premium, consultez Demandes dans GitHub Copilot.

Utilisation de votre propre fournisseur de modèles

Vous pouvez configurer Copilot pour CLI pour utiliser votre propre fournisseur de modèles au lieu de GitHubmodèles hébergés. Cela vous permet de vous connecter à un point de terminaison compatible OpenAI, Azure OpenAI ou Anthropic, y compris des modèles en cours d’exécution localement tels que Ollama. Vous configurez votre fournisseur de modèles à l’aide de variables d’environnement.

Variable d'environnementDescription
COPILOT_PROVIDER_BASE_URLURL de base du point de terminaison d’API de votre fournisseur de modèles.
COPILOT_PROVIDER_TYPEType de fournisseur : openai (par défaut), azureou anthropic. Le openai type fonctionne avec n’importe quel point de terminaison compatible OpenAI, y compris Ollama et vLLM.
COPILOT_PROVIDER_API_KEYVotre clé API pour l’authentification auprès du fournisseur. Non requis pour les fournisseurs qui n’utilisent pas l’authentification, comme une instance Ollama locale.
COPILOT_MODELModèle à utiliser (obligatoire lors de l’utilisation d’un fournisseur personnalisé). Vous pouvez également définir cette option avec l’option --model de ligne de commande.

Les modèles utilisés avec Copilot pour CLI doivent prendre en charge l’appel d’outils (appel de fonction) et la diffusion en continu. Si le modèle ne prend pas en charge ces fonctionnalités, Copilot pour CLI retourne une erreur. Pour obtenir de meilleurs résultats, le modèle doit avoir une fenêtre de contexte d’au moins 128 000 jetons.

Pour plus d’informations sur la configuration de votre fournisseur de modèles, exécutez-le copilot help providers dans votre terminal.

Utiliser Copilot pour CLI via ACP

ACP (le protocole client agent) est une norme ouverte pour interagir avec les agents IA. Il vous permet d’utiliser Copilot pour CLI en tant qu’agent dans tous les systèmes d’automatisation, d’ides ou d’outils tiers qui prennent en charge ce protocole.

Pour plus d’informations, consultez « Serveur ACP de Copilot CLI ».

Commentaires

Si vous avez des commentaires à propos de CLI GitHub Copilot, veuillez nous en faire part en utilisant la commande à barre oblique /feedback dans une session interactive et en choisissant l’une des options. Vous pouvez remplir un questionnaire privé, soumettre un rapport de bogue ou suggérer une nouvelle fonctionnalité.

Lectures complémentaires

  •         [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-cli)
    
  •         [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli)
    
  •         [AUTOTITLE](/enterprise-cloud@latest/copilot/responsible-use/copilot-cli)