Passer au contenu

Pour les utilisateurs de Gemini CLI

GEMINI.md dit à Gemini vos règles.
Pas votre code.

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.

La pile en couches

Quatre idées. Chacune fait un travail.

// contexte

GEMINI.md

Comment Gemini doit se comporter sur ce dépôt.

// transport

MCP

Comment Gemini va chercher des outils et du contexte externes.

// dépôt

Maguyva

Le serveur MCP qui renvoie des faits ancrés dans le dépôt.

// qui paie

Des espaces de travail, pas des sièges

Les agents ne paient pas de siège. Voir les tarifs

GEMINI.md est un contexte de travail. Utilisez-le.

Les instructions permanentes ont leur place dans GEMINI.md. C'est le bon endroit pour :

  • Les commandes de build, test et lint que Gemini doit lancer.
  • Les garde-fous « toujours faire X / ne jamais faire Y » limités à un répertoire.
  • Les conventions de nommage et préférences de refonte.
  • Des pointeurs vers les journaux de décisions et notes d'architecture canoniques.

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.

Où GEMINI.md tout seul atteint ses limites

Quatre modes d'échec, un par carte.

// le contexte n'est pas un index

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.

// la doc dérive du code

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.

// renommer est un problème de graphe

« 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.

// les fenêtres de contexte ne sont pas gratuites

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.

Comment les trois couches s'articulent

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 comment Gemini se comporte sur ce dépôt.
  • MCP comment Gemini va chercher des outils et du contexte. (spécification)
  • Maguyva ce que Gemini voit quand il pose une question au dépôt. Recherche sémantique, AST, par graphe et textuelle, renvoyée avec chemins de fichiers et numéros de ligne.

GEMINI.md dit à Gemini comment travailler.

Maguyva donne à Gemini de quoi travailler.

Trois workflows

Spécifique à Gemini. Ancré dans le vrai graphe d'appels, pas dans le grep de Gemini.

// workflow 01

Renommer une classe partagée, trouver toutes les dépendances d'abord

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

Trouver la vraie implémentation, pas le stub de test

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

Vérifier le rayon d'impact avant une refonte

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.

Configuration dans Gemini CLI

Trois étapes. Palier Free : 3 dépôts, Jusqu'à 50 000 lignes de dépôt indexées, sans carte.

  1. // step 01

    Indexez un dépôt sur maguyva.ai

    Choisissez-en un que vous connaissez bien, pour pouvoir vérifier les réponses.

  2. // step 02

    Ajoutez Maguyva comme serveur MCP dans les paramètres de Gemini CLI

    // ~/.gemini/settings.json
    {
      "mcpServers": {
        "maguyva": {
          "httpUrl": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
  3. // step 03

    Posez une question dont vous connaissez déjà la réponse

    Ne commencez pas par toute votre entreprise. Commencez par un dépôt et une question vérifiable.