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

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

Copilot हर सेशन बिना कुछ जाने शुरू करता है।

कस्टम इंस्ट्रक्शन Copilot को बताते हैं कि उसे कैसे व्यवहार करना है, लेकिन यह नहीं बताते कि आपकी रिपॉज़िटरी में क्या है। Maguyva कोडबेस को इंडेक्स करता है और उसे MCP के ज़रिए वापस देता है, ताकि GitHub Copilot CLI ऐसे एडिट करे जैसे उसने कोड पहले ही पढ़ लिया हो।

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

व्यवहार के लिए इंस्ट्रक्शन का उपयोग करें। कोडबेस की मौजूदा जानकारी के लिए Maguyva का उपयोग करें।

लेयर्ड स्टैक

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

// एग्रीमेंट

copilot-instructions.md

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

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

MCP

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

// कोडबेस

Maguyva

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

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

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

एजेंटों के लिए अलग लाइसेंस शुल्क नहीं। प्राइसिंग देखें

कस्टम इंस्ट्रक्शन एक वर्किंग एग्रीमेंट हैं। इनका उपयोग करें।

# .github/copilot-instructions.md
- मौजूदा मॉड्यूल सीमाओं को प्राथमिकता दें।
- मर्ज सुझाने से पहले रिपॉज़िटरी का टेस्ट कमांड चलाएं।
- फ़ाइल पाथ मनगढ़ंत न बनाएं। नया पैकेज बनाने से पहले पूछें।

स्थायी इंस्ट्रक्शन .github/copilot-instructions.md में होने चाहिए। यहाँ रखने के लिए सही जगह है:

  • Build, test और lint कमांड जो Copilot को चलाने चाहिए।
  • इस रिपॉज़िटरी तक सीमित “हमेशा X करो / कभी Y मत करो” गाइडरेल।
  • नेमिंग कन्वेंशन और रिव्यू प्राथमिकताएं।
  • डिसीज़न लॉग के पॉइंटर — हर सिंबल का डंप नहीं।

वह फ़ाइल कभी भी रिपॉज़िटरी का क्वेरी-योग्य इंडेक्स नहीं थी। यह Copilot को बताती है कि कैसे काम करना है। यह नहीं बताती कि वहाँ क्या है।

बड़े पैमाने पर कस्टम इंस्ट्रक्शन कहाँ काम करना बंद कर देते हैं

चार फेलियर मोड जिन्हें Copilot एक markdown फ़ाइल से ठीक नहीं कर सकता।

// इंस्ट्रक्शन कोई इंडेक्स नहीं है

Telling Copilot how to behave does not tell it which class owns parseConfig, or which package actually implements the public API. किसी अनजान ट्री पर पहला एडिट फ़ाइल संरचना पर एक अंदाज़ा भर है।

// डॉक्स पुराने हो जाते हैं, कोड नहीं

पिछली तिमाही के auth फ़्लो का वर्णन करने वाला इंस्ट्रक्शन ब्लॉक, उस दिन साफ़ तौर पर गलत हो जाता है जिस दिन कोई सेशन स्टोर को अलग-अलग बांट देता है। Copilot will prefer the file you committed over the code that shipped.

// डिपेंडेंसी markdown में नहीं होती

“इसे कौन इम्पोर्ट करता है?” is a graph question. इंस्ट्रक्शन हर कॉलर को सूचीबद्ध नहीं कर सकते, और आप वैसा चाहेंगे भी नहीं।

// कॉन्टेक्स्ट विंडो का एक बजट होता है

इंस्ट्रक्शन में और ज़्यादा रिपॉज़िटरी ठूंसना, रीज़निंग टोकन को एक पुराने स्नैपशॉट से बदलना है। कुछ KB के बाद, आप एक ख़राब नक़्शे के लिए भुगतान कर रहे होते हैं।

अतिरिक्त लेयर के रूप में Maguyva

Copilot पहले से ही इंस्ट्रक्शन और टूल्स के रूप में सोचता है।

copilot-instructions.md

समझौता

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

MCP

चैनल

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

Maguyva

कोडबेस तथ्य

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

  • रिपॉज़िटरी का क्वेरी-योग्य नक़्शा एक रिमोट स्ट्रीमेबल-HTTP सर्वर के रूप में MCP के ज़रिए दिया जाता है।
  • 11 कस्टमर-फेसिंग टूल सिमेंटिक, स्ट्रक्चरल (AST), ग्राफ़ और टेक्स्ट सर्च के साथ-साथ सिंबल, डिपेंडेंट्स और फ़ाइल रिट्रीवल में भी।
  • फ़ाइल पाथ और लाइन नंबर के साथ रैंक किए गए परिणाम 284+ भाषाओं और टेक्स्ट-आधारित तकनीकों में।
  • एक कॉन्फ़िगरेशन वही वर्कस्पेस Copilot, Claude Code, Cursor, Codex और किसी भी अन्य MCP-कम्पैटिबल क्लाइंट में जवाब देता है।

कस्टम इंस्ट्रक्शन Copilot को बताते हैं कि कैसे व्यवहार करना है।

Maguyva Copilot को कोड का क्वेरी-योग्य नक़्शा देता है।

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

diff स्वीकार करने से पहले नक़्शे से पूछें।

// workflow 01

टेस्ट स्टब नहीं, असली इम्प्लीमेंटेशन खोजें

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

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

→ Copilot मॉक नहीं, इम्प्लीमेंटेशन खोलता है।
[exit 0]

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

// workflow 02

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

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

graph::callers(QueueDispatcher.publish)
  src/billing/* में 3    src/audit/* में 1    src/notifications/* में 1

→ diff असली इम्पोर्टर्स पर आधारित है।
[exit 0]

पैकेज के बीच के कॉल-साइट्स सीधे दिखते हैं। diff Copilot के grep पर नहीं, असली इम्पोर्टर्स पर आधारित है।

// workflow 03

एक शेयर की गई क्लास का नाम बदलें, पहले हर डिपेंडेंट खोजें

copilot> rename PaymentClient → BillingClient

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

→ Copilot फ़ाइल सूची के साथ एक माइग्रेशन सुझाता है।
[exit 0]

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

GitHub Copilot CLI में सेटअप

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

  1. // step 01

    maguyva.ai पर एक रिपॉज़िटरी इंडेक्स करें

    एक ऐसी रिपॉज़िटरी चुनें जिसे आप पहले से जानते हैं, ताकि आप जवाबों को परख सकें। मुफ़्त साइन अप करें, GitHub कनेक्ट करें, इंडेक्स होने का इंतज़ार करें।

  2. // step 02

    Copilot में Maguyva को रिमोट MCP सर्वर के रूप में जोड़ें

    copilot mcp add --transport http --header "Authorization: Bearer mgv_xxxx" maguyva https://maguyva.tools/mcp

    ~/.copilot/mcp-config.json

    {
      "mcpServers": {
        "maguyva": {
          "type": "http",
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer mgv_xxxx"
          }
        }
      }
    }
  3. // step 03

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

    पूरी कंपनी से शुरुआत न करें। एक ऐसा सवाल पूछें जिसका जवाब आप पहले से जानते हैं, फिर उद्धृत फ़ाइल खोलें।