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

Canonical source: https://maguyva.ai/hi/for-gemini

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

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

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

## लेयर्ड स्टैक

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

### GEMINI.md

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

### MCP

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

### Maguyva

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

### वर्कस्पेस, प्रति यूज़र नहीं

एजेंटों के लिए अलग लाइसेंस शुल्क नहीं। [प्राइसिंग देखें](https://maguyva.ai/hi/pricing)

## 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 टूल्स और कॉन्टेक्स्ट तक कैसे पहुँचता है। [(स्पेक)](https://modelcontextprotocol.io/docs/getting-started/intro)
- **Maguyva**: जब Gemini कोडबेस से कोई सवाल पूछता है तो वह क्या देखता है। फ़ाइल पाथ और लाइन नंबर के साथ लौटाया गया सिमेंटिक, AST, ग्राफ़, और टेक्स्ट सर्च।

> GEMINI.md, Gemini को बताता है *कैसे काम करना है*।
> Maguyva, Gemini को *काम करने के लिए कुछ ठोस* देता है।

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

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

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

```text
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 की याददाश्त के आधार पर नहीं।

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

```text
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 असली इम्प्लीमेंटेशन को टेस्ट मॉक से ऊपर रैंक करता है।

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

```text
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 तक इंडेक्स्ड रिपॉज़िटरी लाइनें, क्रेडिट कार्ड की ज़रूरत नहीं।

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

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

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

`~/.gemini/settings.json`

```json
{
  "mcpServers": {
    "maguyva": {
      "httpUrl": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${MAGUYVA_API_KEY}"
      }
    }
  }
}
```

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

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

## एक ऐसा रिपो इंडेक्स करें जिसे आप पहले से जानते हैं।

Gemini को MCP पर कनेक्ट करें। एक ऐसा सवाल पूछें जिसका जवाब आप वेरिफ़ाई कर सकें।
