Lompat ke konten

Untuk pengguna Gemini CLI

GEMINI.md memberi tahu Gemini aturan Anda.
Bukan kode Anda.

GEMINI.md menetapkan konteks kerja. MCP memungkinkan Gemini menjangkau tool. Maguyva adalah server MCP yang memberi Gemini peta repo Anda yang bisa di-query, jadi edit pertama bukan tebakan soal struktur file.

Paket Free: 3 repository, Hingga 50K baris repo terindeks, tanpa kartu.

GEMINI.md adalah konteksnya. MCP adalah salurannya. Maguyva adalah petanya.

Stack berlapis

Empat gagasan. Masing-masing menjalankan satu tugas.

// konteks

GEMINI.md

Bagaimana Gemini seharusnya berperilaku di repo ini.

// transport

MCP

Bagaimana Gemini menjangkau tool dan konteks eksternal.

// codebase

Maguyva

Server MCP yang mengembalikan fakta repo yang berlandaskan bukti nyata.

// yang bayar

Workspace, bukan kursi

Agen tidak bayar kursi. Lihat harga

GEMINI.md adalah konteks kerja. Pakai itu.

Instruksi yang bersifat permanen ada di GEMINI.md. Ini tempat yang tepat untuk:

  • Perintah build, test, dan lint yang harus dijalankan Gemini.
  • Guardrail “selalu lakukan X / jangan pernah lakukan Y” yang dibatasi ke satu direktori.
  • Konvensi naming dan preferensi refactor.
  • Rujukan ke log keputusan kanonis dan catatan arsitektur.

Buat singkat. Batasi cakupannya. Commit.

Tapi GEMINI.md memang tidak pernah dirancang jadi index yang bisa di-query untuk setiap symbol, file, dan call site di repo Anda.

Di mana GEMINI.md sendirian kehabisan daya

Empat mode kegagalan, satu per kartu.

// konteks bukan index

Memberi tahu Gemini cara bekerja tidak memberi tahu apa yang ada. Edit pertama di package yang belum dikenal adalah tebakan soal path file dan nama fungsi. GEMINI.md tidak bisa mendaftar setiap symbol, dan Anda pun tidak akan mau itu terjadi.

// dokumennya ngedrift dari kodenya

Blok GEMINI.md yang mendeskripsikan topologi queue Anda itu benar sampai seseorang memperkenalkan consumer baru. Kodenya sekarang jadi sumber kebenaran, dan dokumennya basi dengan percaya diri. Gemini membaca yang salah.

// rename itu masalah graph

“Apa yang mereferensikan class ini?” tidak bisa dijawab dari file markdown. Gemini akhirnya grep-lalu-berdoa di seluruh monorepo, atau minta Anda paste call site ke chat.

// context window itu tidak gratis

Window yang besar itu tidak sama dengan index yang bisa di-query. Memuat GEMINI.md sampai Gemini “tahu cukup” tetap saja menukar budget reasoning dengan volume konteks statis.

Bagaimana ketiga lapisan ini saling terhubung

Pengguna Gemini sudah berpikir dalam bentuk ini. Halaman ini seharusnya membuatnya jelas.

GEMINI.md

konteks

bagaimana Gemini berperilaku

MCP

salurannya

bagaimana ia menjangkau

Maguyva

fakta codebase

apa yang ia lihat

  • GEMINI.md bagaimana Gemini berperilaku di repo ini.
  • MCP bagaimana Gemini menjangkau tool dan konteks. (spesifikasi)
  • Maguyva apa yang dilihat Gemini saat mengajukan pertanyaan ke codebase-nya. Pencarian semantic, AST, graph, dan text dikembalikan dengan path file dan nomor baris.

GEMINI.md memberi tahu Gemini cara bekerja.

Maguyva memberi Gemini sesuatu untuk mulai bekerja.

Tiga workflow

Khusus untuk Gemini. Berlandaskan call graph yang sesungguhnya, bukan grep Gemini.

// workflow 01

Rename class yang dipakai bersama, temukan dulu semua yang bergantung padanya

gemini> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            12 referensi di 7 package
graph::importers(src/payments/client.ts)  9 importer
graph::extends(PaymentClient)             2 subclass (RetryClient, MockClient)

 Gemini mengusulkan migrasi 21 edit lengkap dengan daftar file-nya.
[exit 0]

Gemini bertanya ke Maguyva soal dependent-nya sebelum mulai mengedit. Daftar migrasinya kembali berlandaskan graph yang sesungguhnya, bukan ingatan Gemini.

// workflow 02

Temukan implementasi sesungguhnya, bukan stub test

gemini> bagaimana normalizePhoneNumber menangani E.164?

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

Nama itu bisa menipu. Mock menutupi kode asli. Maguyva meranking implementasi asli di atas mock test.

// workflow 03

Cek blast radius sebelum melakukan refactor

gemini> apa yang memanggil QueueDispatcher.publish?

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

Call-site lintas package langsung muncul inline. Diff-nya berlandaskan importer sungguhan, bukan grep Gemini.

Setup di Gemini CLI

Tiga langkah. Paket Free: 3 repository, Hingga 50K baris repo terindeks, tanpa kartu.

  1. // step 01

    Indeks repo di maguyva.ai

    Pilih repo yang Anda kenal baik, supaya bisa memverifikasi jawabannya.

  2. // step 02

    Tambahkan Maguyva sebagai server MCP di setting Gemini CLI Anda

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

    Ajukan satu pertanyaan yang jawabannya sudah Anda tahu

    Jangan mulai dari seluruh perusahaan Anda. Mulai dari satu repo dan satu pertanyaan yang bisa diverifikasi.