Copiloto do GitHub para a linha de comando

Concluído

O GitHub Copilot não é apenas para Ambientes de Desenvolvimento Integrados (IDEs) — é agora um assistente poderoso no seu terminal. GitHub Copilot CLI traz o Copilot diretamente para a linha de comandos, onde pode explicar comandos, sugerir comandos de shell a partir de linguagem natural e ajudá-lo a trabalhar de forma segura e interativa com os seus ficheiros e projetos.

A CLI do Copilot usa autenticação no GitHub e corre independentemente da CLI do GitHub, embora use as tuas credenciais existentes. Quer seja novo na linha de comandos ou um programador experiente, o Copilot CLI reduz suposições e acelera os fluxos de trabalho do dia a dia.

Esta unidade abrange:

  • Instalação e execução da CLI do GitHub Copilot
  • Sessões interativas no terminal
  • Comandos de barra e entrada em linguagem natural
  • Configuração e opções

Instalação e lançamento do Copilot CLI

Instalar via Homebrew no macOS e Linux:

brew install copilot-cli

Ou usa o script oficial de instalação:

curl -fsSL https://gh.io/copilot-install | bash

Lançar o Copilot CLI em modo interativo:

copilot

Mostra um banner de boas-vindas e um prompt:

Captura de ecrã do banner do modo interativo Copilot.

No primeiro lançamento, o Copilot pergunta se confias nos ficheiros na pasta atual. O Copilot pode ler, modificar ou executar ficheiros neste diretório durante a sessão, por isso só prossiga em locais de confiança.

Captura de ecrã do diretório interativo de especificações do Copilot.

Podes usar o @ para selecionar um ficheiro específico com que queres trabalhar como contexto.

Captura de ecrã da seleção de um ficheiro no modo interativo Copilot.

Dentro de uma sessão interativa, pode:

  • Use comandos de barra (/command) para controlar a sessão e configurar a CLI do Copilot.
  • Escreva prompts em linguagem natural para explicar, sugerir ou rever comandos.

Para prompts de execução única sem entrar em modo completo interativo:

copilot -i "explain brew install git"
copilot -i "suggest find large files and delete them"

Comandos comuns de barra invertida

Os comandos de barra (slash commands) são comandos explícitos de controlo de sessão. Aqui estão os mais comuns:

Comando de Slash Description
/help Mostrar comandos e opções disponíveis
/explain <command> Pede ao Copilot que explique qualquer comando de shell
/suggest <task> Pede ao Copilot que sugira um comando shell para uma tarefa
/revise Revê a última sugestão com base nas tuas instruções
/feedback Envie feedback sobre uma resposta ou sugestão
/exit Sair do modo interativo
/model <model> Selecione qual modelo de IA usar
/theme [auto|dark|light] Alterar o tema do terminal
/skills Gerir competências para melhorar as capacidades
/mcp Gerir a configuração do servidor MCP
/list-dirs Mostrar diretórios permitidos para operações de ficheiros
/reset-allowed-tools Redefinir lista de ferramentas permitidas

Os comandos com barra não podem ser substituídos por prompts em linguagem natural. São a única forma de controlar as definições e a configuração da sessão.

Exemplos de fluxos de trabalho

1. Explicar uma ordem

> Explain what `git reset --hard HEAD` does

O Copilot fornecerá uma explicação detalhada.

Captura de ecrã da CLI do Copilot a explicar um comando em modo interativo.

2. Sugerir um comando

> Find and delete all .log files in my home folder

O Copilot gera uma sugestão de comando e pede-te para a executar se estiveres satisfeito com as sugestões.

Captura de ecrã da CLI do Copilot a sugerir um comando em modo interativo.

3. Rever uma sugestão

Depois de receber uma sugestão, pode escrever um prompt de seguimento para rever o comando sugerido:

> Include only files modified in the last 7 days

Captura de ecrã do Copilot CLI a aperfeiçoar uma sugestão com base na instrução de seguimento.

4. Fornecer feedback

Após uma resposta ou sugestão:

> /feedback

Captura de ecrã a usar o comando /feedack slash no modo interativo da CLI do Copilot.

O Copilot pede-lhe que escolha o tipo de feedback que quer enviar e depois o guia até ao formulário apropriado para completar o seu feedback.

5. Sair do modo interativo

> /exit

Opções de configuração

No Copilot CLI, a configuração é gerida através de:

  1. Comandos de barra dentro do modo interativo

    • /model escolher modelo de IA
    • /theme Mudar o tema do terminal
    • /skills gerir capacidades aprimoradas
    • /reset-allowed-tools Ferramentas de reinicialização
    • /list-dirs Ver diretórios permitidos
    • /mcp Definições do servidor MCP
  2. Configuração da CLI do Copilot (modo não interativo)

A configuração da CLI do Copilot é gerida através de pedidos de permissões, flags de linha de comandos e ficheiros de configuração locais. Estas definições controlam o que o Copilot pode aceder e fazer em seu nome.

As opções de configuração comuns incluem:

  • Diretórios de confiança – Controla onde o Copilot pode ler, editar e executar ficheiros.
  • Permissões de ferramentas – Permitir ou restringir o Copilot de executar comandos de shell ou modificar ficheiros usando flags como --allow-tool ou --deny-tool.
  • Permissões de caminho – Controla quais diretórios o Copilot pode aceder.
  • Permissões de URL – Gerir quais os domínios externos a que o Copilot pode ligar.

Consulte a documentação oficial da CLI do GitHub Copilot para todas as opções de configuração.

Ambientes de execução sandboxeados

A CLI do GitHub Copilot suporta ambientes de execução em formato sandbox que ajudam a proteger o seu sistema, permitindo que o Copilot realize tarefas em seu nome.

O sandboxing isola comandos, operações de ficheiros e outras atividades do seu ambiente de desenvolvimento principal. Dependendo do seu fluxo de trabalho, pode escolher entre isolamento local e isolamento na nuvem.

Isolamento local

O sandboxing local permite ao Copilot executar comandos num ambiente restrito na sua máquina.

Quando ativado, o acesso do Copilot ao seu sistema de ficheiros, conectividade de rede e capacidades do sistema operativo é limitado, ajudando a reduzir o risco de alterações indesejadas e permitindo que beneficie de fluxos de trabalho assistidos por agentes.

Para permitir o sandboxing local durante uma sessão interativa:

/sandbox enable

Depois de ativar o sandboxing, os comandos executados pelo Copilot são executados dentro do ambiente sandbox, em vez de diretamente no sistema anfitrião.

Benefícios do sandboxing local

Benefit Description
Segurança melhorada Restringe o acesso a recursos sensíveis do sistema.
Experimentação mais segura Permite testar fluxos de trabalho orientados por agentes com risco reduzido.
Execução local Utiliza os recursos da sua máquina sem precisar de infraestrutura cloud.
Maior controlo Fornece salvaguardas adicionais ao utilizar agentes autónomos.

Sandboxing de nuvens

O sandboxing na nuvem permite que as sessões CLI do Copilot corram dentro de ambientes Linux totalmente isolados alojados pelo GitHub.

Ao contrário do sandboxing local, as sessões sandbox na cloud executam-se inteiramente numa infraestrutura alojada no GitHub e mantêm-se separadas da sua máquina local e de outras sessões sandbox.

O sandboxing na cloud é construído sobre Azure Container Apps Sandboxes, com o GitHub a fornecer autenticação, governação, aplicação de políticas e integração de faturação.

Para iniciar uma sessão de sandbox na cloud:

copilot --cloud

Uma vez iniciado, o Copilot pode executar comandos, modificar ficheiros, executar testes e realizar tarefas de desenvolvimento dentro do ambiente cloud em vez de no seu dispositivo local.

Benefícios do isolamento em nuvem

Benefit Description
Isolamento forte As cargas de trabalho funcionam separadamente da sua máquina local.
Flexibilidade do dispositivo Retomar as sessões a partir de diferentes dispositivos.
Descarregamento de recursos Utiliza recursos na cloud em vez de CPU e memória locais.
Execução paralela Execute múltiplas tarefas orientadas por agentes em simultâneo.

Continuar as sessões entre dispositivos

Como as sessões sandbox na cloud correm numa infraestrutura alojada no GitHub, o trabalho não está ligado a um computador específico.

Isto permite-lhe:

  • Inicia uma sessão num só dispositivo
  • Retomar a mesma sessão a partir de outro dispositivo
  • Continue a trabalhar sem transferir manualmente ficheiros ou recriar ambientes

Esta flexibilidade é especialmente útil para programadores que trabalham em várias máquinas ou localizações.

Ciclo de vida das sessões sandbox na cloud

As sessões de sandbox na nuvem podem existir em três estados:

Estado Description
Ativo A sessão está a decorrer e está disponível para interação.
Parou A sessão é pausada, mas o seu estado é preservado para uso futuro.
Eliminados A sessão e todo o estado guardado são removidos permanentemente.

Quando uma sessão é interrompida, o GitHub guarda um instantâneo do ambiente, incluindo ficheiros, variáveis de ambiente e trabalho em andamento. Retomar a sessão restaura o estado guardado para que possas continuar de onde paraste.

Autenticação e acesso

Os sandboxes cloud usam o mesmo modelo de autenticação do GitHub Copilot CLI.

Se conseguires autenticar-te no CLI do GitHub Copilot e tiveres acesso ao GitHub Copilot, não é necessária qualquer configuração adicional do fornecedor de cloud.

Não precisa de:

  • Gerir chaves de API
  • Configurar infraestrutura cloud
  • Provisionar máquinas virtuais
  • Manter ambientes de contentores

Observação

Administradores organizacionais ou empresariais devem ativar a política de acesso Cloud Sandbox antes de os membros poderem usar ambientes cloud sandbox.

Isolamento local versus isolamento na nuvem

Característica Caixa de areia local Ambiente de Testes na Nuvem
Local de execução Máquina local Ambiente hospedado no GitHub
Utilização de recursos Recursos locais Recursos na nuvem
Nível de isolamento Ambiente local restrito Ambiente de nuvem totalmente isolado
Independência do dispositivo Não Sim
Cargas de trabalho paralelas Limitado pelo hardware local Facilmente escalável

Quando deve usar o sandboxing?

Considere usar sandboxing quando:

  • Trabalhar com repositórios desconhecidos
  • Testar comandos gerados por agentes
  • Execução de fluxos de trabalho autónomos
  • Realizar operações potencialmente destrutivas
  • Trabalhar em múltiplos dispositivos
  • Descarregar tarefas de desenvolvimento intensivas em computação

O sandboxing oferece uma camada adicional de segurança e flexibilidade, permitindo-lhe tirar partido de forma segura das capacidades de agente do GitHub Copilot CLI.

Dicas para uma utilização eficaz do Copilot CLI

  • Use o modo interativo (copilot) para tarefas exploratórias.
  • Utilize o modo one-shot (copilot -i) para respostas rápidas.
  • A entrada em linguagem natural funciona — nem sempre precisas de comandos de barra.
  • Revê sempre os comandos antes de a executar.
  • Combine o CLI do Copilot com o CLI do GitHub (gh) para gestão de repositórios e issues.
  • Usa comandos de barra quando quiseres ações estruturadas ou feedback.