// कॉन्फ़िग फ़ाइल
config.yaml
एक्सटेंशन ~/.config/goose/config.yaml में extensions के नीचे रहते हैं। goose configure → Add Extension आपके लिए उसी तरह की एंट्री लिख देता है।
Goose यूज़र्स के लिए
Goose अपना काम एक्सटेंशन्स से करता है, और हर एक्सटेंशन एक MCP सर्वर है। Maguyva वह एक्सटेंशन है जो आपका कोडबेस इंडेक्स करता है, ताकि Goose डायरेक्टरी लिस्ट करने के बजाय पूछे कि चीज़ें कहां हैं।
Free स्तर: 3 रिपॉज़िटरी, 50K तक इंडेक्स्ड रिपॉज़िटरी लाइनें, क्रेडिट कार्ड की ज़रूरत नहीं।
काम कैसे करना है, इसके लिए .goosehints। कोड अभी क्या कहता है, इसके लिए Maguyva। Goose से जुड़े चार तथ्य।
// कॉन्फ़िग फ़ाइल
एक्सटेंशन ~/.config/goose/config.yaml में extensions के नीचे रहते हैं। goose configure → Add Extension आपके लिए उसी तरह की एंट्री लिख देता है।
// ट्रांसपोर्ट
Maguyva एक streamable_http एक्सटेंशन है, इसलिए Goose खुद एंडपॉइंट से कनेक्ट होता है: कोई लोकल प्रोसेस नहीं, कोई Node.js नहीं। URL uri में जाता है, url में नहीं।
// कुंजी
Goose हर रिक्वेस्ट के साथ headers मैप भेजता है, इसलिए कुंजी Authorization हेडर में जाती है। Goose इसे env_keys में लिखे किसी एनवायरनमेंट वेरिएबल से भी भर सकता है।
// टूल फ़िल्टर
एक्सटेंशन अपने टूल्स का सिर्फ़ एक हिस्सा दिखा सकता है: जो चाहिए उन्हें available_tools के नीचे लिखें, या सभी के लिए खाली छोड़ दें।
# .goosehints
- npm नहीं, pnpm इस्तेमाल करें।
- किसी बदलाव को पूरा मानने से पहले इंटीग्रेशन टेस्ट चलाएं।डिफ़ॉल्ट रूप से Goose AGENTS.md और .goosehints लोड करता है: ग्लोबल हिंट्स ~/.config/goose/.goosehints से, प्रोजेक्ट हिंट्स रिपो से, और सबफ़ोल्डरों में काम करते समय नेस्टेड फ़ाइलें। हिंट्स के लिए Developer एक्सटेंशन चाहिए। ये इनके लिए सही जगह हैं:
हिंट्स प्रोजेक्ट का वर्णन करते हैं। वे “इस पर क्या निर्भर है?” का जवाब नहीं देते।
तीन कमियां जिन्हें Goose शेल कमांड से, एक-एक फ़ाइल करके भरता है।
अनजान रिपो में Goose डायरेक्टरी लिस्टिंग और फ़ाइल रीड्स से दिशा समझता है। हर एक में टास्क शुरू होने से पहले ही कॉन्टेक्स्ट खर्च होता है।
टेक्स्ट सर्च असली कॉल को किसी कमेंट, mock या उसी नाम वाले मेथड से अलग नहीं कर सकता।
पिछली तिमाही में लिखी गई हिंट्स फ़ाइल पिछली तिमाही का स्ट्रक्चर बताती है। Goose फिर भी उसका पालन करता है।
एक extensions एंट्री Goose को देती है:
हिंट्स, Goose को बताते हैं कैसे काम करना है।
Maguyva, Goose को कोड का नक़्शा देता है।
पहले नक़्शा, फिर Goose को चलने दें।
// workflow 01
goose> कुछ एक्सपोर्ट शून्य पंक्तियों के साथ क्यों खत्म होते हैं? semantic_search("export job empty result") src/export/runner.ts:118 flushBatch() src/export/filters.ts:40 applyTenantFilter() → Goose पूरा export पैकेज नहीं, दो फ़ाइलें पढ़ता है। [exit 0]
Goose के शेल खोलने से पहले ही रैंक किए गए नतीजे खोज को सीमित कर देते हैं।
// workflow 02
goose> Notifier क्लास को ईमेल और SMS में बांटो dependency_search("Notifier", dependents) 5 पैकेजों में 11 रेफ़रेंस → पहली एडिट से पहले योजना सभी ग्यारह को कवर करती है। [exit 0]
Goose को grep की लंबी श्रृंखला के बजाय एक ही कॉल में डिपेंडेंट्स की पूरी सूची मिलती है।
तीन चरण। Free स्तर: 3 रिपॉज़िटरी, 50K तक इंडेक्स्ड रिपॉज़िटरी लाइनें, क्रेडिट कार्ड की ज़रूरत नहीं।
// step 01
ऐसा रिपो चुनें जिसे आप पहले से जानते हैं, ताकि आप जवाबों को परख सकें।
// step 02
~/.config/goose/config.yaml
extensions:
maguyva:
name: maguyva
type: streamable_http
uri: https://maguyva.tools/mcp
enabled: true
headers:
Authorization: Bearer mgv_xxxx
timeout: 300
// step 03
mgv_xxxx को अपनी API कुंजी से बदलें, goose session चलाएं, और एक ऐसा सवाल पूछें जिसका जवाब आप पहले से जानते हैं। YAML इंडेंटेशन के प्रति संवेदनशील है: टैब नहीं, स्पेस इस्तेमाल करें।