İçeriğe atla

Gemini CLI kullanıcıları için

GEMINI.md, Gemini’ye kurallarınızı söyler.
Kodunuzu değil.

GEMINI.md çalışma bağlamını belirler. MCP, Gemini’nin araçlara uzanmasını sağlar. Maguyva, Gemini’ye reponuzun sorgulanabilir bir haritasını veren MCP sunucusudur; böylece ilk düzenleme dosya yapısına dair bir tahmin olmaz.

Free katmanı: 3 repo, 50K'ya kadar indekslenmiş repo satırı, kart gerektirmez.

GEMINI.md bağlamdır. MCP kanaldır. Maguyva haritadır.

Katmanlı yığın

Dört fikir. Her biri tek bir iş yapar.

// bağlam

GEMINI.md

Gemini’nin bu repoda nasıl davranması gerektiği.

// taşıma

MCP

Gemini’nin harici araçlara ve bağlama nasıl uzandığı.

// kod tabanı

Maguyva

Temellendirilmiş repo bilgilerini döndüren MCP sunucusu.

GEMINI.md bir çalışma bağlamıdır. Onu kullanın.

Kalıcı talimatlar GEMINI.md içinde yer alır. Şunlar için doğru yerdir:

  • Gemini’nin çalıştırması gereken derleme, test ve lint komutları.
  • Bir dizine sınırlandırılmış “her zaman X yap / asla Y yapma” kuralları.
  • Adlandırma kuralları ve refactor tercihleri.
  • Kanonik karar günlüklerine ve mimari notlarına işaretçiler.

Kısa tutun. Kapsamını belirleyin. Commit’leyin.

Ama GEMINI.md hiçbir zaman reponuzdaki her sembolün, dosyanın ve çağrı noktasının sorgulanabilir bir dizini olarak tasarlanmadı.

Yalnız başına GEMINI.md’nin tükendiği yer

Dört başarısızlık modu, kart başına bir tane.

// bağlam bir dizin değildir

Gemini’ye nasıl çalışacağını söylemek, ona ne olduğunu söylemez. Bilinmeyen bir paketteki ilk düzenleme, dosya yolları ve fonksiyon isimleri hakkında bir tahmindir. GEMINI.md her sembolü listeleyemez, zaten bunu istemezsiniz.

// doküman koddan savrulur

Kuyruk topolojinizi açıklayan bir GEMINI.md bloğu, biri yeni bir tüketici eklene kadar doğrudur. Kod artık gerçeğin kaynağıdır ve doküman kendinden emin bir şekilde eskimiştir. Gemini yanlış olanı okur.

// yeniden adlandırma bir grafik problemidir

“Bu sınıfa ne referans veriyor?” bir markdown dosyasından yanıtlanamaz. Gemini ya monorepo genelinde grep atıp dua eder ya da çağrı noktalarını sohbete yapıştırmanızı ister.

// bağlam pencereleri bedava değildir

Büyük bir pencere, sorgulanabilir bir dizinle aynı şey değildir. Gemini “yeterince bilene” kadar GEMINI.md yüklemek, yine de akıl yürütme bütçesini statik bağlam hacmiyle takas eder.

Üç katman birlikte nasıl çalışır

Gemini kullanıcıları zaten bu şekilde düşünüyor. Sayfa bunu bariz kılmalı.

GEMINI.md

bağlam

Gemini nasıl davranır

MCP

kanal

nasıl uzanır

Maguyva

kod tabanı bilgileri

ne görür

  • GEMINI.md Gemini’nin bu repoda nasıl davrandığı.
  • MCP Gemini’nin araçlara ve bağlama nasıl uzandığı. (spesifikasyon)
  • Maguyva Gemini, kod tabanına bir soru sorduğunda ne gördüğü. Dosya yolları ve satır numaralarıyla döndürülen anlamsal, AST, grafik ve metin araması.

GEMINI.md Gemini’ye nasıl çalışacağını söyler.

Maguyva Gemini’ye üzerine çalışacak bir şey verir.

Üç iş akışı

Gemini’ye özgü. Gemini’nin grep’ine değil, gerçek çağrı grafiğine temellendirilmiş.

// workflow 01

Paylaşılan bir sınıfı yeniden adlandırın, önce her bağımlıyı bulun

gemini> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 references across 7 packages
graph::importers(src/payments/client.ts)  9 importers
graph::extends(PaymentClient)             2 subclasses (RetryClient, MockClient)

 Gemini proposes a 21-edit migration with the file list inline.
[exit 0]

Gemini, düzenlemeye başlamadan önce Maguyva’dan bağımlıları ister. Geçiş listesi, Gemini’nin hatırladığına değil, gerçek grafiğe temellendirilmiş olarak döner.

// workflow 02

Test taslağını değil, gerçek uygulamayı bulun

gemini> how does normalizePhoneNumber handle E.164?

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

İsimler yalan söyler. Mock’lar gerçek kodu gölgeler. Maguyva, gerçek uygulamayı test mock’unun üzerinde sıralar.

// workflow 03

Bir refactor’dan önce etki yarıçapını kontrol edin

gemini> what calls QueueDispatcher.publish?

graph::callers(QueueDispatcher.publish)
  3 in src/billing/*    1 in src/audit/*    1 in src/notifications/*
[exit 0]

Paketler arası çağrı noktaları satır içinde ortaya çıkar. Diff, Gemini’nin grep’ine değil, gerçek import edenlere temellendirilir.

Gemini CLI’de kurulum

Üç adım. Free katmanı: 3 repo, 50K'ya kadar indekslenmiş repo satırı, kart gerektirmez.

  1. // step 01

    maguyva.ai’de bir repo dizinleyin

    Yanıtları doğrulayabilmeniz için iyi bildiğiniz birini seçin.

  2. // step 02

    Gemini CLI ayarlarınızda Maguyva’yı bir MCP sunucusu olarak ekleyin

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

    Yanıtını zaten bildiğiniz bir soru sorun

    Tüm şirketinizle başlamayın. Bir repo ve doğrulanabilir bir soruyla başlayın.