Pular para o conteúdo

Para usuários do GitHub Copilot CLI

O Copilot começa cada sessão às cegas.

Instruções personalizadas dizem ao Copilot como se comportar. Elas não dizem o que há no seu repositório. A Maguyva indexa a base de código e a disponibiliza de volta via MCP, para que o GitHub Copilot CLI edite como se já tivesse lido o código.

Plano Free: 3 repositórios, Até 50 mil linhas de repositório indexadas, sem cartão.

Use instruções para comportamento. Use a Maguyva para fatos atuais da base de código.

A stack em camadas

Quatro ideias. Cada uma com uma função.

// acordo

copilot-instructions.md

Como o Copilot deve se comportar nesse repositório.

// transporte

MCP

Como o Copilot acessa ferramentas externas e contexto.

// base de código

Maguyva

O servidor MCP que retorna fatos fundamentados do repositório.

// quem paga

Por workspace, não por usuário

Agentes não geram cobranças por usuário. Ver preços

Instruções personalizadas são um acordo de trabalho. Use-as.

# .github/copilot-instructions.md
- Prefira os limites de módulo existentes.
- Execute o comando de teste do repositório antes de propor um merge.
- Não invente caminhos de arquivo. Pergunte antes de criar um novo pacote.

Instruções persistentes pertencem a .github/copilot-instructions.md. É o lugar certo para:

  • Comandos de build, test e lint que o Copilot deve executar.
  • Regras “Sempre faça X / nunca faça Y” restritas a este repositório.
  • Convenções de nomenclatura e preferências de revisão.
  • Referências ao registro de decisões — não um despejo de cada símbolo.

Esse arquivo nunca foi um índice consultável do repositório. Ele diz ao Copilot como trabalhar. Não diz o que há ali.

Onde as instruções personalizadas param de escalar

Quatro modos de falha que o Copilot não consegue corrigir a partir de um arquivo markdown.

// instruções não são um índice

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. A primeira edição em uma árvore desconhecida é um palpite sobre a estrutura de arquivos.

// docs ficam desatualizados, o código não

Um bloco de instruções descrevendo o fluxo de autenticação do trimestre passado fica claramente errado no dia em que alguém divide o session store. Copilot will prefer the file you committed over the code that shipped.

// dependências não estão em markdown

“O que importa isso?” is a graph question. As instruções não podem listar cada chamador, e você também não gostaria que fizessem isso.

// janelas de contexto têm um orçamento

Colocar mais repositório nas instruções troca tokens de raciocínio por um retrato desatualizado. Depois de alguns KB, você está pagando por um mapa pior.

A Maguyva como a camada adicional

O Copilot já pensa em instruções e ferramentas.

copilot-instructions.md

acordo

como o Copilot se comporta

MCP

o canal

como ele acessa

Maguyva

fatos do código

o que ele vê

  • Um mapa consultável do repositório servido via MCP como um servidor remoto streamable-HTTP.
  • 11 ferramentas voltadas ao cliente em busca semântica, estrutural (AST), de grafo e de texto, além de símbolos, dependentes e recuperação de arquivos.
  • Resultados priorizados com caminhos de arquivo e números de linha em mais de 284 linguagens e tecnologias baseadas em texto.
  • Uma única configuração O mesmo workspace responde no Copilot, Claude Code, Cursor, Codex e qualquer outro cliente compatível com MCP.

Instruções personalizadas dizem ao Copilot como se comportar.

A Maguyva dá ao Copilot um mapa consultável do código.

Três fluxos de trabalho

Pergunte ao mapa antes de aceitar o diff.

// workflow 01

Encontre a implementação real, não o stub de teste

copilot> como normalizePhoneNumber lida com E.164?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← impl. real
  test/util/phone.spec.ts:14  jest.mock(...)      ← stub

→ O Copilot abre a implementação, não o mock.
[exit 0]

Nomes enganam. Mocks escondem o código real. A Maguyva prioriza a implementação real sobre o mock de teste.

// workflow 02

Verifique o raio de impacto antes de refatorar

copilot> o que chama QueueDispatcher.publish?

graph::callers(QueueDispatcher.publish)
  3 em src/billing/*    1 em src/audit/*    1 em src/notifications/*

→ O diff é fundamentado em importadores reais.
[exit 0]

Os pontos de chamada entre pacotes aparecem em linha. O diff é fundamentado em importadores reais, não no grep do Copilot.

// workflow 03

Renomeie uma classe compartilhada, encontre cada dependente primeiro

copilot> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 referências em 7 pacotes
graph::importers(src/payments/client.ts)  9 importadores
graph::extends(PaymentClient)             2 subclasses (RetryClient, MockClient)

→ O Copilot propõe uma migração com a lista de arquivos em linha.
[exit 0]

O Copilot pergunta à Maguyva pelos dependentes antes de começar a editar. A lista de migração volta fundamentada no grafo real, não na memória do Copilot.

Configuração no GitHub Copilot CLI

Três passos. Plano Free: 3 repositórios, Até 50 mil linhas de repositório indexadas, sem cartão.

  1. // step 01

    Indexe um repositório em maguyva.ai

    Escolha um que você já conheça, para poder avaliar as respostas. Cadastre-se grátis, conecte o GitHub e aguarde a indexação.

  2. // step 02

    Adicione a Maguyva como um servidor MCP remoto no Copilot

    copilot mcp add --transport http --header "Authorization: Bearer mgv_xxxx" maguyva https://maguyva.tools/mcp

    ~/.copilot/mcp-config.json

    {
      "mcpServers": {
        "maguyva": {
          "type": "http",
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer mgv_xxxx"
          }
        }
      }
    }
  3. // step 03

    Faça uma pergunta cuja resposta você já saiba

    Não comece com a empresa inteira. Faça uma pergunta cuja resposta você já saiba e depois abra o arquivo citado.