{"meta":{"title":"Usando Copilot CLI como seu SME de IA","intro":"Use Copilot CLI como um especialista no assunto sempre disponível para entender como uma base de código funciona, para que você possa mantê-la com confiança ou adicionar novas funcionalidades.","product":"GitHub Copilot","breadcrumbs":[{"href":"/pt/copilot","title":"GitHub Copilot"},{"href":"/pt/copilot/tutorials","title":"Tutoriais"},{"href":"/pt/copilot/tutorials/use-an-ai-sme","title":"Recorra a uma empresa especializada em IA"}],"documentType":"article"},"body":"# Usando Copilot CLI como seu SME de IA\n\nUse Copilot CLI como um especialista no assunto sempre disponível para entender como uma base de código funciona, para que você possa mantê-la com confiança ou adicionar novas funcionalidades.\n\n## Introdução\n\nQuando você começa a trabalhar em uma base de código desconhecida, ou pedem que você altere uma parte de uma grande base de código na qual você nunca mexeu antes, geralmente precisa de um especialista no assunto para colocá-lo a par. O SME normalmente é um desenvolvedor mais experiente na equipe que sabe como o código se encaixa e pode responder suas perguntas. Os SMEs nem sempre estão disponíveis , eles podem estar em outro fuso horário, ocupados com seu próprio trabalho ou não mais na equipe.\n\nQuando você precisa entender uma base de código desconhecida, você geralmente conta com um colega de equipe que conhece o código. Quando essa pessoa não está disponível, Copilot CLI pode preencher a lacuna. Neste tutorial, você fará Copilot CLI perguntas sobre o código de um repositório, aprenderá técnicas de solicitação que produzem respostas fundamentadas em código e criará a confiança para começar a fazer alterações.\n\n## Quando usar um SME de IA\n\nEste tutorial é útil sempre que você precisa entender uma base de código mais rapidamente. Por exemplo:\n\n* Você acabou de se juntar a uma equipe ou a um projeto código aberto e precisa se atualizar rapidamente.\n* Você precisa alterar uma área de uma base de código grande em que você nunca trabalhou antes.\n* Você herdou um serviço ou biblioteca que os autores originais não mantêm mais.\n\nO tutorial pressupõe que você esteja confortável trabalhando em um terminal e lendo código no idioma usado pelo projeto que você está explorando. Você não precisa de nenhuma experiência anterior com Copilot CLI.\n\n## Pré-requisitos\n\nAntes de começar, verifique se você tem estes itens:\n\n* Uma GitHub Copilot assinatura. Consulte [Planos para GitHub Copilot](/pt/copilot/get-started/plans).\n* Copilot CLI instalado e autenticado. Consulte [Introdução à CLI do GitHub Copilot](/pt/copilot/how-tos/copilot-cli/cli-getting-started).\n* Um clone local do repositório que você deseja explorar. Consulte [Clonar um repositório](/pt/repositories/creating-and-managing-repositories/cloning-a-repository?tool=webui).\n\n## 1. Iniciar uma sessão no repositório\n\nAbra um terminal e altere para a raiz do repositório sobre o qual você deseja aprender. Iniciar Copilot CLI a partir da raiz do repositório significa que Copilot CLI tem toda a base de código disponível como contexto.\n\n```shell copy\ncd PATH/TO/YOUR/REPOSITORY\ncopilot\n```\n\nAgora você está em uma sessão interativa Copilot CLI . Tudo o que você digitar no prompt é enviado para o modelo, que pode ler arquivos no repositório, executar comandos de shell, como `git log` ou `grep`, e responder suas perguntas com base no que ele encontra.\n\n> \\[!TIP]\n>\n> * Se você confiar Copilot CLI para executar comandos sem solicitar aprovação, ao bloquear alterações de arquivo, comece com `copilot --deny-tool='write' --allow-all-tools`. Consulte [Permitir e negar o uso da ferramenta](/pt/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools).\n> * Se você estiver trabalhando em uma base de código muito grande, poderá obter melhores resultados começando Copilot CLI pelo subdiretório relevante. Isso limita o contexto aos arquivos mais relevantes.\n\n## 2. Respostas básicas no código, não nos documentos\n\nA maioria dos repositórios contém uma mistura de código e documentação: arquivos README, notas de design, diagramas de arquitetura e assim por diante. A documentação é útil para descobrir sobre um projeto, mas pode estar desatualizada. Se você fizer uma pergunta a Copilot CLI sobre como o código se comporta e o sistema buscar uma resposta em um arquivo Markdown desatualizado, você receberá uma resposta que parece correta, mas que está errada.\n\nAntes de começar a fazer perguntas, diga Copilot CLI para basear suas respostas no próprio código e sinalizar qualquer incerteza em vez de preencher lacunas. Por exemplo:\n\n```copilot copy\nFor the rest of this session, when I ask how something works, base your answer on the code in this repository, not on documentation files such as README.md or files under docs/. If a documentation file conflicts with the code, treat the code as the source of truth. If you can't find a definitive answer in the code, say so - don't guess.\n```\n\nVocê pode colocar esse tipo de preâmbulo em um arquivo de instruções personalizado e reutilizá-lo entre sessões, para que você não precise digitá-lo novamente todas as vezes. Consulte [Adicionando instruções personalizadas para GitHub Copilot CLI](/pt/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions).\n\n## 3. Obter uma visão geral da base de código\n\nComece com perguntas amplas para criar um mapa mental do projeto. O objetivo é entender a forma do código (onde estão os pontos de entrada, quais diretórios contêm o quê e como as partes principais se encaixam) antes de analisar um recurso específico.\n\nExperimente instruções como:\n\n```copilot copy\nGive me an overview of this codebase. What does the application do, what are the main components, and how do they communicate? Cite the files you used as evidence.\n```\n\n```copilot copy\nWhat are the entry points for this application? For each entry point, tell me which file contains the entry point and which directories contain the code it calls into.\n```\n\nPedir citações e provas é importante. Quando Copilot CLI diz a você “isso é tratado em `src/auth/middleware.ts`”, você pode abrir esse arquivo e conferir a resposta você mesmo. Se a citação não corresponder ao que você encontra, esse é um sinal útil para recuar e fazer perguntas de acompanhamento.\n\n## 4. Analisar em detalhes um recurso específico\n\nDepois de ter uma visão geral, restrinja a área que você precisa alterar. Trate isso como uma conversa, não como uma única consulta. Cada resposta apresentará termos, nomes de arquivo e conceitos que você pode usar na próxima pergunta.\n\nÉ uma boa ideia fazer perguntas semelhantes que abordam um tópico de diferentes ângulos. Isso ajuda a garantir que você esteja recebendo o quadro completo e lhe dará confiança de que Copilot não entendeu mal o que você está tentando descobrir e não perdeu um detalhe importante.\n\nPor exemplo, suponha que você tenha sido solicitado a adicionar limitação de taxa a um ponto de extremidade de API específico e nunca tenha trabalhado nessa parte do código antes, você pode começar com perguntas como:\n\n```copilot copy\nIs there any existing rate limiting in this codebase? If so, where is it implemented, and how is it configured?\n```\n\n```copilot copy\nIf I wanted to add per-user rate limiting to the /api/v1/upload endpoint, which files would I most likely need to change, and which existing patterns in the codebase should I follow?\n```\n\nFazer perguntas de acompanhamento na mesma sessão da CLI permite que você analise os detalhes de um recurso e fornece Copilot o contexto necessário para fornecer respostas específicas que informem o que você precisa saber.\n\n## 5. Investigar comportamento e casos extremos\n\nLer o código mostra o que o código faz. Muitas vezes, ele não informa o que o código deve fazer ou como ele se comporta em situações incomuns. Essas são as perguntas em que um SME humano é mais valioso e onde Copilot CLI pode ajudá-lo quando nenhum humano está disponível.\n\nAlguns exemplos de perguntas sobre comportamento e casos extremos que você pode fazer:\n\n```copilot copy\nWhat happens if the database connection drops while a request is being processed? Walk me through the error handling, based on the code.\n```\n\n```copilot copy\nThe `getUser` function takes a `userId` parameter. What validation is performed on it before it reaches the database query? Are there any code paths where an unvalidated value could reach the query?\n```\n\nQuando você receber uma resposta, siga com \"mostre-me o código\" ou \"em qual arquivo você encontrou isso?\" se ainda não estiver citado. Isso dá a você uma forma de conferir e verificar a resposta.\n\n## 6. Usar o histórico do Git como outra origem\n\nMuitos contextos úteis residem no histórico do Git e não no código atual: por que uma função foi escrita da maneira que foi, quando um bug foi corrigido pela última vez, que originalmente adicionou um módulo.\nCopilot CLI pode executar `git` comandos para você e usar a saída para responder perguntas que você não poderia responder facilmente lendo o código sozinho.\n\nExperimente instruções como:\n\n```copilot copy\nWhen was the `PaymentProcessor` class introduced, and what was the original commit message? Has it been substantially refactored since then?\n```\n\n```copilot copy\nLook at the last 20 commits that touched files under `src/billing/`. Summarize what kinds of changes have been made recently.\n```\n\n```copilot copy\nWho has made the most commits to `src/auth/`? Use that information to suggest the best person on this team to ask about authentication.\n```\n\n## 7. Verificar antes de confiar\n\nCopilot CLI é um SME poderoso, mas não é infalível. Ele pode ler incorretamente o código, confundir arquivos semelhantes ou, ocasionalmente, inventar coisas. Trate suas respostas da maneira como você trataria os conselhos de um colega de trabalho útil, mas falível: útil como ponto de partida, mas vale a pena verificar antes de agir sobre qualquer coisa importante.\n\nAlguns hábitos vão mantê-lo fora de problemas:\n\n* **Verifique os arquivos citados.** Quando Copilot CLI fizer referência a um arquivo ou número de linha específico, abra-o e confirme. Se a citação estiver errada, trate o resto da resposta com mais ceticismo.\n* **Faça você mesmo.** Se Copilot CLI disser a você que uma função retorna `null` para uma entrada vazia, escreva um teste rápido ou faça uma chamada no REPL que a invoque com uma entrada vazia e verifique.\n* **Verifique com outras pessoas.** Quando a resposta for crucial (segurança, integridade dos dados, qualquer coisa que você teria vergonha de errar em produção), use a resposta Copilot CLIcomo ponto de partida e confirme com um especialista na área ou por meio de uma revisão de código.\n\n## Conclusion\n\nNeste tutorial, você usou Copilot CLI como seu SME pessoal para:\n\n* Obtenha uma visão geral de uma base de código desconhecida, ancorada em arquivos reais.\n* Faça uma busca detalhada em um recurso específico para saber quais arquivos serão alterados e quais padrões seguir.\n* Investigue o comportamento, os casos extremos e o histórico do Git.\n* Verifique as respostas, para que você possa confiar nelas quando isso for importante.\n\nUsado dessa forma, Copilot CLI não substitui os especialistas humanos, mas diminui a sua dependência deles para as dúvidas do dia a dia que surgem durante o trabalho. Seus colegas humanos podem dedicar seu tempo às perguntas que realmente exigem sua experiência, e você pode seguir em frente mesmo quando eles não estiverem por perto.\n\n## Próximas Etapas \n\n* Salve os preâmbulos de prompt mais úteis como instruções personalizadas, para que você possa reutilizá-los entre sessões e projetos. Consulte [Adicionando instruções personalizadas para GitHub Copilot CLI](/pt/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions).\n* Depois de entender a área do código que você deseja alterar, use Copilot CLI para ajudá-lo a fazer a alteração. Confira [Refatorando código com GitHub Copilot](/pt/copilot/tutorials/refactor-code) e [Escrevendo testes com GitHub Copilot](/pt/copilot/tutorials/write-tests).\n* Saiba como controlar quais ferramentas podem ser executadas Copilot CLI durante uma sessão. Consulte [Permitir e negar o uso da ferramenta](/pt/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools)."}