{"meta":{"title":"Sobre extensões para GitHub Copilot CLI","intro":"As extensões permitem que você adicione suas próprias ferramentas e comandos slash ao GitHub Copilot CLI, usando apenas o SDK incluído na CLI.","product":"GitHub Copilot","breadcrumbs":[{"href":"/pt/copilot","title":"GitHub Copilot"},{"href":"/pt/copilot/concepts","title":"Conceitos"},{"href":"/pt/copilot/concepts/agents","title":"Agentes"},{"href":"/pt/copilot/concepts/agents/copilot-cli","title":"Copilot CLI"},{"href":"/pt/copilot/concepts/agents/copilot-cli/about-cli-extensions","title":"Extensões da CLI"}],"documentType":"article"},"body":"# Sobre extensões para GitHub Copilot CLI\n\nAs extensões permitem que você adicione suas próprias ferramentas e comandos slash ao GitHub Copilot CLI, usando apenas o SDK incluído na CLI.\n\n> \\[!NOTE]\n> GitHub Copilot CLI no momento, as extensões são um recurso experimental e estão sujeitas a alterações.\n\nUma extensão permite que você adicione seus próprios recursos a Copilot CLI. Cada extensão é um pequeno módulo Node.js que é executado como um processo separado junto com sua sessão interativa e se conecta novamente a ela. Por meio dessa conexão, uma extensão pode adicionar:\n\n* **Ferramentas** que Copilot pode usar enquanto trabalha em seu nome.\n* **Comandos com barra** que você mesmo executa.\n\nComo uma extensão executa código real em seu computador, você pode adicionar recursos que as ferramentas internas não têm. Por exemplo, uma extensão pode acompanhar o que acontece em uma sessão e manter um total acumulado ao longo das chamadas de ferramenta, algo que um comando isolado do shell não pode fazer.\n\nEste artigo explica como as extensões funcionam e como Copilot CLI as manipula. Para obter um guia prático sobre como criar suas próprias extensões, consulte [Criando extensões para GitHub Copilot CLI](/pt/copilot/tutorials/create-an-extension).\n\n> \\[!WARNING]\n> As extensões são executadas em seu computador com seus privilégios. Carregue apenas o código de uma extensão em que você confia, assim como só executaria qualquer outro script que você mesmo não escreveu.\n\n## Como as extensões são descobertas\n\nQuando Copilot CLI é iniciado, ele procura extensões em vários locais. Cada extensão reside em seu próprio subdiretório e esse subdiretório deve conter um arquivo de entrada chamado `extension.mjs`, `extension.cjs`ou `extension.js`. Estes são todos arquivos JavaScript: o Copilot CLI arquivo de entrada é executado diretamente com Node.js, portanto, uma extensão deve ser escrita em JavaScript— No momento, não há suporte para TypeScript e outros idiomas.\n\nO nome do subdiretório torna-se o nome da extensão.\n\n| Fonte                                           | Localização                                                     | Disponibilidade                                                |\n| ----------------------------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------- |\n| **Projeto**                                     |                                                                 |                                                                |\n| `.github/extensions/NAME/` no repositório atual | Disponível para qualquer pessoa que trabalhe nesse repositório. |                                                                |\n| **Usuário**                                     | `~/.copilot/extensions/NAME/`                                   | Disponível em todas as sessões da CLI, em todos os diretórios. |\n| **Plug-in**                                     | Um plug-in instalado                                            | Disponível onde quer que o plug-in esteja habilitado.          |\n\n## Escolhendo onde uma extensão reside\n\nOnde você coloca o diretório de extensão determina quem pode usá-lo:\n\n* Coloque-o em **`.github/extensions/`** um repositório quando a extensão for específica para esse projeto e você quiser compartilhá-la com todos que trabalham lá.\n* Coloque-a **`~/.copilot/extensions/`** quando quiser que a extensão esteja disponível em todas as suas próprias sessões, independentemente de qual diretório você inicie a CLI.\n\nOs dois locais seguem exatamente a mesma estrutura, um subdiretório nomeado que contém um `extension.mjs` arquivo, para que você possa mover uma extensão de uma para a outra simplesmente realocando sua pasta.\n\n## Habilitando extensões\n\nNo momento, as extensões são um recurso experimental, portanto, você precisa ativar recursos experimentais. Você pode fazer isso fazendo um dos seguintes procedimentos:\n\n* Inicie a CLI com o `‑‑experimental` sinalizador.\n* Execute o comando de barra `/experimental on` em uma sessão interativa.\n\n## Alterando como a CLI lida com extensões\n\nVocê pode limitar Copiloto acesso a extensões ou desativá-las totalmente usando o `/extensions mode` comando. Ao usar este comando, você obtém três opções:\n\n* **Carregar \\&aumentar** (o padrão)— a CLI executa suas extensões \\_e\\_Copilot pode gerenciá-las.\n* **Carregar somente** – a CLI executa suas extensões, mas Copilot não pode gerenciá-las.\n* **Desabilitada**— as extensões são totalmente desativadas na sessão atual e permanecerão desabilitadas em sessões futuras até que você alterne para uma das outras duas configurações. Outras sessões atuais não são afetadas.\n\nQualquer alteração que você fizer entra em vigor imediatamente na sessão atual:\n\n* Mudar para **Desativado** interrompe todas as extensões que estão em execução atualmente. Seus processos são desligados e suas ferramentas não estão mais disponíveis.\n* Ao mudar **de Desabilitado** para qualquer uma das outras configurações, suas extensões são iniciadas.\n* Alternar entre **Load Only** e **Load \\&Augment** apenas altera se Copilot pode gerenciar suas extensões.\n\n### O que significa \"gerenciamento de extensões\"\n\nNo modo **Load & Augment**, Copilot recebe um pequeno conjunto de ferramentas extras que permitem que ele atue diretamente no sistema de extensões, como parte da execução das suas solicitações. Usando essas ferramentas, Copilot pode:\n\n* **Liste** as extensões que ele descobriu e veja seu status.\n* **Inspecione** uma extensão, incluindo o final do arquivo de log, para ajudar a diagnosticar uma extensão que falhou ou está se comportando de forma inadequada.\n* **Crie a estrutura** de uma nova extensão — gere um arquivo inicial `extension.mjs` para você desenvolver a partir dele.\n* **Recarregar** extensões, para que o código que ela (ou você) acabou de escrever tenha efeito sem reiniciar a sessão.\n\nIsso é o que possibilita que você peça Copilot para criar uma extensão para você.\nCopilot pode criar o arquivo, gravar o código e recarregá-lo, tudo sem sair da sessão.\n\nEscolha **Carregar somente** quando quiser manter um conjunto conhecido e confiável de extensões em execução, mas não quiser Copilot criar, recarregar ou alterar o código de extensão , que é executado em seu computador, como um efeito colateral de seu trabalho. Suas extensões existentes ainda continuam funcionando, e Copilot ainda pode chamar as ferramentas que elas fornecem; simplesmente não pode gerenciar as próprias extensões.\n\n## Extensões em comparação com plug-ins\n\nTanto as extensões quanto os plugins adicionam funcionalidade ao Copilot CLI, mas têm finalidades diferentes:\n\n* Uma **extensão** é um único módulo JavaScript que você escreve para adicionar ferramentas e comandos de barra, apoiados pelo código executado em sua sessão.\n* Um **plug-in** é um pacote instalável que agrupa componentes reutilizáveis, como agentes, habilidades, ganchos e integrações, e pode ser distribuído por meio de um marketplace.\n\nPara obter mais informações sobre plug-ins, consulte [Sobre plug-ins GitHub Copilot](/pt/copilot/concepts/agents/about-plugins).\n\n## Leitura adicional\n\n* [Criando extensões para GitHub Copilot CLI](/pt/copilot/tutorials/create-an-extension)\n* [referência de comando da CLI GitHub Copilot](/pt/copilot/reference/copilot-cli-reference/cli-command-reference#slash-commands-in-the-interactive-interface)\n* [GitHub Copilot CLI](/pt/copilot/how-tos/copilot-cli)"}