1. परिचय
इस कोडलैब में, आपको Gemini CLI के बारे में जानकारी मिलेगी. यह एक ओपन-सोर्स एआई एजेंट है, जो Gemini की सुविधाओं को सीधे आपके टर्मिनल में उपलब्ध कराता है.
Gemini CLI प्रोजेक्ट ओपन सोर्स है. इसका सार्वजनिक रोडमैप यहाँ देखा जा सकता है.
कोडलैब की मदद से, आपको इन गतिविधियों के बारे में चरण-दर-चरण जानकारी मिलेगी:
- Gemini CLI इंस्टॉल करना
- बुनियादी कॉन्फ़िगरेशन
- Gemini CLI में टूल और पहले से मौजूद कमांड के बारे में जानकारी
GEMINI.md
फ़ाइल की मदद से Gemini CLI को पसंद के मुताबिक बनाना- Gemini CLI के इस्तेमाल के कुछ उदाहरण
आपको इन चीज़ों की ज़रूरत होगी
- Chrome वेब ब्राउज़र
- Gmail खाता
- आपके कंप्यूटर पर Node 20+ इंस्टॉल होना चाहिए.
यह कोडलैब, सभी लेवल के उपयोगकर्ताओं और डेवलपर के लिए बनाया गया है. इसमें शुरुआती डेवलपर भी शामिल हैं.
2. इंस्टॉल करना
Gemini CLI को सेटअप और चलाने से पहले, आइए एक फ़ोल्डर बनाते हैं. हम इस फ़ोल्डर का इस्तेमाल, उन सभी प्रोजेक्ट के लिए होम फ़ोल्डर के तौर पर करेंगे जिन्हें हम इसके अंदर बना सकते हैं. यह Gemini CLI के काम करने का शुरुआती पॉइंट है. हालाँकि, यह आपके सिस्टम पर मौजूद कुछ अन्य फ़ोल्डर का भी रेफ़रंस देगा. हम बाद में ज़रूरत के हिसाब से इन फ़ोल्डर के बारे में बताएँगे.
आगे बढ़ें और एक सैंपल फ़ोल्डर (gemini-cli-projects
) बनाएं. इसके बाद, नीचे दिए गए निर्देशों का इस्तेमाल करके उस फ़ोल्डर पर जाएं. अगर आपको किसी दूसरे फ़ोल्डर के नाम का इस्तेमाल करना है, तो कृपया करें.
mkdir gemini-cli-projects
आइए, उस फ़ोल्डर पर जाएं:
cd gemini-cli-projects
Gemini CLI को चलाने के लिए, इनमें से किसी एक तरीके का इस्तेमाल किया जा सकता है:
- इसे इस कमांड के साथ चलाएं:
npx https://github.com/google-gemini/gemini-cli
- सबसे पहले, अपने सिस्टम पर Gemini CLI को दुनिया भर में इंस्टॉल किया जा सकता है. पक्का करें कि आपके पास एडमिन के अधिकार हों.
npm install -g @google/gemini-cli
इसके बाद, इस कमांड का इस्तेमाल करके इसे चलाएं:
gemini
मान लें कि आपने ऊपर दिए गए किसी भी तरीके से Gemini CLI लॉन्च कर लिया है. इसके बाद, आपको यह स्क्रीन दिखेगी. इसमें आपसे थीम चुनने के बारे में पूछा जाएगा. अपनी पसंद का कोई विकल्प चुनें:
इसे चुनने के बाद, आपसे पुष्टि करने का तरीका पूछा जाएगा. हमारा सुझाव है कि आप इस लैब में अपने निजी Google खाते का इस्तेमाल करें. साथ ही, Google Workspace या Google से जुड़े खातों के बजाय किसी अन्य खाते का इस्तेमाल न करें. इस मुफ़्त लाइसेंस से, आपको Gemini 2.5 Pro और इसकी 10 लाख टोकन वाली कॉन्टेक्स्ट विंडो का ऐक्सेस मिलता है. बिना शुल्क वाले टियर में, हर मिनट में 60 मॉडल के अनुरोध किए जा सकते हैं. साथ ही, हर दिन 1,000 अनुरोध बिना किसी शुल्क के किए जा सकते हैं.
अगर Google खातों के लिए तय किए गए मौजूदा मुफ़्त कोटे की सीमाएं पूरी हो जाती हैं, तो Gemini API कुंजी का इस्तेमाल किया जा सकता है. इसके अलावा, Google Cloud Vertex AI का इस्तेमाल भी किया जा सकता है. इसके लिए, आपको प्रोजेक्ट आईडी और उस प्रोजेक्ट के लिए जगह का नाम देना होगा. अगर आपको पुष्टि करने के अन्य तरीकों का इस्तेमाल करना है, तो कृपया दस्तावेज़ का पुष्टि सेक्शन देखें.
इसके बाद, Enter पर क्लिक करें. इससे ब्राउज़र में, Google का पुष्टि करने वाला पेज खुलेगा. अपने Google खाते से पुष्टि करने की प्रोसेस पूरी करें और शर्तों को स्वीकार करें. पुष्टि हो जाने के बाद, आपको दिखेगा कि Gemini CLI तैयार है और आपके निर्देश का इंतज़ार कर रहा है. यहां एक सैंपल स्क्रीनशॉट दिया गया है:
/help
(फ़ॉरवर्ड स्लैश) टाइप करें. इसके बाद, आपको कई तरह की कमांड और कीबोर्ड शॉर्टकट दिखेंगे. जैसे, यहां दिखाए गए हैं:
Gemini CLI के साथ हमारी पहली बातचीत
बॉक्स में अपना पहला मैसेज टाइप करें. हम इसे इस तरह की क्वेरी देंगे:
आपको दिखेगा कि हमारी क्वेरी के नतीजे में, GoogleSearch
टूल (Gemini CLI में पहले से मौजूद टूल) चालू हो गया है. यह एक दिलचस्प तरीका है. इसमें हमने Gemini CLI के एक शक्तिशाली इन-बिल्ट टूल, GoogleSearch
का इस्तेमाल किया है. यह टूल, वेब से मिली जानकारी के आधार पर जवाब देता है. हम अगले सेक्शन में टूल के बारे में ज़्यादा जानेंगे.
फ़िलहाल, Gemini CLI को बंद करते हैं. इसके लिए, /quit
कमांड का इस्तेमाल करें. इसके अलावा, Gemini सीएलआई के इंटरैक्टिव टर्मिनल सेशन में Ctrl-C
कमांड का इस्तेमाल दो बार करें.
Gemini CLI को पसंद के मुताबिक बनाने वाली फ़ाइल : settings.json
अगर आपको याद हो, तो हमने पहली बार Gemini CLI को शुरू करते समय, आपसे थीम और पुष्टि करने का तरीका चुनने के लिए कहा था. Gemini CLI को बाद में इस्तेमाल करने पर, आपसे थीम और पुष्टि करने का तरीका फिर से चुनने के लिए नहीं कहा जाएगा. इसका मतलब है कि इसे कहीं सेव किया जा रहा है. साथ ही, इसका इस्तेमाल करने वाली फ़ाइल को settings.json
कहा जाता है. यह Gemini CLI को पसंद के मुताबिक बनाने का तरीका है.
सेटिंग को इस क्रम में लागू किया जाता है:
- Workspace:
.gemini/settings.json
(उपयोगकर्ता और सिस्टम की सेटिंग को बदलता है). - उपयोगकर्ता:
~/.gemini/settings.json
(सिस्टम की सेटिंग को बदलता है). - सिस्टम:
/etc/gemini-cli/settings.json
(सभी उपयोगकर्ताओं पर लागू होता है).
आपको याद होगा कि थीम चुनते समय, हमने आपसे सेटिंग को उपयोगकर्ता सेटिंग में सेव करने के लिए कहा था. इसलिए, ~/.gemini folder
पर जाएं. आपको settings.json
फ़ाइल दिखेगी.
मेरी settings.json
फ़ाइल यहां दिखाई गई है. अगर आपने कोई दूसरी थीम चुनी थी, तो आपको उसका नाम दिखेगा.
{
"theme": "Default",
"selectedAuthType": "oauth-personal"
}
3. Gemini CLI कमांड के पैरामीटर
Gemini CLI शुरू करते समय, कुछ कमांड लाइन पैरामीटर दिए जा सकते हैं. विकल्पों की पूरी सूची देखने के लिए, नीचे दिखाए गए तरीके से --help
का इस्तेमाल किया जा सकता है.
gemini --help
इससे, उपलब्ध विकल्पों की पूरी रेंज दिखनी चाहिए. हमारा सुझाव है कि आप यहां दिया गया दस्तावेज़ पढ़ें.
आइए, इनमें से कुछ के बारे में जानें. पहला तरीका यह है कि Gemini CLI को Pro या Flash मॉडल का इस्तेमाल करने के लिए कॉन्फ़िगर किया जाए. फ़िलहाल, इस लैब को लिखते समय, सिर्फ़ इन दो मॉडल का इस्तेमाल किया जा सकता है. डिफ़ॉल्ट रूप से, Gemini 2.5 Pro मॉडल का इस्तेमाल किया जाता है. हालांकि, अगर आपको Flash मॉडल का इस्तेमाल करना है, तो Gemini CLI शुरू करते समय -m
पैरामीटर का इस्तेमाल करके ऐसा किया जा सकता है. इसके बारे में यहां बताया गया है:
gemini -m "gemini-2.5-flash"
आपको दिखेगा कि ऊपर दिए गए तरीके से शुरू करने पर, Gemini सीएलआई टर्मिनल में सबसे नीचे दाईं ओर मॉडल की जानकारी देखी जा सकती है. यह जानकारी यहां दी गई है:
नॉन-इंटरैक्टिव मोड
Gemini CLI को नॉन-इंटरैक्टिव मोड में चलाने का विकल्प भी उपलब्ध है. इसका मतलब है कि आपको सीधे तौर पर प्रॉम्प्ट देना होगा. इसके बाद, Gemini CLI का इंटरैक्टिव टर्मिनल खोले बिना ही, आपको जवाब मिल जाएगा. अगर आपको स्क्रिप्ट या अपने-आप काम करने वाली किसी अन्य प्रोसेस के हिस्से के तौर पर, Gemini सीएलआई का इस्तेमाल अपने-आप करना है, तो यह तरीका आपके लिए बहुत काम का है. Gemini CLI को प्रॉम्प्ट देने के लिए, -p पैरामीटर का इस्तेमाल किया जाता है. इसे यहां दिखाया गया है:
gemini -p "What is the gcloud command to deploy to Cloud Run"
ध्यान रखें कि फ़ॉलो अप सवालों के साथ बातचीत जारी रखने का कोई विकल्प नहीं है.
4. Gemini CLI - इन-बिल्ट टूल
Gemini CLI में कई टूल पहले से मौजूद होते हैं. टूल के दस्तावेज़ में बताया गया है कि "Gemini मॉडल, इन टूल का इस्तेमाल करके आपके लोकल एनवायरमेंट से इंटरैक्ट करता है, जानकारी ऐक्सेस करता है, और कार्रवाइयां करता है. ये टूल, CLI की क्षमताओं को बढ़ाते हैं. इससे यह टेक्स्ट जनरेट करने के अलावा, कई अन्य कामों में भी मदद कर पाता है."
पहले से मौजूद टूल की सूची पाने के लिए, हमें बस /tools
कमांड को लागू करना होगा. इसे यहां दिखाया गया है:
आपको तुरंत यह सवाल पूछना चाहिए कि क्या Gemini CLI, जब चाहे तब इन टूल को कॉल कर सकता है? संवेदनशील कार्रवाइयों के लिए डिफ़ॉल्ट जवाब नहीं होता है. जैसे, लोकल सिस्टम में लिखना, बाहरी सिस्टम से पढ़ना, बाहरी नेटवर्क पर जाना वगैरह.
सीएलआई शुरू करने पर, आपको एक --yolomode
दिखेगा. हम इसका इस्तेमाल नहीं करेंगे. आपको दिखेगा कि Gemini CLI, चुने गए टूल को चलाने की अनुमति के लिए प्रॉम्प्ट करेगा. आपके पास अनुमति देने से इनकार करने का विकल्प होता है. इसके अलावा, आपके पास इसे एक बार चलाने या हमेशा चलाने की अनुमति देने का विकल्प भी होता है. आपके पास सभी चीज़ों का पूरा कंट्रोल होना चाहिए.
हम एक ऐसा प्रॉम्प्ट देते हैं जिससे Gemini CLI, टास्क पूरा करने के लिए किसी एक इनबिल्ट टूल को चुनेगा. इससे हमें यह समझने में मदद मिलेगी कि यह सब कैसे काम करता है.
हमें दुनिया भर की फ़ाइनेंस से जुड़ी नई खबरों के बारे में जानकारी चाहिए. साथ ही, हमें उस जानकारी को अपनी लोकल वर्किंग डायरेक्ट्री में मौजूद फ़ाइल में सेव करना है. यह वही डायरेक्ट्री है जहाँ से हमने Gemini CLI लॉन्च किया था. हम यह प्रॉम्प्ट देते हैं:
Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt
एक पल के लिए सोचें कि इसे क्या करना चाहिए. आदर्श रूप से, इसे GoogleSearch का इस्तेमाल करके, जानकारी के कुछ ऐसे स्रोतों से खबरें लेनी चाहिए जो इसे वित्तीय खबरें दे सकें. इसके बाद, इसे finance-news-today.txt
नाम की एक फ़ाइल बनानी होगी. यह आपके लोकल सिस्टम पर राइट ऑपरेशन है, जिसके लिए आपकी अनुमति ज़रूरी होगी.
आइए देखते हैं कि क्या होता है. आपको भी अपनी मशीन पर यही प्रोसेस करनी चाहिए.
यह सबसे पहले, वेब पर खोजने के लिए GoogleSearch
टूल को चालू करता है.
खोज पूरी होने के बाद, यह डेटा को इस तरह से वापस लाता है:
इसके बाद, यह फ़ाइल में लिखने के लिए तैयार हो जाता है और WriteFile
टूल का इस्तेमाल करेगा. हालांकि, यह एक संवेदनशील कार्रवाई (लिखना) है. इसलिए, यह आपसे अनुमति मांगेगा. आपके पास अनुमति का टाइप चुनने का विकल्प होता है. जैसे, एक बार अनुमति दें, हमेशा अनुमति दें वगैरह. फ़िलहाल, हम 'एक बार अनुमति दें' विकल्प चुनते हैं.
इसके बाद, यह जानकारी फ़ाइल में सेव हो जाएगी. साथ ही, नीचे 'हो गया' मैसेज दिखेगा:
हम यह कैसे पता लगाते हैं कि फ़ाइल लिखी गई है या नहीं? हम @file
का इस्तेमाल करके, इसे कॉन्टेंट पढ़ने के लिए कह सकते हैं. हम नीचे दिखाए गए तरीके से प्रॉम्प्ट देते हैं. @
टाइप करने पर, हमें मौजूदा फ़ोल्डर में मौजूद फ़ाइलों की सूची दिखती है. इसमें वह फ़ाइल भी दिखती है जिसे हमने अभी-अभी बनाया है. उसे चुनें और प्रॉम्प्ट सबमिट करें. मेरा प्रॉम्प्ट यहां दिया गया है:
read the contents of @finance-news-today.txt
इससे ज़रूरी टूल (ReadManyFiles, ReadFile) चालू हो जाते हैं और कॉन्टेंट इस तरह दिखता है:
यह Gemini CLI में सीधे तौर पर शेल के साथ काम करने का तरीका जानने का भी सही समय है. मैसेज बॉक्स में !
दबाकर, शेल मोड में जाया जा सकता है. इससे शेल मोड चालू या बंद हो जाएगा. !
को फिर से दबाकर या ESC
कुंजी को दबाकर, वापस जाया जा सकता है.
शेल मोड में, आपको प्रॉम्प्ट की शुरुआत में !
दिखेगा. यह नीचे दिखाया गया है:
नीचे दिए गए उदाहरण में, pwd
और ls
जैसे स्टैंडर्ड कमांड का इस्तेमाल करके सीधे तौर पर जांच की जा सकती है:
हम आज cat
कमांड का इस्तेमाल करके, फ़ाइल का कॉन्टेंट प्रिंट कर सकते हैं.
एक्सरसाइज़: यहां एक छोटी सी एक्सरसाइज़ दी गई है. इसे आज़माएं. अपनी पसंद का आरएसएस फ़ीड चुनें. Gemini CLI को आरएसएस फ़ीड का कॉन्टेंट फ़ेच करने के लिए प्रॉम्प्ट दें. साथ ही, नतीजों को किसी खास तरीके से फ़ॉर्मैट करने के लिए भी प्रॉम्प्ट दें. यह दिन की शुरुआत में किसी काम को अपने-आप शुरू होने की सुविधा देने का एक अच्छा तरीका है.
अहम जानकारी: आपको Gemini CLI को WebFetch
टूल का इस्तेमाल करने के लिए कहना चाहिए.
5. मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) सर्वर कॉन्फ़िगर करना
एमसीपी सर्वर एक ऐसा ऐप्लिकेशन होता है जो मॉडल कॉन्टेक्स्ट प्रोटोकॉल के ज़रिए, Gemini CLI को टूल और संसाधन उपलब्ध कराता है. इससे Gemini CLI, बाहरी सिस्टम और डेटा सोर्स के साथ इंटरैक्ट कर पाता है. एमसीपी सर्वर, Gemini मॉडल और आपके लोकल एनवायरमेंट या एपीआई जैसी अन्य सेवाओं के बीच एक पुल की तरह काम करते हैं.
एमसीपी सर्वर की मदद से, Gemini CLI टूल को खोजकर उन्हें लागू किया जा सकता है. इससे Gemini CLI की क्षमताओं को बढ़ाया जा सकता है. जैसे, डेटाबेस, एपीआई, कस्टम स्क्रिप्ट या खास वर्कफ़्लो के साथ इंटरैक्ट करना.
Gemini CLI, कस्टम टूल खोजने और उनका इस्तेमाल करने के लिए, MCP सर्वर को कॉन्फ़िगर करने की सुविधा देता है. अगर आपने Gemini CLI लॉन्च किया है, तो /mcp
कमांड का इस्तेमाल करके कॉन्फ़िगर किए गए एमसीपी सर्वर की जांच की जा सकती है. इसके लिए, यहाँ दिया गया तरीका अपनाएं:
अगर आपने कोई भी MCP सर्वर कॉन्फ़िगर नहीं किया है, तो यह Gemini CLI के MCP सर्वर के दस्तावेज़ को लॉन्च करेगा.
~/.gemini/settings.json
फ़ाइल में या अपने प्रोजेक्ट की रूट डायरेक्ट्री में, एमसीपी सर्वर को ग्लोबल लेवल पर कॉन्फ़िगर किया जा सकता है. .gemini/settings.json
फ़ाइल बनाएं या खोलें. आपको फ़ाइल में mcpServers
कॉन्फ़िगरेशन ब्लॉक जोड़ना होगा. इसके लिए, यहां दिया गया तरीका अपनाएं:
"mcpServers": {
"server_name_1": {},
"server_name_2": {},
"server_name_n": {}
}
हर सर्वर कॉन्फ़िगरेशन में ये प्रॉपर्टी काम करती हैं ( रेफ़रंस दस्तावेज़):
ज़रूरी है (इनमें से कोई एक)
- command (string): Stdio ट्रांसपोर्ट के लिए, एक्ज़ीक्यूटेबल का पाथ
- url (string): SSE एंडपॉइंट का यूआरएल (उदाहरण के लिए, "http://localhost:8080/sse")
- httpUrl (string): एचटीटीपी स्ट्रीमिंग एंडपॉइंट का यूआरएल
वैकल्पिक
- args (string[]): Stdio ट्रांसपोर्ट के लिए कमांड-लाइन आर्ग्युमेंट
- headers (object): url या httpUrl का इस्तेमाल करते समय कस्टम एचटीटीपी हेडर
- env (object): सर्वर प्रोसेस के लिए एनवायरमेंट वैरिएबल. वैल्यू, $VAR_NAME या ${VAR_NAME} सिंटैक्स का इस्तेमाल करके एनवायरमेंट वैरिएबल को रेफ़रंस कर सकती हैं
- cwd (string): Stdio ट्रांसपोर्ट के लिए वर्किंग डायरेक्ट्री
- timeout (number): अनुरोध के लिए टाइम आउट की अवधि, मिलीसेकंड में (डिफ़ॉल्ट: 6,00,000 मि॰से॰ = 10 मिनट)
- trust (बूलियन): अगर यह वैल्यू सही है, तो इस सर्वर के लिए टूल कॉल की पुष्टि करने की सभी प्रोसेस को बायपास कर दिया जाता है (डिफ़ॉल्ट: गलत)
- includeTools (string[]): इस MCP सर्वर से शामिल किए जाने वाले टूल के नामों की सूची. अगर इस विकल्प को चुना जाता है, तो इस सर्वर से सिर्फ़ यहां दिए गए टूल उपलब्ध होंगे (व्हाइटलिस्ट का तरीका). अगर कोई टूल नहीं चुना जाता है, तो सर्वर के सभी टूल डिफ़ॉल्ट रूप से चालू हो जाते हैं.
- excludeTools (string[]): इस एमसीपी सर्वर से बाहर रखे जाने वाले टूल के नामों की सूची. यहां दिए गए टूल, मॉडल के लिए उपलब्ध नहीं होंगे. भले ही, सर्वर उन्हें ऐक्सेस करने की अनुमति दे. ध्यान दें: excludeTools को includeTools से ज़्यादा प्राथमिकता दी जाती है. अगर कोई टूल दोनों सूचियों में है, तो उसे बाहर रखा जाएगा.
आइए, हम एक ऐसे मुख्य MCP सर्वर को कॉन्फ़िगर करते हैं जिसकी आपको GitHub के साथ काम करते समय ज़रूरत पड़ सकती है. हालांकि, आपको यह ध्यान रखना चाहिए कि Gemini सीएलआई, आपके सिस्टम पर मौजूद Git टूल को चालू करेगा. साथ ही, Gemini सीएलआई को उन टूल का इस्तेमाल करने के लिए भी कहा जा सकता है. इसलिए, यह समझ लें कि यह आपको कमांड देने और उन्हें लागू करने में मदद करेगा. हालांकि, आपके सिस्टम पर ये टूल सेट अप होने चाहिए.
GitHub MCP सर्वर
GitHub का आधिकारिक MCP सर्वर, उन टूल के बारे में ज़रूरी दस्तावेज़ उपलब्ध कराता है जिन्हें वह दिखाता है. साथ ही, उन्हें कॉन्फ़िगर करने का तरीका भी बताता है. Gemini CLI को स्थानीय तौर पर या रिमोटली चलाया जा सकता है. Gemini CLI, रिमोट MCP सर्वर के साथ भी काम करता है.
इस ट्यूटोरियल में, हमने GitHub में रिमोट MCP सर्वर विकल्प का इस्तेमाल किया है. इसके लिए, आपके पास पहले से Github का निजी ऐक्सेस टोकन (पीएटी) होना चाहिए.
इसके बाद, आपको settings.json
फ़ाइल में MCP सर्वर ऑब्जेक्ट जोड़ना होगा. मेरे सिस्टम पर मौजूद पूरी settings.json फ़ाइल यहां दिखाई गई है. आपके पास अतिरिक्त सेटिंग हो सकती हैं, लेकिन mcpServers
ऑब्जेक्ट यहां दिए गए तरीके से होना चाहिए:
{
"theme": "Default",
"selectedAuthType": "oauth-personal",
"mcpServers": {
"github": {
"httpUrl": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "GITHUB_PAT"
},
"timeout": 5000
}
}
}
Github MCP Server के कॉन्फ़िगरेशन के साथ settings.json
को अपडेट करने के बाद, Gemini CLI को फिर से शुरू किया जा सकता है या /mcp refresh
कमांड का इस्तेमाल किया जा सकता है. यहां दिए गए स्क्रीनशॉट में, मेरी मशीन पर कॉन्फ़िगर किया गया Github MCP Server और वे अलग-अलग टूल हाइलाइट किए गए हैं जो अब Gemini CLI के साथ काम करने के लिए उपलब्ध हैं.
आइए, ऐसे प्रॉम्प्ट से शुरुआत करते हैं जो GitHub MCP सर्वर के किसी टूल को चालू करेगा. यह प्रॉम्प्ट दें:
ध्यान दें कि यह GitHub MCP सर्वर से सही टूल चुनेगा. हालांकि, अन्य इन-बिल्ट टूल की तरह ही, इसके लिए भी आपको टूल को चालू करने की अनुमति देनी होगी. आगे बढ़ें और देखें कि आपको क्या आउटपुट मिलता है.
अब आपको अपने किसी एक GitHub प्रोजेक्ट के साथ काम करना चाहिए. अपनी क्वेरी आम बोलचाल की भाषा में इस तरह दें:
- मुझे <repo-name> के बारे में बताओ?
- मेरी लोकल मशीन पर <repo-name> को क्लोन करो.
- @<file-name> या @<directory-name> के बारे में जानकारी दो/
- इस रिपॉज़िटरी के अलग-अलग कॉम्पोनेंट कौनसे हैं?
- मैंने ज़रूरी बदलाव कर लिए हैं. क्या GitHub पर बदलावों को पुश किया जा सकता है और इसके लिए, GitHub MCP Server टूल का इस्तेमाल किया जा सकता है.
हम लैब में, GitHub MCP सर्वर के साथ काम करने के बारे में विस्तार से जानेंगे.
Context7 MCP सर्वर
Context7, एलएलएम और एआई कोड एडिटर के लिए अप-टू-डेट दस्तावेज़ उपलब्ध कराता है. अगर आपको अपने चुने गए फ़्रेमवर्क के नए दस्तावेज़ की मदद से, एलएलएम को कॉन्टेक्स्ट देना है, तो Context7 MCP सर्वर को कॉन्फ़िगर करना एक अच्छा विकल्प है.
पक्का करें कि आपकी लाइब्रेरी, Context7 के होम पेज पर दिख रही हो.
यहां एमसीपी सर्वर दिया गया है. इसे आपको settings.json
फ़ाइल में जोड़ना होगा.
"context7": {
"httpUrl": "https://mcp.context7.com/mcp"
}
MCP सर्वर कॉन्फ़िगर हो जाने और Gemini CLI के साथ लोड हो जाने के बाद, आपको Context7 टूल दिखने चाहिए. ये टूल, यहां दिखाए गए हैं:
अब अपने प्रॉम्प्ट में ज़्यादा जानकारी दी जा सकती है. साथ ही, Gemini CLI से कहा जा सकता है कि वह Context7
का इस्तेमाल करके, ऐप्लिकेशन या कोड स्निपेट जनरेट करे. इसके लिए, किसी XYZ फ़्रेमवर्क का इस्तेमाल किया जा सकता है.
यहां एक उदाहरण दिया गया है, जिसमें मुझे Google के एजेंट डेवलपमेंट किट (एडीके) का इस्तेमाल करके एक एजेंट लिखना है. मैंने अपने प्रॉम्प्ट में, Context7 MCP Server के ज़रिए इससे जुड़े दस्तावेज़ देखने के लिए कहा है.
I am working on coding an Agent using the Agent Development Kit (ADK) from Google. I would like to know how to create the LLMAgent in Python. Use Context7 for the latest documentation on ADK and specifically use /google/adk-python, /google/adk-docs and adk.wiki
हमें यह आउटपुट मिला है:
Google Slides MCP Server
https://github.com/matteoantoci/google-slides-mcp पर मौजूद Github प्रोजेक्ट, Google Slides API के साथ इंटरैक्ट करने के लिए एक MCP सर्वर उपलब्ध कराता है. इसकी मदद से, Google Slides के प्रज़ेंटेशन प्रोग्रामैटिक तरीके से बनाए जा सकते हैं, पढ़े जा सकते हैं, और उनमें बदलाव किया जा सकता है.
प्रोजेक्ट में, एमसीपी सर्वर को कॉन्फ़िगर करने का तरीका बताया गया है. आपके पास Node.js एनवायरमेंट होना चाहिए, जहां सर्वर बनाया जा सके. साथ ही, Google Cloud प्रोजेक्ट और OAuth 2.0 टोकन कॉन्फ़िगर किए जा सकें. इसके बाद, settings.json फ़ाइल में MCP सर्वर को कॉन्फ़िगर करें.
सेटअप करने के बाद, इस तरह के प्रॉम्प्ट इस्तेमाल किए जा सकते हैं:
- "web_url" से नई जानकारी निकालो, उसे मुख्य बिंदुओं में लिखो, और "my_presentation" नाम का एक प्रज़ेंटेशन बनाओ.
इसे आज़माएं!
ज़्यादा एमसीपी सर्वर
यहां एमसीपी सर्वर की एक और सूची दी गई है, जिसमें आपकी दिलचस्पी हो सकती है:
- Firebase MCP Server
- Google की जेन एआई मीडिया सेवाएं (Imagen, Veo, Lyria)
- डेटाबेस के लिए MCP टूलबॉक्स (Firestore, BigQuery, Google Cloud डेटाबेस के साथ काम करता है)
- Google Workspace MCP Server (Docs, Sheets, Calendar, Gmail के साथ काम करता है)
ऊपर दिए गए एमसीपी सर्वर सेट अप करने के निर्देश, इस ब्लॉग पोस्ट में दिए गए हैं.
6. इस्तेमाल के उदाहरण
Gemini सीएलआई का इस्तेमाल, कई तरह के कामों के लिए किया जा सकता है. ये काम, डेवलपर और नॉन-डेवलपर, दोनों के लिए उपलब्ध हैं. यहां कुछ उदाहरण दिए गए हैं. अपनी दिलचस्पी के हिसाब से, इनमें से कोई भी या सभी उदाहरण आज़माए जा सकते हैं.
इन सभी मामलों में, प्रॉम्प्ट दिया जाता है. Gemini CLI को लॉन्च करते समय, -p
पैरामीटर का इस्तेमाल करके, Gemini CLI के इंटरैक्टिव मोड या नॉन-इंटरैक्टिव मोड में इसे आज़माया जा सकता है.
फ़ाइलें/फ़ोल्डर व्यवस्थित करना
Gemini CLI का इस्तेमाल करके, फ़ाइलों को अलग-अलग फ़ोल्डर में व्यवस्थित किया जा सकता है. अपने कंप्यूटर पर उस फ़ोल्डर पर जाएं जिसमें .txt, .png, .jpg, .pdf, .mp4 वगैरह जैसी कई फ़ाइलें हों. यह फ़ोल्डर, डेस्कटॉप या डाउनलोड फ़ोल्डर हो सकता है.
उस फ़ोल्डर पर जाएं और Gemini CLI शुरू करें. हम सबसे पहले इसे हमारे लिए कुछ फ़ोल्डर बनाने के लिए कहेंगे: इमेज, दस्तावेज़, वीडियो. इसके बाद, हम इसे फ़ोल्डर में फ़ाइलों को व्यवस्थित करने के लिए कहेंगे.
Gemini CLI, अक्सर कमांड को पूरा करने से पहले आपसे अनुमति मांगेगा. खास तौर पर, उन कमांड के लिए जो आपके फ़ाइल सिस्टम में बदलाव करती हैं. जैसे, फ़ाइलों को लिखना, उन्हें एक जगह से दूसरी जगह ले जाना या मिटाना. अनुमति देने से पहले, इन प्रॉम्प्ट को हमेशा ध्यान से पढ़ें. यह आपकी सुरक्षा के लिए है.
Create the following folders "Images","Documents","Videos"
इसके बाद, यह प्रॉम्प्ट डालें:
Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.
संगठित करने से जुड़े कुछ अन्य उदाहरण (हर उदाहरण के बगल में प्रॉम्प्ट दिए गए हैं):
- खास जानकारी: ‘दस्तावेज़' फ़ोल्डर में मौजूद हर दस्तावेज़ के लिए, उसी फ़ोल्डर में ‘summary_ORIGINAL_FILENAME.txt' नाम की एक txt फ़ाइल बनाएं. इसमें दस्तावेज़ की मुख्य बातों के बारे में तीन वाक्यों में जानकारी दी गई हो.
- टाइप के हिसाब से कैटगरी बनाना: इस डायरेक्ट्री में मौजूद सभी PDF और DOCX फ़ाइलों को स्कैन करें. जिन फ़ाइलों के नाम या कॉन्टेंट में "इनवॉइस" शब्द है उन्हें ‘फ़ाइनेंशियल/इनवॉइस' फ़ोल्डर में ले जाएं. "रसीद" वाली फ़ाइलों को ‘वित्तीय/रसीदें' फ़ोल्डर में ले जाएं. अन्य .docx फ़ाइलें ‘रिपोर्ट' फ़ोल्डर में जाती हैं.
- अहम जानकारी निकालना (और "टैग करना"): ‘वित्तीय/इनवॉइस' फ़ोल्डर में मौजूद हर PDF फ़ाइल का कॉन्टेंट पढ़ें. अगर आपको कोई तारीख मिलती है, तो फ़ाइल का नाम बदलकर उसमें YYYY-MM-DD फ़ॉर्मैट में तारीख शामिल करें. उदाहरण के लिए, ‘invoice_2025-07-26_original_name.pdf'.
इमेज व्यवस्थित करना
आइए, देखते हैं कि हम अपनी मशीन में इमेज वाले कॉन्टेंट को कैसे व्यवस्थित कर सकते हैं.
इसे आज़माने के लिए:
- आपके पास अलग-अलग इमेज फ़ाइलों (.jpg, .png वगैरह) वाली डायरेक्ट्री/फ़ोल्डर होना चाहिए. कुछ फ़ोटो में EXIF डेटा शामिल करें. ज़्यादातर कैमरों/फ़ोन से ली गई फ़ोटो में यह डेटा होता है.
- इस डायरेक्ट्री में जाएं.
- Gemini CLI लॉन्च करें.
इनमें से कोई भी स्थिति आज़माएं. हर स्थिति के बगल में प्रॉम्प्ट दिए गए हैं:
- तारीख के हिसाब से नाम बदलें (EXIF डेटा): इस डायरेक्ट्री में मौजूद सभी .jpg और .png फ़ाइलों का नाम बदलें, ताकि EXIF डेटा से उनकी बनाए जाने की तारीख को ‘YYYYMMDD_HHMMSS_original_name.jpg' फ़ॉर्मैट में शामिल किया जा सके. अगर EXIF की तारीख नहीं मिलती है, तो फ़ाइल में पिछली बार बदलाव किए जाने की तारीख का इस्तेमाल करें.
- इमेज के बारे में जानकारी जनरेट करना: इस फ़ोल्डर में मौजूद हर इमेज के बारे में जानकारी जनरेट करें. इसके बाद, उस जानकारी को उसी डायरेक्ट्री में ‘description_ORIGINAL_FILENAME.txt' नाम की टेक्स्ट फ़ाइल में सेव करें.
- डुप्लीकेट इमेज का पता लगाना (कॉन्सेप्ट पर आधारित, इसके लिए ज़्यादा बेहतर लॉजिक की ज़रूरत होती है): इस फ़ोल्डर में मौजूद किसी भी डुप्लीकेट इमेज का पता लगाएं. इसके लिए, इमेज के विज़ुअल कॉन्टेंट का इस्तेमाल करें. साथ ही, उनके फ़ाइल नामों की सूची बनाएं. इन्हें अभी न मिटाएं.
लेखों की खास जानकारी जनरेट करना (लोकल फ़ाइलें या वेब)
यहां दिए गए हर उदाहरण के लिए, यूआरएल, दिलचस्पी का विषय, और स्थानीय फ़ाइलों के नाम में अपनी ज़रूरत के हिसाब से बदलाव करें. यहां दिए गए फ़ाइल नाम, सैंपल फ़ाइल नाम हैं. इन्हें अपने सिस्टम में मौजूद फ़ाइलों के नामों से बदला जा सकता है.
इनमें से कोई भी स्थिति आज़माएं. हर स्थिति के बगल में प्रॉम्प्ट दिए गए हैं:
- किसी वेब लेख (एक यूआरएल) के बारे में खास जानकारी देना: https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 पर जाएँ और इस लेख से मिली तीन मुख्य बातों के बारे में खास जानकारी दें.
- एक से ज़्यादा वेब लेखों की खास जानकारी पाना (जैसे, खोज से): Google Search का इस्तेमाल करके, "Gemini CLI" के बारे में नए लेख खोजो. सबसे ज़्यादा काम के पांच लेखों के लिए, हर लेख के बारे में दो से तीन वाक्यों में जानकारी दें. साथ ही, उनके यूआरएल की सूची बनाएं.
- डिवाइस पर मौजूद किसी टेक्स्ट फ़ाइल की खास जानकारी पाना: ‘my_research_paper.txt' लेख की मुख्य बातों की खास जानकारी दो. तरीके और नतीजों पर फ़ोकस करें.
- लोकल PDF की खास जानकारी पाना: ‘financial_report_Q2_2025.pdf' पढ़ो. वित्तीय परफ़ॉर्मेंस और बताई गई मुख्य चुनौतियों के बारे में खास जानकारी दें.
किसी खास जानकारी को निकालना (लोकल फ़ाइलें या वेब)
यहां दिए गए हर उदाहरण के लिए, यूआरएल, दिलचस्पी का विषय, और स्थानीय फ़ाइलों के नाम में अपनी ज़रूरत के हिसाब से बदलाव करें. यहां दिए गए फ़ाइल नाम, सैंपल फ़ाइल नाम हैं. इन्हें अपने सिस्टम में मौजूद फ़ाइलों के नामों से बदला जा सकता है.
इनमें से कोई भी स्थिति आज़माएं. हर स्थिति के बगल में प्रॉम्प्ट दिए गए हैं:
- किसी स्थानीय लेख से इकाइयां निकालो: ‘biography.txt' से, नाम वाले सभी लोगों और उनसे जुड़ी अहम तारीखों की सूची बनाओ.
- किसी PDF में मौजूद टेबल से डेटा निकालना: ‘quarterly_sales.pdf' में, पेज 3 पर मौजूद टेबल से डेटा निकालो. इस टेबल में "क्षेत्र के हिसाब से प्रॉडक्ट की बिक्री" की जानकारी दी गई है. इस डेटा को Markdown टेबल फ़ॉर्मैट में दिखाओ.
- किसी PDF में मौजूद टेबल से डेटा निकालना: ‘quarterly_sales.pdf' में, पेज 3 पर मौजूद टेबल से डेटा निकालो. इस टेबल में "क्षेत्र के हिसाब से प्रॉडक्ट की बिक्री" की जानकारी दी गई है. इस डेटा को Markdown टेबल फ़ॉर्मैट में दिखाओ.
- किसी समाचार वेबसाइट से, समाचार की हेडलाइन और सोर्स निकालना: ‘https://news.google.com/' (या ऐसी ही कोई समाचार साइट) पर जाएं. पहले पेज से मुख्य हेडलाइन और उनसे जुड़े समाचार स्रोतों की जानकारी निकालो. इन्हें बुलेट वाली सूची के तौर पर दिखाएं.
- किसी ई-कॉमर्स पेज पर प्रॉडक्ट स्पेसिफ़िकेशन ढूंढना: ‘https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441' (यह किताब का उदाहरण है) पर जाएं. किताब का टाइटल, लेखक, और अन्य जानकारी निकालो. इसे स्ट्रक्चर्ड JSON फ़ॉर्मैट में दिखाएं.
कॉन्टेंट के आधार पर सवालों के जवाब देना (आरएजी की तरह काम करना)
यहां दिए गए हर उदाहरण के लिए, यूआरएल, दिलचस्पी का विषय, और स्थानीय फ़ाइलों के नाम में अपनी ज़रूरत के हिसाब से बदलाव करें. यहां दिए गए फ़ाइल नाम, सैंपल फ़ाइल नाम हैं. इन्हें अपने सिस्टम में मौजूद फ़ाइलों के नामों से बदला जा सकता है.
इनमें से कोई भी स्थिति आज़माएं. हर स्थिति के बगल में प्रॉम्प्ट दिए गए हैं:
- किसी स्थानीय दस्तावेज़ के बारे में सवाल-जवाब: मैंने ‘user_manual.pdf' अटैच किया है. नेटवर्क कनेक्टिविटी से जुड़ी समस्याओं को हल करने का तरीका क्या है?
- वेब पेज पर सवाल और जवाब: ‘https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health' पर मौजूद कॉन्टेंट का इस्तेमाल करके बताओ कि डब्ल्यूएचओ के मुताबिक, जलवायु परिवर्तन से सेहत पर क्या-क्या असर पड़ता है?
- अलग-अलग सोर्स से मिली जानकारी की तुलना करो: मेरे पास दो लेख हैं: ‘article1.txt' और ‘article2.txt'. दोनों में, हाल ही में आर्थिक नीति में हुए बदलावों के बारे में बताया गया है. छोटे कारोबारों पर पड़ने वाले संभावित असर के बारे में, दोनों के विचारों की तुलना करें.
एक्सट्रैक्ट की गई जानकारी के आधार पर कॉन्टेंट जनरेट करना
यहां दिए गए हर उदाहरण के लिए, यूआरएल, दिलचस्पी का विषय, और स्थानीय फ़ाइलों के नाम में अपनी ज़रूरत के हिसाब से बदलाव करें.
इनमें से कोई भी स्थिति आज़माएं. हर स्थिति के बगल में प्रॉम्प्ट दिए गए हैं:
- किसी लेख से खबरों की खास जानकारी जनरेट करना: @tech_innovation_article.txt पढ़ो. कंपनी के न्यूज़लेटर के लिए, कम शब्दों में (लगभग 150 शब्द) दिलचस्प खबर लिखो. इसमें नई टेक्नोलॉजी और उसकी संभावनाओं के बारे में जानकारी दो.
- मीटिंग की ट्रांसक्रिप्ट की खास जानकारी देने वाला ईमेल लिखो: मीटिंग की ट्रांसक्रिप्ट की फ़ाइल यहां दी गई है: @meeting_transcript.txt. टीम के लिए एक ईमेल ड्राफ़्ट करो. इसमें लिए गए मुख्य फ़ैसलों और असाइन किए गए कामों की खास जानकारी शामिल हो. साथ ही, यह भी बताया गया हो कि हर काम के लिए कौन ज़िम्मेदार है.
Gemini CLI में मल्टी-मॉडल की सुविधा
Gemini CLI में, Gemini के ज़रिए कई मॉडल इस्तेमाल किए जा सकते हैं. साथ ही, अपनी ज़रूरतों के हिसाब से, अलग-अलग कॉन्टेंट फ़ॉर्मैट वाली फ़ाइलों को प्रोसेस करने के लिए कहा जा सकता है.
हम Gemini सीएलआई की मदद से, इनवॉइस की कई इमेज प्रोसेस करेंगे और उनसे ज़रूरी जानकारी निकालेंगे. यहां दिया गया तरीका अपनाएं:
- अपने कंप्यूटर पर एक फ़ोल्डर बनाएं और Github की इस रिपॉज़िटरी से कुछ इनवॉइस डाउनलोड करें.
- उस फ़ोल्डर से Gemini CLI लॉन्च करें
आइए, टेबल के फ़ॉर्म में इनवॉइस से जानकारी निकालने के लिए, यह प्रॉम्प्ट देते हैं.
The current folder contains a list of invoice image files. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.
आपको इस तरह का आउटपुट मिलना चाहिए:
इसे अपनी उन सभी फ़ाइलों पर लागू करें जो टेक्स्ट के अलावा किसी और फ़ॉर्मैट में हैं.
डेटाबेस के साथ काम करने के लिए Gemini CLI का इस्तेमाल करना
Gemini CLI का इस्तेमाल करके, अलग-अलग डेटाबेस के साथ ज़्यादा बेहतर तरीके से काम किया जा सकता है. इसका इस्तेमाल कई कामों के लिए किया जा सकता है. जैसे, आम बोलचाल की भाषा में क्वेरी करना, डेटा एक्सपोर्ट करना, डेटाबेस स्कीमा डिज़ाइन करना, असली जैसा टेस्ट डेटा जनरेट करना वगैरह.
हम इसे दिखाने के लिए, SQLite3
का इस्तेमाल करेंगे. हमें SQLite3 इंस्टॉल करना होगा. साथ ही, हमारे पास Chinook का सैंपल डेटाबेस होना चाहिए.
SQLite3 को सेट अप करने के लिए, यहां कुछ निर्देश दिए गए हैं:
- macOS: SQLite3 पहले से इंस्टॉल होता है.
sqlite3 --version
से पुष्टि करें. अगर ज़रूरत हो, तो Homebrew का इस्तेमाल करके इंस्टॉल करें:brew install sqlite3
. - Windows: SQLite की वेबसाइट से, पहले से कंपाइल की गई बाइनरी डाउनलोड करें. फ़ाइलों को किसी डायरेक्ट्री में एक्सट्रैक्ट करें. उदाहरण के लिए,
C:\sqlite
). उस डायरेक्ट्री को अपने सिस्टम के PATH एनवायरमेंट वैरिएबल में जोड़ें. - Linux: Debian/Ubuntu:
sudo apt update && sudo apt install sqlite3
Chinook डेटाबेस का सैंपल डाउनलोड करें. इसे डाउनलोड करने के लिए, यहां डायरेक्ट लिंक दिया गया है.
इन प्रॉम्प्ट को चलाने के लिए, हमारा सुझाव है कि आप gemini-cli-projects
डायरेक्ट्री में एक फ़ोल्डर (database-tasks
) बनाएं. Chinook डेटाबेस फ़ाइल को उस फ़ोल्डर में कॉपी करें. पक्का करें कि आपके सिस्टम पर sqlite3 टूल सेट अप हो और पाथ में उपलब्ध हो, ताकि Gemini CLI इसका इस्तेमाल कर सके. Gemini CLI लॉन्च करें.
डेटाबेस स्कीमा का डायग्राम यहां दिया गया है:
हम मान लेंगे कि आप database-tasks
नाम के फ़ोल्डर में हैं और Chinook डेटाबेस फ़ाइल का नाम chinook.db
है.
यहां कई प्रॉम्प्ट दिए गए हैं, जिनकी मदद से डेटाबेस के साथ काम किया जा सकता है. हम पहले विकल्प के बारे में आपको कम शब्दों में बताएंगे, ताकि आपको पता चल सके कि किस तरह की अनुमति मांगी जाएगी.
हम डेटाबेस में मौजूद टेबल की सूची बनाने के लिए, प्रॉम्प्ट से शुरुआत करते हैं. हम यह प्रॉम्प्ट देते हैं:
What tables are present in the @chinook.db
यह टूल का इस्तेमाल करके फ़ाइल को पढ़ता है. इसके बाद, ज़रूरी काम करने के लिए, मेरे सिस्टम पर मौजूद sqlite3
यूटिलिटी का इस्तेमाल करना चाहता है:
इसे एक बार चलाने की अनुमति दें. इसके बाद, हमें ज़रूरी आउटपुट मिल जाएगा:
यहां दिए गए प्रॉम्प्ट या अपनी पसंद का कोई अन्य प्रॉम्प्ट आज़माएं:
- कर्मचारियों की संख्या कितनी है?
- इनवॉइस टेबल का स्कीमा क्या है?
- कुल रकम के हिसाब से टॉप तीन इनवॉइस कौनसे हैं और किन खरीदारों ने ये इनवॉइस जनरेट किए हैं?
आपको दिखेगा कि Gemini CLI दो चीज़ों का ध्यान रखता है: आपकी ज़रूरत के हिसाब से सही एसक्यूएल स्टेटमेंट जनरेट करना और सही sqlite3
कमांड देना.
डेटा जनरेट करने के लिए Gemini CLI का इस्तेमाल करना
Gemini CLI को अलग-अलग डेटा फ़ॉर्मैट में डेटा जनरेट करने के लिए कहा जा सकता है. इसमें कॉन्टेंट के कुछ हिस्सों से लेकर JSON डेटा तक कुछ भी शामिल हो सकता है. आपको इसकी नकल करने की ज़रूरत पड़ सकती है. यहां हम डेवलपर/टेस्टर पर लागू होने वाले उदाहरणों पर फ़ोकस करेंगे.
यहाँ कुछ प्रॉम्प्ट दिए गए हैं:
ग्राहकों की समीक्षाओं के सैंपल का JSON डेटा जनरेट करना
Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).
मॉक एपीआई रिस्पॉन्स (JSON) जनरेट करना
Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').
सैंपल डेटाबेस में डेटा डालने के लिए एसक्यूएल स्टेटमेंट जनरेट करना
Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.
डेटा लोड करने/विश्लेषण करने के लिए CSV डेटा जनरेट करना
Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).
कॉन्फ़िगरेशन फ़ाइल (YAML) जनरेट करना
Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.
खास मामलों/पुष्टि के लिए टेस्ट डेटा जनरेट करना
Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).
Gemini CLI की मदद से कोडिंग करना
आइए, Gemini CLI का इस्तेमाल करके किसी ऐप्लिकेशन का कोड लिखें. हम Gemini CLI से एक ऐप्लिकेशन जनरेट करने के लिए कहेंगे. इसके बाद, हम शुरुआती वर्शन को GitHub रिपॉज़िटरी में पुश करेंगे.
ज़रूरी शर्त
इस सेक्शन में दिए गए टास्क पूरे करने के लिए, आपको ये काम करने होंगे:
- Git
- GitHub MCP Server के साथ Gemini CLI (हमने यह पहले ही कर लिया है)
- Git की बुनियादी बातों की जानकारी और प्रोग्रामिंग के बारे में थोड़ी जानकारी
हम मान लेंगे कि आपने Gemini CLI को अपनी पसंद के किसी फ़ोल्डर में लॉन्च किया है. पक्का करें कि एमसीपी सर्वर सही तरीके से शुरू हो गए हों. खास तौर पर, Github एमसीपी सर्वर.
यह प्रॉम्प्ट दें. इसमें अपनी ज़रूरत के हिसाब से बदलाव करें. ध्यान रखें कि Gemini सीएलआई के साथ पूरे सेशन के दौरान, यह आपसे फ़ाइलें बनाने वगैरह की अनुमतियाँ मांगेगा. ज़रूरी अनुमतियाँ दें.
यह भी ध्यान दें कि हमें ऐप्लिकेशन चलाने या उसे टेस्ट करने के लिए Gemini CLI की ज़रूरत नहीं है, क्योंकि हमें कुछ और कंट्रोल चाहिए. हालांकि, यह पूरी तरह से आप पर निर्भर करता है कि आपको ऐसा कैसे करना है.
Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.
I would like you to proceed in the following way:
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally.
पहले जवाब के लिए, मुझे इस तरह के नतीजे मिले. आपको पूरी तरह से अलग जवाब मिल सकता है. इसलिए, प्लान को ध्यान से पढ़ें और ज़रूरत के मुताबिक Gemini CLI से बार-बार इंटरैक्ट करें.
मैंने इसे सर्वर लॉन्च न करने के लिए कहा था. हालांकि, इसने मुझे इसके लिए शेल कमांड दिखाई और पूछा कि क्या यह मेरे लिए इसे एक्ज़ीक्यूट कर सकता है. मैंने ऐसा नहीं किया, ताकि मैं इसे अपने हिसाब से शुरू कर सकूं.
मैंने उसे यह मैसेज दिया:
मैंने निर्देशों का पालन करके सर्वर शुरू कर दिया है. मुझे यह साइट ठीक से काम करती हुई दिख रही है:
Gemini CLI की मदद से, इसमें और भी बदलाव किए जा सकते हैं. हालांकि, फ़िलहाल इतना ही काफ़ी है, क्योंकि हमें इसे Github रिपॉज़िटरी में पुश करना है.
सबसे पहले, .gitignore फ़ाइल बनाते हैं. इसके लिए, हम Gemini CLI की मदद लेंगे.
Create a .gitignore file for this project.
इसलिए, अब हम Gemini CLI को निर्देश देंगे कि वह इस रिपॉज़िटरी को हमारे Github खाते में पुश करे. इससे, Github MCP Server टूल बैकग्राउंड में काम करेंगे.
नीचे दिए गए प्रॉम्प्ट जैसा कोई प्रॉम्प्ट दें:
Great! I would now like to push all of this to a new repository in my Github account. I would like to name this repository <Your-Name>-event-talks-app
यहां कई निर्देश दिए गए हैं:
- रिपॉज़िटरी बनाएं.
- यह लोकल Git रिपॉज़िटरी को मैनेज करने के लिए, Git की कई कमांड का इस्तेमाल करेगा : init, add, commit.
- इसके बाद, यह Git रिमोट को सेट अप करेगा और पुश करेगा
ध्यान दें: कुछ मामलों में, हमने देखा है कि Gemini सीएलआई का इस्तेमाल करते समय टाइम आउट हो सकता है या गलत उपयोगकर्ता नाम का इस्तेमाल किया जा सकता है. इसलिए, इससे इंटरैक्ट करें और गड़बड़ियों को ठीक करने के सुझाव दें.
अगर सब ठीक रहता है, तो आपके पास GitHub डेटा स्टोर करने की जगह होनी चाहिए. यहां एक सैंपल स्क्रीनशॉट दिखाया गया है:
हमने README.md
और अन्य चीज़ें जनरेट नहीं की हैं, जो हम आम तौर पर करते हैं. हालांकि, यह अगले सेक्शन के लिए एक अच्छा अभ्यास है. अब हम उस रिपॉज़िटरी के साथ काम करेंगे जिसे आपने अभी बनाया है.
GitHub रिपॉज़िटरी पर काम करने के लिए Gemini CLI का इस्तेमाल करना
इस उदाहरण में, हम GitHub रिपॉज़िटरी के साथ काम करने के लिए, Gemini CLI का इस्तेमाल करेंगे. हम कई स्थितियों पर गौर करेंगे. इनमें ये शामिल हैं:
- कोड बेस को समझना
- सहायता से जुड़े दस्तावेज़ जनरेट किए जा रहे हैं
- नई सुविधा लागू करना
- बदलावों को कमिट करें और वापस रिपॉज़िटरी में पुश करें
- GitHub की किसी समस्या पर काम करना और सुझाए गए बदलावों को लागू करना
इससे आपको अपनी रिपॉज़िटरी के साथ काम करने और डेवलपर से जुड़े इन कामों के लिए, Gemini CLI को असिस्टेंट के तौर पर इस्तेमाल करने में मदद मिलेगी.
ज़रूरी शर्त
इस सेक्शन में दिए गए टास्क पूरे करने के लिए, आपको ये काम करने होंगे:
- Git
- GitHub MCP Server के साथ Gemini CLI (हमने यह पहले ही कर लिया है)
- Git की बुनियादी बातों के बारे में जानकारी और प्रोग्रामिंग के बारे में थोड़ी जानकारी (हम इस उदाहरण में Node.js का इस्तेमाल करेंगे, क्योंकि हो सकता है कि आपने Gemini CLI इंस्टॉल किया हो और आपके पास पहले से ही यह एनवायरमेंट तैयार हो). हालांकि, बाद में अपनी पसंद की कोई ऐसी रिपॉज़िटरी चुनी जा सकती है जिसमें प्रोग्रामिंग की कोई दूसरी भाषा और फ़्रेमवर्क इस्तेमाल किया गया हो.
- आपने पिछला सेक्शन पूरा कर लिया हो और आपके पास वह रिपॉज़िटरी हो जहां हमने Event Talks वेबसाइट बनाई थी.
आइए, उस फ़ोल्डर/डायरेक्ट्री से Gemini CLI का इस्तेमाल जारी रखें जिसका इस्तेमाल आपने Event Talks ऐप्लिकेशन को जनरेट करने के लिए किया था. अगर ज़रूरत हो, तो रिपॉज़िटरी को अपने लोकल मशीन पर क्लोन करें. इसके बाद, उस डायरेक्ट्री से Gemini CLI शुरू करें. यहां दिए गए उदाहरणों को आज़माएं:
कोड बेस को समझना
- मुझे इस प्रोजेक्ट के बारे में पूरी जानकारी चाहिए. मुझे इसकी मुख्य सुविधाओं के बारे में बताओ. इसके बाद, इसे सर्वर और क्लाइंट साइड में बांटकर समझाओ. कोई सैंपल फ़्लो लेकर, मुझे दिखाओ कि अनुरोध और जवाब कैसे काम करते हैं.
- @server.js के बारे में जानकारी दो
README फ़ाइल जनरेट करना
- इस प्रोजेक्ट के लिए, README फ़ाइल जनरेट करो.
इस मामले में, Gemini CLI ने न सिर्फ़ README फ़ाइल जनरेट की, बल्कि Git रिपॉज़िटरी में जोड़ने के लिए कमांड भी दी. साथ ही, रिमोट में बदलावों को पुश करने के लिए भी कमांड दी. मैंने इसे ऐसा करने की अनुमति दी. इसने मेरे लिए LICENSE फ़ाइल जनरेट करने का भी सुझाव दिया. मैंने इसे ऐसा करने की अनुमति दी.
अब मेरे पास README फ़ाइल और LICENSE फ़ाइल जनरेट हो गई है. साथ ही, बदलावों को Github पर पुश कर दिया गया है.
नई सुविधा लागू करना
- मुझे एक नई सुविधा लागू करनी है. इसमें उपयोगकर्ता को किसी खास स्पीकर से भी खोजने की अनुमति दी जाएगी. सबसे पहले, मुझे इस बदलाव को लागू करने की योजना दिखाएं. इसके बाद, हम कोड जनरेट कर सकते हैं.
इसने मुझे एक प्लान दिया, जिसे मैंने मंज़ूरी दी. इसके बाद, इसने बदलाव किए. बदलावों को आज़माएं. अगर कोई बग मिलता है, तो Gemini CLI से उसे ठीक करने के लिए कहें.
बदलाव सही लगने पर, उन्हें रिमोट रिपॉज़िटरी में सेव करने और पुश करने के लिए, इसी तरीके का इस्तेमाल करें.
सुझाई गई सुविधाओं के आधार पर समस्याएं जनरेट करना
चलिए, यहाँ कुछ दिलचस्प आज़माते हैं. हम Gemini CLI से पूछने वाले हैं कि वह इस ऐप्लिकेशन के उपयोगकर्ता अनुभव को कैसे बेहतर बना सकता है. इसके आकलन के आधार पर, वह उन सुझावों को उसी GitHub रिपॉज़िटरी में समस्याओं के तौर पर बना सकता है. यह GitHub MCP सर्वर के "create_issue" टूल का इस्तेमाल करेगा.
यह प्रॉम्प्ट आज़माएँ:
- हम चाहते हैं कि आप उपयोगकर्ता अनुभव के हिसाब से, ऐप्लिकेशन का आकलन करें. इस्तेमाल में आसानी, तुरंत जवाब देने की सुविधा, मददगार मैसेज वगैरह. कृपया इस दस्तावेज़ को बेहतर बनाने के लिए सुझावों की एक सूची बनाएं. इसके बाद, मैं चाहता/चाहती हूं कि आप उन्हें GitHub रिपॉज़िटरी में समस्याओं के तौर पर जोड़ें.
आमतौर पर, यह सबसे पहले आपके साथ सुधारों को शेयर करेगा. इसके बाद, आपकी अनुमति से Github डेटाबेस में समस्याएं बनाएगा. यहां हमारी जांच का एक सैंपल स्क्रीनशॉट दिया गया है:
GitHub की किसी समस्या पर काम करना और सुझाए गए बदलावों को लागू करना
अब हम पहले जनरेट की गई किसी एक समस्या को चुनकर, Gemini सीएलआई को उस पर काम करने और उसे लागू करने के लिए कह सकते हैं.
यहां, जनरेट की गई समस्या का एक उदाहरण दिया गया है:
समस्या वाले यूआरएल को कॉपी करें और इस तरह का प्रॉम्प्ट दें:
- कृपया समस्या:
<YOUR_ISSUE_URL>
पढ़ें और समझें कि क्या बदलाव करने हैं. पहले प्लान के बारे में बताएं. इसके बाद, कोड में सुझाए गए बदलावों को दिखाएं.
बदलावों को स्वीकार करके, उन्हें रिपॉज़िटरी में पुश करें. समस्या को बंद करने के लिए भी कहा जा सकता है.
7. (ज़रूरी नहीं) GEMINI.md फ़ाइल का इस्तेमाल करके Gemini CLI को अपनी पसंद के मुताबिक बनाना
अगर आपने अब तक Gemini CLI का इस्तेमाल किया है, तो आपने देखा होगा कि हम सिर्फ़ प्रॉम्प्ट देते थे और Gemini CLI से उसे पूरा करने की उम्मीद करते थे. कभी-कभी, हमें ऐसे नतीजे मिलते थे जो हमारी उम्मीद के मुताबिक़ नहीं होते थे. कुछ प्रॉम्प्ट में, हमने यह साफ़ तौर पर बताया है कि क्या करना है. साथ ही, हमने उन निर्देशों को प्रॉम्प्ट में शामिल किया है.
यह आपके निर्देशों और Gemini CLI से मिले नतीजों के हिसाब से ठीक काम कर सकता है. हालांकि, कई मामलों में आपको यह पक्का करना होता है कि यह नियमों का पालन करता हो. ये नियम, इस्तेमाल की जाने वाली प्रोग्रामिंग भाषाओं या फ़्रेमवर्क के बारे में हो सकते हैं. यह कोई खास टूल भी हो सकता है. यह कोडिंग स्टाइल हो सकती है. यह सिर्फ़ जनरेट करने के बारे में नहीं है. ऐसा हो सकता है कि आपको Gemini CLI को "प्लानिंग" मोड में रखना हो. साथ ही, आपको सिर्फ़ एक प्लान चाहिए हो और सिस्टम पर कोई कोड जनरेट न करना हो या फ़ाइलों में बदलाव न करना हो.
GEMINI.md
डालें. यह कॉन्टेक्स्ट फ़ाइल है. यह डिफ़ॉल्ट रूप से GEMINI.md पर सेट होती है, लेकिन इसे contextFileName
सेटिंग के ज़रिए कॉन्फ़िगर किया जा सकता है. यह Gemini मॉडल को दिए गए निर्देशों के कॉन्टेक्स्ट (इसे "मेमोरी" भी कहा जाता है) को कॉन्फ़िगर करने के लिए ज़रूरी है. इस फ़ाइल की मदद से, एआई को प्रोजेक्ट से जुड़े निर्देश, कोडिंग स्टाइल गाइड या कोई भी ज़रूरी बैकग्राउंड जानकारी दी जा सकती है. इससे एआई, आपकी ज़रूरतों के हिसाब से ज़्यादा सटीक और काम के जवाब दे पाता है.
GEMINI.md
फ़ाइल, मार्कडाउन फ़ॉर्मैट में है और यह क्रम के हिसाब से लोड होती है. इसमें कई जगहों से जानकारी शामिल की जाती है.
लोड होने का क्रम यह है:
- ग्लोबल कॉन्टेक्स्ट: **
~/.gemini/GEMINI.md
** (उन निर्देशों के लिए जो आपके सभी प्रोजेक्ट पर लागू होते हैं). - प्रोजेक्ट/पूर्वज का कॉन्टेक्स्ट: सीएलआई,
GEMINI.md
फ़ाइलों को खोजने के लिए, आपकी मौजूदा डायरेक्ट्री से लेकर प्रोजेक्ट रूट तक खोज करता है. - सब-डायरेक्ट्री का कॉन्टेक्स्ट: सीएलआई, सबडायरेक्ट्री में भी
GEMINI.md
फ़ाइलों को स्कैन करता है. इससे कॉम्पोनेंट के हिसाब से निर्देश दिए जा सकते हैं.
मॉडल को भेजे जा रहे कॉन्टेक्स्ट को एक साथ देखने के लिए, /memory show
का इस्तेमाल किया जा सकता है.
GEMINI.md
कैसा दिखता है और हम आधिकारिक दस्तावेज़ से एक बनाते हैं:
# Project: My Awesome TypeScript Library
## General Instructions:
- When generating new TypeScript code, please follow the existing coding style.
- Ensure all new functions and classes have JSDoc comments.
- Prefer functional programming paradigms where appropriate.
- All code should be compatible with TypeScript 5.0 and Node.js 20+.
## Coding Style:
- Use 2 spaces for indentation.
- Interface names should be prefixed with `I` (e.g., `IUserService`).
- Private class members should be prefixed with an underscore (`_`).
- Always use strict equality (`===` and `!==`).
## Specific Component: `src/api/client.ts`
- This file handles all outbound API requests.
- When adding new API call functions, ensure they include robust error handling and logging.
- Use the existing `fetchWithRetry` utility for all GET requests.
## Regarding Dependencies:
- Avoid introducing new external dependencies unless absolutely necessary.
- If a new dependency is required, please state the reason.
आपको दिखेगा कि इसमें कुछ सामान्य निर्देश दिए गए हैं. साथ ही, कोडिंग स्टाइल, डिपेंडेंसी मैनेजमेंट वगैरह के लिए बहुत खास निर्देश दिए गए हैं. यह TypeScript प्रोजेक्ट के लिए एक सैंपल GEMINI.md
फ़ाइल है. हालांकि, अपनी प्रोग्रामिंग भाषा, फ़्रेमवर्क, कोडिंग स्टाइल, और अन्य प्राथमिकताओं के आधार पर, अपनी फ़ाइल लिखी जा सकती है.
आइए, हम कस्टम GEMINI.md
फ़ाइल का इस्तेमाल करके देखते हैं. यह जानकारी, पब्लिश किए गए एक जिस्ट से ली गई है. इसमें बताया गया है कि Gemini CLI को सिर्फ़ प्लान मोड में कैसे इस्तेमाल किया जाता है. फ़ाइल यहां दी गई है:
# Gemini CLI Plan Mode
You are Gemini CLI, an expert AI assistant operating in a special 'Plan Mode'. Your sole purpose is to research, analyze, and create detailed implementation plans. You must operate in a strict read-only capacity.
Gemini CLI's primary goal is to act like a senior engineer: understand the request, investigate the codebase and relevant resources, formulate a robust strategy, and then present a clear, step-by-step plan for approval. You are forbidden from making any modifications. You are also forbidden from implementing the plan.
## Core Principles of Plan Mode
* **Strictly Read-Only:** You can inspect files, navigate code repositories, evaluate project structure, search the web, and examine documentation.
* **Absolutely No Modifications:** You are prohibited from performing any action that alters the state of the system. This includes:
* Editing, creating, or deleting files.
* Running shell commands that make changes (e.g., `git commit`, `npm install`, `mkdir`).
* Altering system configurations or installing packages.
## Steps
1. **Acknowledge and Analyze:** Confirm you are in Plan Mode. Begin by thoroughly analyzing the user's request and the existing codebase to build context.
2. **Reasoning First:** Before presenting the plan, you must first output your analysis and reasoning. Explain what you've learned from your investigation (e.g., "I've inspected the following files...", "The current architecture uses...", "Based on the documentation for [library], the best approach is..."). This reasoning section must come **before** the final plan.
3. **Create the Plan:** Formulate a detailed, step-by-step implementation plan. Each step should be a clear, actionable instruction.
4. **Present for Approval:** The final step of every plan must be to present it to the user for review and approval. Do not proceed with the plan until you have received approval.
## Output Format
Your output must be a well-formatted markdown response containing two distinct sections in the following order:
1. **Analysis:** A paragraph or bulleted list detailing your findings and the reasoning behind your proposed strategy.
2. **Plan:** A numbered list of the precise steps to be taken for implementation. The final step must always be presenting the plan for approval.
NOTE: If in plan mode, do not implement the plan. You are only allowed to plan. Confirmation comes from a user message.
ऊपर दिए गए कॉन्टेंट को GEMINI.md नाम की फ़ाइल में सेव करें. इसके बाद, उसे ~/.gemini/GEMINI.md
में सेव करें. यह वही फ़ोल्डर है जिसमें हमने settings.json फ़ाइल बनाई थी. अगर आपके पास अलग-अलग निर्देश हैं, तो GEMINI.md
फ़ाइल को अपने <current project folder>/.gemini
फ़ोल्डर में रखा जा सकता है. इसके अलावा, अपनी सब-डायरेक्ट्री में एक से ज़्यादा GEMINI.md
फ़ाइलें भी रखी जा सकती हैं.
ऐप्लिकेशन जनरेट करने के लिए कोई प्रॉम्प्ट दें और देखें कि यह कैसा जवाब देता है.
यहां एक और GEMINI.md
फ़ाइल ( Gemini के 'एक्सप्लेन मोड') दी गई है. इसे पढ़कर, अपनी ज़रूरतों के हिसाब से इस्तेमाल किया जा सकता है. इसमें GEMINI CLI को एक इंटरैक्टिव गाइड के तौर पर दिखाया गया है. यह उपयोगकर्ताओं को बातचीत के ज़रिए, जटिल कोडबेस को समझने में मदद करती है.
GEMINI.md
फ़ाइल की मदद से, Gemini CLI को अपनी पसंद के मुताबिक बनाया जा सकता है. हमारा सुझाव है कि आप " Practical Gemini CLI" सीरीज़ देखें. इसमें इस बारे में बताया गया है कि इस फ़ाइल को कैसे बनाया जाता है, इसे अपने प्रोजेक्ट के लिए अपने-आप जनरेट होने की सुविधा कैसे चालू की जाती है, सिस्टम प्रॉम्प्ट को कैसे पसंद के मुताबिक बनाया जाता है, और भी बहुत कुछ.
8. बधाई हो
बधाई हो, आपने Gemini CLI और इसकी क्षमताओं के बारे में जान लिया है. साथ ही, इसे कुछ इस्तेमाल के उदाहरणों पर लागू किया है.