Skip to main content

À propos de GitHub Copilot CLI

Découvrez comment utiliser Copilot à partir de la ligne de commande.

Qui peut utiliser cette fonctionnalité ?

GitHub Copilot CLI est disponible avec les plans GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business et GitHub Copilot Enterprise.

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

Introduction

L’interface de ligne de commande (CLI) pour GitHub Copilot vous permet d’utiliser Copilot directement depuis votre terminal. Vous pouvez l’utiliser pour répondre à des 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 demande de tirage.

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

Remarque

GitHub Copilot CLI est en préversion publique et susceptible d’être modifié.

Systèmes d’exploitation pris en charge

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

Modes d’utilisation

GitHub Copilot CLI peut être utilisé dans deux modes :

  • Mode interactif : démarrez une session interactive en utilisant la commande copilot. Il s’agit du mode par défaut pour travailler avec l’interface CLI.

    Dans ce mode, vous pouvez demander à Copilot de répondre à une question ou d’effectuer une tâche. Vous pouvez réagir aux réponses de Copilot dans la même session.

    Capture d’écran du message de bienvenue en mode interactif de Copilot.

  • Mode programmatique : vous pouvez également transmettre un prompt unique directement à l’interface CLI via la ligne de commande. Pour ce faire, utilisez l’option de ligne de commande -p ou --prompt. Pour autoriser Copilot à modifier et à exécuter des fichiers, vous devez également utiliser l’une des options d’approbation (consultez Autoriser l’utilisation d’outils sans approbation manuelle plus loin dans cet article). Par exemple :

    Bash
    copilot -p "List my open PRs" --allow-all-tools
    

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

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

Attention

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

Cas d’utilisation pour GitHub Copilot CLI

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

Tâches locales

  • À partir d’un répertoire de projet, vous pouvez demander à Copilot d’apporter une modification au code du 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 la couleur.

  • Demandez à Copilot de vous signaler les 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 de créer une application à partir de zéro, par exemple, comme 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 d’expliquer pourquoi une modification qu’il a apportée ne fonctionne pas comme prévu, ou demandez à Copilot de corriger un problème lié à 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

      Cela répertorie vos demandes de tirage ouvertes à partir de n’importe quel référentiel 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 de 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 demande de tirage 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 demande de tirage sur github.com, en votre nom. Vous êtes marqué comme auteur de la demande de tirage.

  • Demandez à Copilot de créer un problème 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 demande de tirage.

    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 de ligne de commande avec un résumé des éventuels problèmes détectés.

  • Gérez les demandes de tirage à partir de GitHub Copilot CLI.

    • 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 accomplir une tâche particulière, le préciser dans votre prompt peut aider Copilot à fournir les résultats souhaités.

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

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

  • Créez un flux de travail GitHub Actions.

    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.

Considérations de sécurité

Lorsque vous utilisez Copilot CLI, Copilot peut effectuer des tâches à votre place, telles que l’exécution ou la modification de fichiers, ou l’exécution de commandes d’interpréteur de commandes.

Vous devez donc toujours garder à l’esprit les considérations de sécurité lorsque vous utilisez Copilot CLI, comme vous le feriez si vous travailliez directement avec des fichiers ou si vous exécutiez des commandes directement dans votre terminal. Vous devez toujours passer en revue attentivement les commandes suggérées lorsque Copilot CLI vous demande votre approbation.

Répertoires de confiance

Lorsque vous démarrez une session GitHub Copilot CLI, il vous sera demandé de confirmer que vous faites confiance aux fichiers contenus dans le répertoire à partir duquel vous avez lancé l’interface de ligne de commande, ainsi qu’aux sous-répertoires de celui-ci.

Avertissement

  • Vous ne devez lancer Copilot CLI qu’à partir des répertoires auxquels vous faites confiance. Vous ne devez pas utiliser Copilot CLI dans des répertoires pouvant contenir des fichiers exécutables dont vous n’êtes pas sûr de la fiabilité. 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 CLI à partir de votre répertoire personnel.
  • Le périmètre des autorisations est heuristique et GitHub ne garantit pas que tous les fichiers situés en dehors des répertoires de confiance seront protégés. Consultez Atténuation plus loin dans cet article.

Vous pouvez choisir de faire confiance au répertoire actuel pour :

  • La session en cours uniquement
  • Cette session et les sessions futures

Si vous choisissez de faire confiance au répertoire pour les sessions futures, le prompt du répertoire de confiance ne s’affichera plus. Vous ne devez choisir cette deuxième option que si vous êtes certain que cet emplacement sera toujours sûr pour le fonctionnement de Copilot.

Vous pouvez modifier la liste des répertoires de confiance permanents en modifiant le contenu du tableau trusted_folders dans le fichier config.json de l’interface de ligne de commande. Celui-ci se trouve, par défaut, dans le répertoire ~/.config. Vous pouvez modifier cet emplacement en définissant la variable d’environnement XDG_CONFIG_HOME.

Outils autorisés

La première fois que Copilot doit utiliser un outil pouvant modifier ou exécuter un fichier (par exemple, touch, chmod, node ou sed), il vous demandera 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 autorise Copilot à exécuter cette commande particulière, une seule fois. La prochaine fois qu’il aura besoin de cet outil, il vous le demandera à nouveau.

L’Option 2 autorise Copilot à utiliser à nouveau cet outil, sans vous demander votre autorisation, pendant toute la durée de la session en cours. 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 la manière qu’il juge appropriée. Par exemple, si Copilot vous demande l’autorisation d’exécuter la commande rm ./this-file.txt et que vous choisissez l’option 2, Copilot peut alors exécuter n’importe quelle commande rm (par exemple, rm -rf ./*) pendant la session en cours, sans demander votre approbation.

L’Option 3 annule la commande proposée et vous autorise à demander à Copilot d’essayer une autre approche.

Autoriser l’utilisation d’outils sans approbation manuelle

Il existe trois options de ligne de commande que vous pouvez utiliser en mode interactif ou programmatique pour déterminer les outils que Copilot peut utiliser sans demander votre approbation :

  • --allow-all-tools

    Autorise Copilot à utiliser n’importe quel outil sans demander votre approbation.

    Par exemple, vous pouvez utiliser cette option en mode programmatique pour permettre à l’interface CLI 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

    Autorise Copilot à 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 d’utiliser toute commande rm.

    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' autorise Copilot à utiliser n’importe quelle commande de l’interpréteur de commandes 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' autorise Copilot à modifier des fichiers sans demander 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 d’utiliser l’outil appelé tool_name du serveur MCP appelé My-MCP-Server.

    Vous pouvez trouver le nom d’un serveur MCP en entrant /mcp en mode interactif de Copilot CLI et en sélectionnant le serveur dans la liste qui s’affiche.

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 d’utiliser l’outil tool_name du serveur MCP nommé My-MCP-Server, mais autoriser tous les autres outils de ce serveur à être utilisés 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 autorisent Copilot à exécuter les commandes nécessaires pour répondre à 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é.

Atténuation des risques

Vous pouvez atténuer les risques associés à l’utilisation des options d’approbation automatique en utilisant Copilot CLI dans un environnement restreint, tel qu’une machine virtuelle, un conteneur ou un système dédié, sans accès Internet. Cela limite les dommages potentiels pouvant survenir lorsque vous autorisez Copilot à exécuter des commandes que vous n’avez pas passées en revue ni vérifiées.

Utilisation du modèle

Remarque

Claude Sonnet 4.5 est disponible dans GitHub Copilot CLI version 0.0.329 et ultérieure.

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

Vous pouvez modifier le modèle en définissant la variable d’environnement COPILOT_MODEL sur l’une des valeurs prises en charge. Par exemple, modifiez le modèle en GPT-5 en définissant COPILOT_MODEL sur gpt-5.

Nom du modèleValeur COPILOT_MODEL
Claude Sonnet 4claude-sonnet-4
Claude Sonnet 4.5claude-sonnet-4.5
GPT-5gpt-5

Chaque fois que vous soumettez un prompt à Copilot en mode interactif de Copilot CLI, et chaque fois que vous utilisez Copilot CLI en mode programmatique, votre quota mensuel de demandes premium Copilot est réduit de un. Pour plus d’informations sur les demandes premium, consultez Requêtes dans GitHub Copilot.

Commentaires

Si vous avez des commentaires à propos de GitHub Copilot CLI, 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é.

Pour aller plus loin