// contexto
GEMINI.md
Como o Gemini deve se comportar nesse repositório.
Para usuários do Gemini CLI
O GEMINI.md define o contexto de trabalho. O MCP permite que o Gemini acesse ferramentas. O Maguyva é o servidor MCP que dá ao Gemini um mapa consultável do seu repositório, para que a primeira edição não seja um chute sobre a estrutura de arquivos.
Plano Free: 3 repositórios, Até 50 mil linhas de repositório indexadas, sem cartão.
O GEMINI.md é o contexto. O MCP é o canal. O Maguyva é o mapa.Quatro ideias. Cada uma com uma função.
// contexto
Como o Gemini deve se comportar nesse repositório.
// transporte
Como o Gemini acessa ferramentas externas e contexto.
// codebase
O servidor MCP que retorna fatos fundamentados do repositório.
// quem paga
Agentes não pagam assento. Ver preços
Instruções persistentes pertencem ao GEMINI.md. É o lugar certo para:
Mantenha conciso. Delimite o escopo. Faça commit.
Mas o GEMINI.md nunca foi feito para ser um índice consultável de cada símbolo, arquivo e call site do seu repositório.
Quatro modos de falha, um por card.
Dizer ao Gemini como trabalhar não diz a ele o que existe. A primeira edição num pacote desconhecido é um chute sobre caminhos de arquivo e nomes de função. O GEMINI.md não consegue listar cada símbolo, e você nem ia querer isso.
Um bloco do GEMINI.md descrevendo a topologia da sua fila está certo até alguém introduzir um novo consumidor. Agora o código é a fonte da verdade e o doc está confiantemente desatualizado. O Gemini lê o errado.
“O que referencia essa classe?” não tem resposta num arquivo markdown. O Gemini ou faz grep-and-pray no monorepo inteiro ou pede para você colar os call sites no chat.
Uma janela grande não é o mesmo que um índice consultável. Carregar o GEMINI.md até o Gemini “saber o suficiente” ainda assim troca orçamento de raciocínio por volume de contexto estático.
Usuários do Gemini já pensam nesse formato. A página deveria deixar isso óbvio.
GEMINI.md
contexto
como o Gemini se comporta
MCP
o canal
como ele acessa
Maguyva
fatos do codebase
o que ele enxerga
O GEMINI.md diz ao Gemini como trabalhar.
O Maguyva dá ao Gemini algo para trabalhar a partir daí.
Específico para o Gemini. Fundamentado no grafo de chamadas real, não no grep do Gemini.
// workflow 01
gemini> renomear 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 Gemini propõe uma migração de 21 edições com a lista de arquivos inline. [exit 0]
O Gemini pergunta ao Maguyva pelos dependentes antes de começar a editar. A lista de migração volta fundamentada no grafo real, não na lembrança do Gemini.
// workflow 02
gemini> como o normalizePhoneNumber trata o 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 [exit 0]
Nomes mentem. Mocks fazem sombra no código real. O Maguyva ranqueia a implementação real acima do mock de teste.
// workflow 03
gemini> o que chama QueueDispatcher.publish? graph::callers(QueueDispatcher.publish) 3 em src/billing/* 1 em src/audit/* 1 em src/notifications/* [exit 0]
Call-sites entre pacotes aparecem inline. O diff é fundamentado em importadores reais, não no grep do Gemini.
Três passos. Plano Free: 3 repositórios, Até 50 mil linhas de repositório indexadas, sem cartão.
// step 01
Escolha um que você conheça bem, para conseguir verificar as respostas.
// step 02
// ~/.gemini/settings.json
{
"mcpServers": {
"maguyva": {
"httpUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Não comece com a empresa inteira. Comece com um repositório e uma pergunta verificável.