Skip to main content

Sobre a CLI do GitHub Copilot

Saiba mais sobre como usar o Copilot na linha de comando.

Quem pode usar esse recurso?

CLI do GitHub Copilot está disponível em todos os planos de Copilot. Se você receber o Copilot de uma organização, a política CLI do Copilot deverá ser habilitada nas configurações da organização.

Introdução

A CLI (interface de linha de comando) do GitHub Copilot permite que você use o Copilot diretamente no terminal. Você pode usá-lo para responder perguntas, escrever e depurar código e interagir com o GitHub.com. Por exemplo, você pode pedir ao Copilot para fazer algumas alterações em um projeto e criar uma pull request.

A CLI do GitHub Copilot fornece acesso rápido a um agente de IA poderoso, sem precisar sair do terminal. Ela pode ajudar você a concluir tarefas mais rapidamente trabalhando em seu nome e você pode trabalhar iterativamente com a CLI do GitHub Copilot para criar o código de que precisa.

Observação

CLI do GitHub Copilot está em visualização pública com proteção de dados e está sujeito a alterações.

Sistemas operacionais com suporte

Para obter instruções de instalação, confira Como instalar a CLI do GitHub Copilot.

Modos de uso

CLI do GitHub Copilot tem duas interfaces de usuário: interativa e programática.

Interface interativa

Para iniciar uma sessão interativa, insira copilot. Em uma sessão interativa, você pode conversar com Copilot. Você pode solicitar o Copilot a executar uma ou mais tarefas, dar feedback e orientar a direção do trabalho.

Captura de tela da mensagem de boas-vindas na interface interativa do Copilot.

A interface interativa tem dois modos. Além do modo de solicitação/execução padrão, também há um modo de plano no qual Copilot criará um plano de implementação estruturado para uma tarefa que você deseja concluir.

Pressione Shift+Tab para alternar entre os modos. No modo plano, Copilot analisa sua solicitação, faz perguntas de esclarecimento para entender o escopo e os requisitos e cria um plano antes de escrever qualquer código. Isso ajuda você a capturar mal-entendidos antes de qualquer código ser escrito e manter o controle de tarefas complexas de várias etapas.

Interface programática

Você também pode passar um único prompt diretamente para a CLI na linha de comando. A CLI conclui a tarefa e, em seguida, é encerrada.

Para usar a CLI programaticamente, inclua a opção de linha de comando -p ou --prompt em seu comando. Para permitir que Copilot modifique e execute arquivos, você também deve usar uma das opções de aprovação descritas posteriormente neste artigo — veja Permitir que as ferramentas sejam usadas sem aprovação manual. Por exemplo:

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

Você também pode usar um script para gerar opções de linha de comando e canalizar isso para copilot. Por exemplo:

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

Cuidado

Se você usar uma opção de aprovação automática, como --allow-all-tools, o Copilot terá o mesmo acesso que você tem aos arquivos em seu computador e poderá executar quaisquer comandos de shell que você possa executar, sem obter sua aprovação prévia. Consulte Considerações sobre segurança, mais adiante neste artigo.

Casos de uso do CLI do GitHub Copilot

As seções a seguir fornecem exemplos de tarefas que você pode realizar com a CLI do GitHub Copilot.

Tarefas locais

  • Em um diretório de projeto, você pode pedir ao Copilot para fazer uma alteração no código no projeto. Por exemplo:

    Change the background-color of H1 headings to dark blue

    O Copilot localiza o arquivo CSS em que os títulos H1 estão definidos e altera o valor de cor.

  • Peça ao Copilot para informar sobre as alterações em um arquivo:

    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

  • Use o Copilot para ajudar a melhorar o código ou a documentação em seu projeto.

    • Suggest improvements to content.js

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

  • Use o Copilot para ajudar a executar operações do Git.

    • Commit the changes to this repo

    • Revert the last commit, leaving the changes unstaged

  • Peça ao Copilot para criar um aplicativo do zero, por exemplo, como uma prova de conceito.

    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.

  • Peça ao Copilot para explicar por que uma alteração feita não está funcionando conforme o esperado ou diga ao Copilot para corrigir um problema com a última alteração feita. Por exemplo:

    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"

Tarefas que envolvam o GitHub.com

  • Busque e exiba detalhes sobre seu trabalho no GitHub.com.

    • List my open PRs

      Isso lista suas solicitações de pull abertas de qualquer repositório em GitHub. Para obter resultados mais específicos, inclua o nome do repositório no prompt:

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

  • Peça ao Copilot para trabalhar em um Issue:

    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.

  • Peça ao Copilot para fazer alterações no arquivo e gerar uma pull request no 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"

    O Copilot cria uma solicitação de pull em GitHub.com, em seu nome. Você será marcado como o autor da pull request.

  • Peça ao Copilot para criar um problema para você no 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.

  • Peça ao Copilot para verificar as alterações de código em uma 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.

    O Copilot responde na CLI com um resumo dos problemas encontrados.

  • Gerencie pull requests na CLI do 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

  • Encontre tipos específicos de problemas.

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

    Observação

    Se você souber que um servidor de MCP específico pode realizar uma determinada tarefa, especificá-lo em seu prompt pode ajudar o Copilot a entregar os resultados desejados.

  • Localize fluxos de trabalho específicos do GitHub Actions.

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

  • Crie um fluxo de trabalho de 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.

Conduzindo a conversa

Você pode interagir com Copilot enquanto ele está pensando em orientar a conversa:

  •         **Enfileirar mensagens adicionais**: envie mensagens de acompanhamento para redirecionar a conversa ou enfileirar instruções adicionais para que Copilot processe após concluir sua resposta atual. Isso faz com que as conversas se sintam mais naturais e mantenha você no controle.
    
  •         **Comentários embutidos sobre rejeição**: ao rejeitar uma solicitação de permissão de ferramenta, você pode fornecer Copilot comentários embutidos sobre a rejeição para que ele possa adaptar sua abordagem sem parar totalmente. Isso torna o fluxo da conversa mais natural quando você deseja orientar Copilot para evitar determinadas ações.
    

Gerenciamento automático de contexto

CLI do GitHub Copilot gerencia automaticamente seu contexto da conversa:

  •         **Compactação automática**: quando sua conversa se aproxima de 95% do limite de token, Copilot compacta automaticamente seu histórico em segundo plano sem interromper o fluxo de trabalho. Isso permite sessões praticamente infinitas.
    
  •         **Controle manual**: use `/compact` para compactar manualmente o contexto a qualquer momento. Pressione <kbd>Escape</kbd> para cancelar se você mudar de ideia.
    
  •         **Visualizar o uso**: o `/context` comando mostra uma divisão detalhada do uso do token para que você possa entender como a janela de contexto está sendo usada.
    

Personalizando CLI do GitHub Copilot

Você pode personalizar CLI do GitHub Copilot de várias maneiras:

  •         **Instruções personalizadas**: as instruções personalizadas permitem que você forneça ao Copilot contexto adicional sobre seu projeto e como construir, testar e validar suas alterações. Todos os arquivos de instrução personalizados agora combinam em vez de usar fallbacks baseados em prioridade. Para saber mais, confira [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions).
    
  •         **Servidores MCP (Protocolo de Contexto de Modelo)**: os servidores MCP permitem que você dê acesso Copilot a diferentes fontes de dados e ferramentas. Para saber mais, confira [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#add-an-mcp-server).
    
  •         **Agentes personalizados**: Agentes personalizados permite criar diferentes versões especializadas de Copilot para diferentes tarefas. Por exemplo, você pode personalizar Copilot para ser um engenheiro de front-end especialista, seguindo as diretrizes da sua equipe. CLI do GitHub Copilot inclui agentes personalizados especializados aos quais delega automaticamente tarefas comuns. Para saber mais, confira [AUTOTITLE](/copilot/how-tos/use-copilot-agents/use-copilot-cli#use-custom-agents).
    
  •         **Ganchos**: os ganchos permitem executar comandos de shell personalizados em pontos-chave durante a execução do agente, permitindo que você adicione validação, registro em log, verificação de segurança ou automação de fluxo de trabalho. Confira [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-hooks).
    
  •         **Habilidades**: as habilidades permitem que você aprimore a capacidade de Copilot para executar tarefas especializadas com instruções, scripts e recursos. Para saber mais, confira [AUTOTITLE](/copilot/concepts/agents/about-agent-skills).
    
  •         **Memória copilot**: Memória copilot permite Copilot criar um reconhecimento persistente do repositório armazenando "memórias", que são informações sobre convenções de codificação, padrões e preferências que Copilot deduz enquanto trabalha. Isso reduz a necessidade de explicar repetidamente o contexto em seus prompts e torna as sessões futuras mais produtivas. Para saber mais, confira [AUTOTITLE](/copilot/concepts/agents/copilot-memory).
    

Considerações de segurança

Quando você usa a CLI do Copilot, o Copilot pode executar tarefas em seu nome, como executar ou modificar arquivos ou executar comandos de shell.

Portanto, você deve sempre ter considerações de segurança em mente ao usar a CLI do Copilot, assim como faria ao trabalhar diretamente com arquivos por conta própria ou executar comandos diretamente no terminal. Você sempre deve examinar os comandos sugeridos cuidadosamente quando a CLI do Copilot solicita sua aprovação.

Diretórios confiáveis

Os diretórios confiáveis controlam onde CLI do Copilot pode ler, modificar e executar arquivos.

Você só deve iniciar a CLI do Copilot em diretórios em que confia. Você não deve usar a CLI do Copilot em diretórios que possam conter arquivos executáveis em que você não tem certeza de que confia. Da mesma forma, se você iniciar a CLI em um diretório que contém dados confidenciais ou arquivos que você não deseja que sejam alterados, poderá expor inadvertidamente esses arquivos a riscos. Em geral, você não deve iniciar a CLI do Copilot em seu diretório base.

O escopo de permissões é heurístico e o GitHub não garante que todos os arquivos fora de diretórios confiáveis serão protegidos. Consulte a mitigação de risco.

Ao iniciar uma sessão da CLI do GitHub Copilot, você receberá solicitação para confirmar que confia nos arquivos no diretório e nos subdiretórios em que iniciou a CLI. Confira Configurar a CLI do GitHub Copilot.

Ferramentas permitidas

Na primeira vez que o Copilot precisar usar uma ferramenta que possa ser usada para modificar ou executar um arquivo — por exemplo, touch, chmod, node ou sed — ele perguntará se você deseja permitir o uso da ferramenta.

Normalmente, você pode escolher entre três opções:

1. Yes
2. Yes, and approve TOOL for the rest of the running session
3. No, and tell Copilot what to do differently (Esc)
          **A opção 1** permite que o Copilot execute esse comando específico, desta vez apenas. Na próxima vez que precisar usar essa ferramenta, ele perguntará novamente.

          **A opção 2** permite que o Copilot use essa ferramenta novamente, sem solicitar permissão, durante a sessão atual em execução. Ele solicitará sua aprovação novamente em novas sessões ou se você retomar a sessão atual no futuro. Se você escolher essa opção, permitirá que o Copilot use a ferramenta da maneira que considerar apropriada. Por exemplo, se o Copilot solicitar que você permita que ele execute o comando `rm ./this-file.txt` e você escolher a opção 2, Copilot poderá executar qualquer comando `rm` (por exemplo, `rm -rf ./*`) durante a execução atual desta sessão, sem solicitar sua aprovação.

          **A opção 3** cancela o comando proposto e permite que você informe o Copilot para tentar uma abordagem diferente.

Permitir que as ferramentas sejam usadas sem aprovação manual

Há três opções de linha de comando que você pode usar, durante sessões interativas ou programáticas, para determinar ferramentas que Copilot podem usar sem solicitar sua aprovação.

  • --allow-all-tools

    Permite que o Copilot use qualquer ferramenta sem solicitar sua aprovação.

    Por exemplo, você pode usar essa opção ao invocar programaticamente a CLI para permitir que o Copilot execute qualquer comando. Por exemplo:

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

    Impede que o Copilot use uma ferramenta específica.

    Essa opção tem precedência sobre as opções --allow-all-tools e --allow-tool.

  • --allow-tool

    Permite que o Copilot use uma ferramenta específica sem solicitar sua aprovação.

Como usar as opções de aprovação

As opções --deny-tool e --allow-tool exigem um dos seguintes argumentos:

  • 'shell(COMMAND)'

    Por exemplo, copilot --deny-tool 'shell(rm)' impede que o Copilot use qualquer comando rm.

    Para comandos git e gh, você pode especificar um subcomando de primeiro nível específico para permitir ou negar. Por exemplo:

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

    A especificação da ferramenta é opcional. Por exemplo, copilot --allow-tool 'shell' permite que o Copilot use qualquer comando de shell sem aprovação individual.

  • 'write'

    Esse argumento permite ou nega a permissão de modificação de arquivos a ferramentas que não sejam comandos de shell.

    Por exemplo, copilot --allow-tool 'write' permite que o Copilot edite arquivos sem sua aprovação individual.

  • 'MCP_SERVER_NAME'

    Esse argumento permite ou nega ferramentas do servidor de MCP especificado, em que MCP_SERVER_NAME é o nome de um servidor de MCP que você configurou. As ferramentas do servidor são especificadas entre parênteses, usando o nome da ferramenta que está registrado com o servidor de MCP. Usar o nome do servidor sem especificar uma ferramenta permite ou nega todas as ferramentas desse servidor.

    Por exemplo, copilot --deny-tool 'My-MCP-Server(tool_name)' impede que o Copilot use a ferramenta chamada tool_name do servidor de MCP chamado My-MCP-Server.

    Você pode encontrar o nome de um servidor MCP inserindo /mcp na interface interativa da CLI e selecionando o servidor na lista exibida.

Combinar opções de aprovação

Você pode usar uma combinação de opções de aprovação para determinar exatamente quais ferramentas o Copilot pode usar sem solicitar sua aprovação.

Por exemplo, para impedir que o Copilot usem os comandos rm e git push, mas permitir automaticamente todas as outras ferramentas, use:

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

Para impedir que o Copilot tool_name use a ferramenta do servidor de MCP denominado My-MCP-Server, mas permitir que todas as outras ferramentas desse servidor sejam usadas sem aprovação individual, use:

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

Implicações de segurança da aprovação automática de ferramentas

É importante estar ciente das implicações de segurança do uso das opções de linha de comando de aprovação. Essas opções permitem que o Copilot execute comandos necessários para atender à sua solicitação, sem lhe dar a oportunidade de revisar e aprovar os comandos para que eles sejam executados. Embora isso simplifique os fluxos de trabalho e permita a operação sem periféricos da CLI, há um aumento no risco de ações não intencionais que possam resultar em perda ou corrupção de dados ou outros problemas de segurança.

Você pode controlar quais ferramentas o CLI do Copilot pode usar respondendo aos prompts de aprovação quando o Copilot tenta usar uma ferramenta, especificando permissões com opções de linha de comando ou, em uma sessão interativa, usando comandos de barra (como /allow-all e /yolo). Confira Configurar a CLI do GitHub Copilot.

Mitigação de risco

Você pode atenuar os riscos associados ao uso das opções de aprovação automática executando CLI do Copilot em um ambiente restrito, como uma máquina virtual, um contêiner ou um sistema dedicado, com permissões e acesso à rede fortemente controlados. Isso restringe qualquer dano potencial que possa ocorrer ao permitir que o Copilot execute comandos que você não examinou e verificou.

Limitações conhecidas da política do servidor MCP

CLI do Copilot atualmente não pode dar suporte às seguintes políticas de servidor MCP no nível da organização:

  •         **Servidores MCP no Copilot**, que controla se os servidores MCP podem ser utilizados de qualquer forma pelo Copilot.
    
  • A URL do Registro MCP, que controla de qual registro MCP Copilot permitirá que os servidores MCP sejam usados.

Para obter mais informações sobre essas políticas, consulte Uso do servidor MCP em sua empresa.

Uso do modelo

O modelo padrão usado por CLI do GitHub Copilot é Claude Soneto 4.5. O GitHub reserva-se o direito de alterar esse modelo.

Você pode alterar o modelo usado por CLI do GitHub Copilot usando o /model comando com barra ou a --model opção de linha de comando. Insira este comando e selecione um modelo na lista.

Cada vez que você envia uma solicitação para Copilot no modo interativo do CLI do Copilot e cada vez que você usa o CLI do Copilot programaticamente, sua cota mensal de solicitações premium do Copilot é reduzida em uma unidade, multiplicada pelo multiplicador mostrado entre parênteses na lista de modelos. Por exemplo, Claude Sonnet 4.5 (1x) indica que, com este modelo, cada vez que você envia um prompt, sua cota de solicitações premium é reduzida em uma unidade. Para obter mais informações sobre solicitações Premium, confira Solicitações no GitHub Copilot.

Usar CLI do Copilot via ACP

ACP (o Protocolo de Cliente do Agente) é um padrão aberto para interagir com agentes de IA. Ele permite que você use CLI do Copilot como um agente em quaisquer ferramentas de terceiros, IDEs ou sistemas de automação que dão suporte a esse protocolo.

Para saber mais, confira Servidor ACP da CLI do Copilot.

Comentários

Se você tiver algum comentário sobre a CLI do GitHub Copilot, informe-nos usando o comando de barra /feedback em uma sessão interativa e escolhendo uma das opções. Você pode preencher uma pesquisa de comentários privada, enviar um relatório de bugs ou sugerir um novo recurso.

Leitura adicional

  •         [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)