सामग्री पर जाएँ

Gemini CLI यूज़र्स के लिए

GEMINI.md, Gemini को आपके नियम बताता है।
आपका कोड नहीं बताता।

GEMINI.md वर्किंग कॉन्टेक्स्ट तय करता है। MCP Gemini को टूल्स तक पहुँचने देता है। Maguyva वह MCP सर्वर है जो Gemini को आपके रिपो का क्वेरी करने लायक़ नक़्शा देता है, ताकि पहली एडिट फ़ाइल स्ट्रक्चर पर अंदाज़ा न हो।

Free स्तर: 3 रिपॉज़िटरी, 50K तक इंडेक्स्ड रिपॉज़िटरी लाइनें, कोई कार्ड नहीं।

GEMINI.md कॉन्टेक्स्ट है। MCP चैनल है। Maguyva नक़्शा है।

लेयर्ड स्टैक

चार आइडिया। हर एक का एक काम।

// कॉन्टेक्स्ट

GEMINI.md

इस रिपो पर Gemini को कैसे व्यवहार करना चाहिए।

// ट्रांसपोर्ट

MCP

Gemini बाहरी टूल्स और कॉन्टेक्स्ट तक कैसे पहुँचता है।

// कोडबेस

Maguyva

वह MCP सर्वर जो ग्राउंडेड रिपो तथ्य लौटाता है।

// कौन पेमेंट करता है

वर्कस्पेस, सीट नहीं

एजेंट्स सीट के लिए पेमेंट नहीं करते। प्राइसिंग देखें

GEMINI.md एक वर्किंग कॉन्टेक्स्ट है। इसे इस्तेमाल करें।

स्थायी इंस्ट्रक्शंस GEMINI.md में होने चाहिए। यह इनके लिए सही जगह है:

  • बिल्ड, टेस्ट, और लिंट कमांड्स जो Gemini को चलाने चाहिए।
  • किसी डायरेक्टरी तक सीमित “हमेशा X करो / कभी Y मत करो” गार्डरेल्स।
  • नेमिंग कन्वेंशन और रीफ़ैक्टर वरीयताएँ।
  • कैनोनिकल डिसीज़न लॉग्स और आर्किटेक्चर नोट्स के पॉइंटर्स।

इसे संक्षिप्त रखें। इसका दायरा तय करें। इसे कमिट करें।

लेकिन GEMINI.md कभी भी आपके रिपो के हर सिंबल, फ़ाइल, और कॉल साइट का क्वेरी करने लायक़ इंडेक्स बनने के लिए नहीं बनाया गया था।

जहाँ अकेला GEMINI.md ख़त्म हो जाता है

चार फ़ेलियर मोड्स, हर कार्ड में एक।

// कॉन्टेक्स्ट इंडेक्स नहीं है

Gemini को कैसे काम करना है बताना, उसे क्या मौजूद है नहीं बताता। किसी अनजान पैकेज पर पहली एडिट फ़ाइल पाथ और फ़ंक्शन नामों पर अंदाज़ा होती है। GEMINI.md हर सिंबल को सूचीबद्ध नहीं कर सकता, और आप चाहेंगे भी नहीं कि वह करे।

// डॉक कोड से हट जाता है

आपकी क्यू टोपोलॉजी बताने वाला GEMINI.md ब्लॉक तब तक सही है जब तक कोई नया कंज़्यूमर न जोड़े। अब कोड ही सच्चाई का स्रोत है और डॉक भरोसे के साथ बासी हो चुका है। Gemini ग़लत वाला पढ़ता है।

// रीनेम एक ग्राफ़ प्रॉब्लम है

“इस क्लास को कौन रेफ़र करता है?” का जवाब किसी मार्कडाउन फ़ाइल से नहीं मिलता। Gemini या तो मोनोरिपो में grep करके दुआ माँगता है या आपसे कॉल साइट्स चैट में पेस्ट करने को कहता है।

// कॉन्टेक्स्ट विंडो मुफ़्त नहीं है

एक बड़ी विंडो क्वेरी करने लायक़ इंडेक्स जैसी नहीं होती। GEMINI.md को तब तक लोड करना जब तक Gemini “काफ़ी जान न ले,” फिर भी रीज़निंग बजट को स्टैटिक कॉन्टेक्स्ट वॉल्यूम से बदलना है।

तीनों लेयर्स कैसे साथ फ़िट होती हैं

Gemini यूज़र्स पहले से इसी शेप में सोचते हैं। पेज को यह साफ़ दिखाना चाहिए।

GEMINI.md

कॉन्टेक्स्ट

Gemini कैसे व्यवहार करता है

MCP

चैनल

यह कैसे पहुँचता है

Maguyva

कोडबेस तथ्य

यह क्या देखता है

  • GEMINI.md इस रिपो पर Gemini कैसे व्यवहार करता है।
  • MCP Gemini टूल्स और कॉन्टेक्स्ट तक कैसे पहुँचता है। (स्पेक)
  • Maguyva जब Gemini कोडबेस से कोई सवाल पूछता है तो वह क्या देखता है। फ़ाइल पाथ और लाइन नंबर के साथ लौटाया गया सिमेंटिक, AST, ग्राफ़, और टेक्स्ट सर्च।

GEMINI.md, Gemini को बताता है कैसे काम करना है

Maguyva, Gemini को काम करने के लिए कुछ ठोस देता है।

तीन वर्कफ़्लो

Gemini-विशिष्ट। असली कॉल ग्राफ़ के आधार पर ग्राउंडेड, Gemini के grep के आधार पर नहीं।

// workflow 01

एक शेयर्ड क्लास को रीनेम करें, पहले हर डिपेंडेंट ढूँढ़ें

gemini> rename PaymentClient → BillingClient

graph::callers(PaymentClient)            7 पैकेजों में 12 रेफ़रेंस
graph::importers(src/payments/client.ts)  9 इम्पोर्टर्स
graph::extends(PaymentClient)             2 सबक्लास (RetryClient, MockClient)

 Gemini फ़ाइल लिस्ट के साथ इनलाइन 21-एडिट माइग्रेशन सुझाता है।
[exit 0]

Gemini एडिटिंग शुरू करने से पहले Maguyva से डिपेंडेंट्स माँगता है। माइग्रेशन लिस्ट असली ग्राफ़ के आधार पर ग्राउंडेड होकर वापस आती है, Gemini की याददाश्त के आधार पर नहीं।

// workflow 02

असली इम्प्लीमेंटेशन ढूँढ़ें, टेस्ट स्टब नहीं

gemini> normalizePhoneNumber, E.164 को कैसे हैंडल करता है?

semantic::query("normalize phone E.164")
  src/util/phone.ts:88   normalizePhoneNumber()   ← असली इम्प्लीमेंटेशन
  test/util/phone.spec.ts:14  jest.mock(...)      ← स्टब
[exit 0]

नाम झूठ बोलते हैं। मॉक्स असली कोड को छिपा देते हैं। Maguyva असली इम्प्लीमेंटेशन को टेस्ट मॉक से ऊपर रैंक करता है।

// workflow 03

रीफ़ैक्टर से पहले ब्लास्ट रेडियस चेक करें

gemini> QueueDispatcher.publish को कौन कॉल करता है?

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

क्रॉस-पैकेज कॉल-साइट्स इनलाइन सामने आती हैं। डिफ़ असली इम्पोर्टर्स के आधार पर ग्राउंडेड है, Gemini के grep के आधार पर नहीं।

Gemini CLI में सेटअप

तीन चरण। Free स्तर: 3 रिपॉज़िटरी, 50K तक इंडेक्स्ड रिपॉज़िटरी लाइनें, कोई कार्ड नहीं।

  1. // step 01

    maguyva.ai पर एक रिपो इंडेक्स करें

    ऐसा रिपो चुनें जिसे आप अच्छी तरह जानते हों, ताकि आप जवाब वेरिफ़ाई कर सकें।

  2. // step 02

    अपनी Gemini CLI सेटिंग्स में Maguyva को MCP सर्वर के तौर पर जोड़ें

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

    एक ऐसा सवाल पूछें जिसका जवाब आप पहले से जानते हैं

    अपनी पूरी कंपनी से शुरुआत न करें। एक रिपो और एक वेरिफ़ाई करने लायक़ सवाल से शुरू करें।