// contexte
GEMINI.md
Comment Gemini doit se comporter sur ce dépôt.
Pour les utilisateurs de Gemini CLI
GEMINI.md fixe le contexte de travail. MCP permet à Gemini d'aller chercher des outils. Maguyva est le serveur MCP qui donne à Gemini une carte interrogeable de votre dépôt, pour que la première modification ne soit pas une supposition sur la structure des fichiers.
Palier Free : 3 dépôts, Jusqu'à 50 000 lignes de dépôt indexées, sans carte.
GEMINI.md, c'est le contexte. MCP, c'est le canal. Maguyva, c'est la carte.Quatre idées. Chacune fait un travail.
// contexte
Comment Gemini doit se comporter sur ce dépôt.
// transport
Comment Gemini va chercher des outils et du contexte externes.
// dépôt
Le serveur MCP qui renvoie des faits ancrés dans le dépôt.
// qui paie
Les agents ne paient pas de siège. Voir les tarifs
Les instructions permanentes ont leur place dans GEMINI.md. C'est le bon endroit pour :
Restez concis. Délimitez la portée. Commitez-le.
Mais GEMINI.md n'a jamais été conçu pour être un index interrogeable de chaque symbole, fichier et point d'appel de votre dépôt.
Quatre modes d'échec, un par carte.
Dire à Gemini comment travailler ne lui dit pas ce qui existe. La première modification sur un paquet inconnu est une supposition sur les chemins de fichiers et les noms de fonctions. GEMINI.md ne peut pas lister chaque symbole, et vous ne le voudriez pas.
Un bloc GEMINI.md décrivant votre topologie de queue est juste jusqu'à ce que quelqu'un introduise un nouveau consommateur. Le code fait maintenant foi et la doc est périmée avec assurance. Gemini lit la mauvaise version.
« Qu'est-ce qui référence cette classe ? » ne trouve pas de réponse dans un fichier markdown. Gemini fait soit un grep-et-prie sur le monorepo, soit vous demande de coller les points d'appel dans le chat.
Une grande fenêtre n'équivaut pas à un index interrogeable. Charger GEMINI.md jusqu'à ce que Gemini « en sache assez » revient quand même à échanger du budget de raisonnement contre du volume de contexte statique.
Les utilisateurs de Gemini pensent déjà selon ce schéma. La page devrait le rendre évident.
GEMINI.md
contexte
comment Gemini se comporte
MCP
le canal
comment il va chercher
Maguyva
faits sur le dépôt
ce qu'il voit
GEMINI.md dit à Gemini comment travailler.
Maguyva donne à Gemini de quoi travailler.
Spécifique à Gemini. Ancré dans le vrai graphe d'appels, pas dans le grep de Gemini.
// workflow 01
gemini> renommer PaymentClient → BillingClient graph::callers(PaymentClient) 12 références dans 7 paquets graph::importers(src/payments/client.ts) 9 importeurs graph::extends(PaymentClient) 2 sous-classes (RetryClient, MockClient) → Gemini propose une migration de 21 modifications avec la liste des fichiers en ligne. [exit 0]
Gemini demande à Maguyva la liste des dépendances avant de commencer à modifier. La liste de migration revient ancrée dans le vrai graphe, pas dans le souvenir de Gemini.
// workflow 02
gemini> comment normalizePhoneNumber gère-t-il le E.164 ? semantic::query("normalize phone E.164") src/util/phone.ts:88 normalizePhoneNumber() ← impl réelle test/util/phone.spec.ts:14 jest.mock(...) ← stub [exit 0]
Les noms mentent. Les mocks masquent le vrai code. Maguyva classe l'implémentation réelle avant le mock de test.
// workflow 03
gemini> qui appelle QueueDispatcher.publish ? graph::callers(QueueDispatcher.publish) 3 dans src/billing/* 1 dans src/audit/* 1 dans src/notifications/* [exit 0]
Les points d'appel inter-paquets remontent directement. Le diff est ancré dans les vrais importeurs, pas dans le grep de Gemini.
Trois étapes. Palier Free : 3 dépôts, Jusqu'à 50 000 lignes de dépôt indexées, sans carte.
// step 01
Choisissez-en un que vous connaissez bien, pour pouvoir vérifier les réponses.
// step 02
// ~/.gemini/settings.json
{
"mcpServers": {
"maguyva": {
"httpUrl": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer <your-key>"
}
}
}
}// step 03
Ne commencez pas par toute votre entreprise. Commencez par un dépôt et une question vérifiable.