1. परिचय
इस कोडलैब में, आपको Gemini CLI के बारे में जानकारी मिलेगी. यह एक ओपन-सोर्स एआई एजेंट है, जो Gemini की सुविधाओं को सीधे आपके टर्मिनल में उपलब्ध कराता है.
Gemini CLI प्रोजेक्ट ओपन सोर्स है. इसका सार्वजनिक रोडमैप यहाँ देखा जा सकता है.
आपको क्या सीखने को मिलेगा
- Gemini CLI को इंस्टॉल और कॉन्फ़िगर करना
- Gemini CLI में टूल, पहले से मौजूद कमांड एक्सप्लोर करना, और एमसीपी सर्वर कॉन्फ़िगर करना
GEMINI.md
फ़ाइल की मदद से Gemini CLI को पसंद के मुताबिक बनाना- Gemini सीएलआई के इस्तेमाल के कुछ उदाहरण
आपको इन चीज़ों की ज़रूरत होगी
इस कोडलैब को पूरी तरह से Google Cloud Shell में चलाया जा सकता है. इसमें Gemini CLI पहले से इंस्टॉल होता है.
इसके अलावा, अगर आपको अपनी मशीन पर काम करना है, तो Gemini CLI को स्थानीय तौर पर इंस्टॉल करने का एक सेक्शन होता है.
आपको इनकी ज़रूरत होगी:
- Chrome वेब ब्राउज़र
- Gmail खाता
यह कोडलैब, सभी लेवल के उपयोगकर्ताओं और डेवलपर के लिए बनाया गया है. इसमें शुरुआती डेवलपर भी शामिल हैं. कोडलैब में दिए गए इस्तेमाल के उदाहरणों को डेवलपर और नॉन-डेवलपर के टास्क के हिसाब से बांटा गया है. डेवलपर के इस्तेमाल के उदाहरणों से पता चलता है कि Gemini CLI के साथ वाइब कोड का इस्तेमाल कैसे किया जाता है. साथ ही, कोड के बारे में जानकारी/समझना, दस्तावेज़ जनरेट करना, समस्याओं को ठीक करना जैसे सामान्य डेवलपमेंट टास्क करने के लिए, GitHub डेटाबेस के साथ काम कैसे किया जाता है. हमारा सुझाव है कि आप इन इस्तेमाल के उदाहरणों को कोडलैब में पूरा करें. आखिर में एक वैकल्पिक सेक्शन दिया गया है. इसमें रोज़मर्रा के कई ऐसे काम शामिल हैं जो डेवलपर के लिए नहीं हैं.
2. शुरू करने से पहले
प्रोजेक्ट बनाना
- Google Cloud Console में, प्रोजेक्ट चुनने वाले पेज पर जाकर, Google Cloud प्रोजेक्ट चुनें या बनाएं.
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग चालू हो. किसी प्रोजेक्ट के लिए बिलिंग चालू है या नहीं, यह देखने का तरीका जानें.
- आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चलने वाला कमांड-लाइन एनवायरमेंट है. इसमें bq पहले से लोड होता है. Google Cloud Console में सबसे ऊपर मौजूद, Cloud Shell चालू करें पर क्लिक करें.
- Cloud Shell से कनेक्ट होने के बाद, यह देखने के लिए कि आपकी पुष्टि हो चुकी है और प्रोजेक्ट को आपके प्रोजेक्ट आईडी पर सेट किया गया है, इस कमांड का इस्तेमाल करें:
gcloud auth list
- यह पुष्टि करने के लिए कि gcloud कमांड को आपके प्रोजेक्ट के बारे में पता है, Cloud Shell में यह कमांड चलाएं.
gcloud config list project
- अगर आपका प्रोजेक्ट सेट नहीं है, तो इसे सेट करने के लिए इस निर्देश का इस्तेमाल करें:
gcloud config set project <YOUR_PROJECT_ID>
3. इंस्टॉल करना
Gemini CLI को सेटअप करने और चलाने से पहले, हम एक फ़ोल्डर बना लेते हैं. इसका इस्तेमाल, आपके बनाए गए सभी प्रोजेक्ट के लिए होम फ़ोल्डर के तौर पर किया जाएगा. यह Gemini CLI के काम करने के लिए शुरुआती पॉइंट है. हालांकि, यह आपके सिस्टम पर मौजूद कुछ अन्य फ़ोल्डर का भी रेफ़रंस देगा. इनके बारे में आपको बाद में पता चलेगा.
आगे बढ़ें और एक सैंपल फ़ोल्डर (gemini-cli-projects
) बनाएं. इसके बाद, नीचे दिए गए निर्देशों का इस्तेमाल करके उस फ़ोल्डर पर जाएं. अगर आपको किसी दूसरे फ़ोल्डर के नाम का इस्तेमाल करना है, तो कृपया करें.
mkdir gemini-cli-projects
आइए, उस फ़ोल्डर पर जाएं:
cd gemini-cli-projects
gemini कमांड का इस्तेमाल करके, Gemini CLI को सीधे लॉन्च किया जा सकता है.
कृपया सीधे अगले सेक्शन (settings.json फ़ाइल के ज़रिए Gemini CLI को कॉन्फ़िगर करना) पर जाएं.
अगर आपको Gemini CLI को स्थानीय तौर पर इंस्टॉल करना है, तो यहां दिए गए निर्देशों का पालन करें.
सबसे पहले, अपने कंप्यूटर पर Node 20+ इंस्टॉल करें. यह प्रोसेस पूरी होने के बाद, Gemini CLI को इनमें से किसी भी तरीके से इंस्टॉल और चलाया जा सकता है:
- सबसे पहले, अपने सिस्टम पर Gemini CLI को ग्लोबल तौर पर इंस्टॉल करें. यह चरण पूरा करने के लिए, आपके पास एडमिन ऐक्सेस होना चाहिए.
# option 1: install Gemini CLI
npm install -g @google/gemini-cli
# .. and then run
gemini
- इसे इस कमांड के साथ चलाएं:
# option 2: run without installing Gemini CLI
npx https://github.com/google-gemini/gemini-cli
यह पुष्टि की जा सकती है कि CLI इंस्टॉल है या नहीं. इसके लिए, यह कमांड चलाएं:
gemini --version
मान लें कि आपने ऊपर दिए गए किसी भी तरीके से Gemini सीएलआई लॉन्च किया है. इसके बाद, आपको यह स्क्रीन दिखेगी. इसमें आपसे थीम चुनने के बारे में पूछा जाएगा. अपनी पसंद का कोई विकल्प चुनें:
इसे चुनने के बाद, आपसे पुष्टि करने का तरीका पूछा जाएगा. हमारा सुझाव है कि इस लैब में, निजी Google खाते का इस्तेमाल करें. साथ ही, Google Workspace या Google से जुड़े खातों का इस्तेमाल न करें. इस मुफ़्त लाइसेंस से, आपको Gemini 2.5 Pro और इसकी 10 लाख टोकन वाली कॉन्टेक्स्ट विंडो का ऐक्सेस मिलता है. बिना शुल्क वाले टियर में, हर मिनट में 60 मॉडल के अनुरोध और हर दिन 1,000 अनुरोध किए जा सकते हैं. इसके लिए, कोई शुल्क नहीं देना होता.
अगर Google खातों के लिए तय किए गए मौजूदा मुफ़्त कोटे की सीमाएं पूरी हो जाती हैं, तो Gemini API कुंजी का इस्तेमाल किया जा सकता है. इसके अलावा, Google Cloud Vertex AI का इस्तेमाल भी किया जा सकता है. इसके लिए, आपको प्रोजेक्ट आईडी और उस प्रोजेक्ट के लिए जगह का नाम देना होगा. अगर आपको पुष्टि करने के अन्य तरीकों का इस्तेमाल करना है, तो कृपया दस्तावेज़ का पुष्टि सेक्शन देखें.
इसके बाद, Enter पर क्लिक करें. इससे ब्राउज़र में, Google का पुष्टि करने वाला पेज खुलेगा. अपने Google खाते से पुष्टि करने की प्रोसेस पूरी करें और शर्तों को स्वीकार करें. पुष्टि हो जाने के बाद, आपको दिखेगा कि Gemini CLI तैयार है और आपके निर्देश का इंतज़ार कर रहा है. यहां एक सैंपल स्क्रीनशॉट दिया गया है:
4. settings.json फ़ाइल के ज़रिए Gemini CLI को कॉन्फ़िगर करना
Gemini को चलाने के लिए Cloud Shell चुनने पर, Gemini CLI के लिए डिफ़ॉल्ट थीम और पुष्टि करने का तरीका पहले से चुना और कॉन्फ़िगर किया जाता है.
अगर आपने अपनी मशीन पर Gemini CLI इंस्टॉल किया है और इसे पहली बार लॉन्च किया है, तो आपने कोई थीम और फिर पुष्टि करने का कोई तरीका चुना होगा.
अब Gemini CLI को बाद में इस्तेमाल करने पर, आपसे थीम और पुष्टि करने का तरीका फिर से चुनने के लिए नहीं कहा जाएगा. इसका मतलब है कि इसे कहीं सेव किया जा रहा है. साथ ही, इसका इस्तेमाल करने वाली फ़ाइल को settings.json
कहा जाता है. यह Gemini CLI को पसंद के मुताबिक बनाने का तरीका है.
सेटिंग, इस क्रम में लागू होती हैं (Cloud Shell सिर्फ़ उपयोगकर्ता की सेटिंग उपलब्ध कराता है):
- सिस्टम:
/etc/gemini-cli/settings.json
(सभी उपयोगकर्ताओं पर लागू होती है. यह उपयोगकर्ता और Workspace की सेटिंग को बदल देती है). - Workspace:
.gemini/settings.json
(उपयोगकर्ता की सेटिंग को बदलता है). - उपयोगकर्ता:
~/.gemini/settings.json
.
Windows का इस्तेमाल करने वाले लोग: %USERPROFILE%.gemini\settings.json (आम तौर पर, यह C:\Users<YourUsername>.gemini\settings.json में बदल जाता है)
सिस्टम: %ProgramData%\gemini-cli\settings.json (आम तौर पर, यह C:\ProgramData\gemini-cli\settings.json होता है)
Mac का इस्तेमाल करने वाले व्यक्ति: ~/.gemini/settings.json (यह /Users/<YourUsername>/.gemini/settings.json में बदल जाता है)
सिस्टम: /etc/gemini-cli/settings.json
आपको याद होगा कि थीम चुनते समय, आपने सेटिंग को उपयोगकर्ता सेटिंग में सेव करने का विकल्प चुना था. इसलिए, ~/.gemini folder
पर जाएं. आपको settings.json
फ़ाइल दिखेगी.
मेरी settings.json
फ़ाइल यहां दिखाई गई है. अगर आपने कोई दूसरी थीम चुनी थी, तो आपको उसका नाम दिखेगा.
{
"theme": "Default",
"selectedAuthType": "oauth-personal" or "cloud-shell"
}
5. Gemini CLI के साथ हमारा पहला इंटरैक्शन
Gemini CLI का इस्तेमाल शुरू करें और नीचे दिए गए तरीके से अपनी पहली क्वेरी टाइप करें:
Give me a famous quote on Artificial Intelligence and who said that?
यहां अनुमानित जवाब दिखाया गया है:
आपको दिखेगा कि हमारी क्वेरी के नतीजे में, GoogleSearch
टूल (Gemini CLI में पहले से मौजूद टूल) चालू हो गया है. दूसरे शब्दों में कहें, तो आपने Gemini के CLI में पहले से मौजूद एक टूल GoogleSearch
का इस्तेमाल किया है. यह टूल, वेब से मिली जानकारी के आधार पर जवाब देता है. अगले सेक्शन में, आपको टूल के बारे में ज़्यादा जानकारी मिलेगी.
Gemini CLI और इसमें इस्तेमाल की जा सकने वाली अलग-अलग कमांड को आसानी से समझने के लिए, /help
(फ़ॉरवर्ड स्लैश) टाइप करें. इसके बाद, आपको नीचे दी गई इमेज में दिखाए गए तरीके से कई कमांड और कीबोर्ड शॉर्टकट दिखेंगे:
फ़िलहाल, Gemini CLI को बंद करें. इसके लिए, /quit
कमांड का इस्तेमाल करें. इसके अलावा, Gemini सीएलआई के इंटरैक्टिव टर्मिनल सेशन में Ctrl-C
को दो बार दबाकर भी ऐसा किया जा सकता है.
6. Gemini CLI - कमांड पैरामीटर
Gemini CLI शुरू करते समय, कुछ कमांड लाइन पैरामीटर दिए जा सकते हैं. विकल्पों की पूरी सूची देखने के लिए, नीचे दिखाए गए तरीके से --help
का इस्तेमाल किया जा सकता है.
gemini --help
इससे, उपलब्ध सभी विकल्पों की पूरी सूची दिखनी चाहिए. हमारा सुझाव है कि आप यहां दिया गया दस्तावेज़ पढ़ें.
आइए, इनमें से कुछ के बारे में जानें. पहला तरीका यह है कि Gemini सीएलआई को Pro या Flash मॉडल का इस्तेमाल करने के लिए कॉन्फ़िगर किया जाए. फ़िलहाल, इस लैब को लिखते समय, सिर्फ़ इन दो मॉडल का इस्तेमाल किया जा सकता है. डिफ़ॉल्ट रूप से, Gemini 2.5 Pro मॉडल का इस्तेमाल किया जाता है. हालांकि, अगर आपको Flash मॉडल का इस्तेमाल करना है, तो Gemini CLI शुरू करते समय -m
पैरामीटर का इस्तेमाल करके ऐसा किया जा सकता है. इसके बारे में यहां बताया गया है:
gemini -m "gemini-2.5-flash"
आपको दिखेगा कि ऊपर दिए गए तरीके से शुरू करने पर, Gemini CLI टर्मिनल में सबसे नीचे दाईं ओर मॉडल की जानकारी देखी जा सकती है. यह जानकारी यहां दी गई है:
नॉन-इंटरैक्टिव मोड
Gemini CLI को नॉन-इंटरैक्टिव मोड में चलाने का विकल्प भी उपलब्ध है. इसका मतलब है कि आपको सीधे तौर पर प्रॉम्प्ट देना होगा. इसके बाद, Gemini सीएलआई इंटरैक्टिव टर्मिनल खोले बिना ही, आपको जवाब मिल जाएगा. अगर आपको स्क्रिप्ट या किसी अन्य ऑटोमेशन प्रोसेस के तहत, Gemini सीएलआई का इस्तेमाल अपने-आप करना है, तो यह तरीका आपके लिए बहुत काम का है. Gemini CLI को प्रॉम्प्ट देने के लिए, -p पैरामीटर का इस्तेमाल किया जाता है. इसे यहां दिखाया गया है:
gemini -p "What is the gcloud command to deploy to Cloud Run"
ध्यान रखें कि फ़ॉलो अप सवालों के साथ बातचीत जारी रखने का कोई विकल्प नहीं है. इस मोड में, टूल (इसमें WriteFile भी शामिल है) को अनुमति नहीं दी जा सकती. साथ ही, शेल कमांड भी नहीं चलाई जा सकतीं.
7. 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) चालू हो जाते हैं और कॉन्टेंट इस तरह दिखता है:
8. Gemini CLI - शेल मोड
यह Gemini CLI में सीधे तौर पर शेल के साथ काम करने का तरीका जानने का सही समय है. मैसेज बॉक्स में !
दबाकर, शेल मोड में जाया जा सकता है. इससे शेल मोड चालू या बंद हो जाएगा. !
को फिर से दबाकर या ESC
कुंजी को दबाकर, वापस जाया जा सकता है.
शेल मोड में, आपको प्रॉम्प्ट की शुरुआत में !
दिखेगा. यह नीचे दिखाया गया है:
नीचे दिए गए उदाहरण में दिखाए गए तरीके से, pwd
और ls
जैसे स्टैंडर्ड कमांड का इस्तेमाल करके, सीधे तौर पर जांच की जा सकती है. कृपया ध्यान दें कि ये कमांड, Linux टाइप के ओएस के लिए हैं. अगर किसी दूसरे ऑपरेटिंग सिस्टम (Windows) का इस्तेमाल किया जा रहा है, तो कृपया (cd
, dir
, और type
) जैसी मिलती-जुलती कमांड का इस्तेमाल करें. ध्यान दें कि इन कॉल का आउटपुट, मॉडल की कॉन्टेक्स्ट विंडो में शामिल होता है.
आज ही cat
कमांड का इस्तेमाल करके, फ़ाइल का कॉन्टेंट प्रिंट किया जा सकता है.
एक्सरसाइज़: यहां एक छोटी सी एक्सरसाइज़ दी गई है. इसे आज़माकर देखें. अपनी पसंद का आरएसएस फ़ीड चुनें. Gemini CLI को आरएसएस फ़ीड का कॉन्टेंट फ़ेच करने के लिए प्रॉम्प्ट दें. साथ ही, नतीजों को किसी खास तरीके से फ़ॉर्मैट करने के लिए कहें. यह दिन की शुरुआत में किसी काम को अपने-आप शुरू होने की सुविधा देने का एक अच्छा तरीका है. Gemini CLI से यह भी पूछा जा सकता है कि क्या किसी खास क्षेत्र के लिए आरएसएस फ़ीड उपलब्ध है. उदाहरण के लिए, Google Cloud Platform के रिलीज़ नोट.
यहां एक सैंपल प्रॉम्प्ट दिया गया है:
Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.
इस प्रॉम्प्ट को सबसे पहले GoogleSearch टूल को कॉल करना चाहिए, ताकि Google Cloud Platform का आरएसएस फ़ीड मिल सके. इसके बाद, यह WebFetch टूल का इस्तेमाल करके, आरएसएस फ़ीड का कॉन्टेंट हासिल करेगा और उसे दिखाएगा.
9. मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) सर्वर कॉन्फ़िगर करना
एमसीपी सर्वर एक ऐसा ऐप्लिकेशन होता है जो मॉडल कॉन्टेक्स्ट प्रोटोकॉल के ज़रिए, 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): एसएसई एंडपॉइंट का यूआरएल (उदाहरण के लिए, "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 मिनट)
- भरोसा (बूलियन): अगर यह वैल्यू सही है, तो इस सर्वर के लिए टूल कॉल की पुष्टि करने की सभी प्रोसेस को बायपास कर दिया जाता है (डिफ़ॉल्ट: गलत)
- includeTools (string[]): इस MCP सर्वर से शामिल किए जाने वाले टूल के नामों की सूची. अगर इस विकल्प को चुना जाता है, तो इस सर्वर से सिर्फ़ यहां दिए गए टूल उपलब्ध होंगे (व्हाइटलिस्ट का तरीका). अगर कोई टूल नहीं चुना जाता है, तो सर्वर के सभी टूल डिफ़ॉल्ट रूप से चालू हो जाते हैं.
- excludeTools (string[]): इस एमसीपी सर्वर से बाहर रखे जाने वाले टूल के नामों की सूची. यहां दिए गए टूल, मॉडल के लिए उपलब्ध नहीं होंगे. भले ही, सर्वर उन्हें ऐक्सेस करने की अनुमति दे. ध्यान दें: excludeTools को includeTools से ज़्यादा प्राथमिकता दी जाती है. अगर कोई टूल दोनों सूचियों में है, तो उसे बाहर रखा जाएगा.
आइए, हम एक ऐसे मुख्य MCP सर्वर को कॉन्फ़िगर करते हैं जिसकी आपको GitHub के साथ काम करते समय ज़रूरत पड़ सकती है. आपके मन में यह सवाल आ सकता है कि अगर आपके सिस्टम पर Git और उससे जुड़े अन्य टूल पहले से ही सेट अप हैं, तो क्या आपको अब भी GitHub MCP Server की ज़रूरत होगी?
Gemini CLI, आपके सिस्टम पर मौजूद git टूल को चालू करेगा. साथ ही, Gemini CLI को उन टूल का इस्तेमाल करने के लिए भी कहा जा सकता है. इसलिए, ध्यान रखें कि Gemini CLI, आपकी सामान्य भाषा में की गई क्वेरी को आपके सिस्टम पर मौजूद टूल के हिसाब से ट्रांसलेट करने में मदद करेगा. इसके लिए, आपको अपने प्रॉम्प्ट में साफ़ तौर पर यह बताना पड़ सकता है.
अगर आपके सिस्टम पर ये पहले से सेट अप हैं, तो आपको GitHub MCP सर्वर सेट अप करने के लिए, अगले सेक्शन की ज़रूरत नहीं पड़ सकती:
- Git टूल (इसका मतलब है कि आपके सिस्टम पर
git init
,git add
जैसी कमांड इस्तेमाल की जा सकती हैं) gh
: यह कमांड लाइन पर GitHub है. यह पुल अनुरोधों, समस्याओं, और GitHub के अन्य कॉन्सेप्ट को टर्मिनल पर लाता है. यह टर्मिनल, उस जगह के बगल में होता है जहां पहले से ही git और आपके कोड पर काम किया जा रहा है. इसे यहां से इंस्टॉल करें. साथ ही, कुछ कमांड की मदद से इसके सेटअप की पुष्टि करें. खास तौर पर, अपनी मशीन से Github पर पुष्टि करने के लिए.
अगर आपको अब भी Github MCP Server को आज़माना है, तो कृपया अगला सेक्शन देखें. इसके अलावा, इसे स्किप भी किया जा सकता है.
GitHub MCP सर्वर
GitHub का आधिकारिक MCP सर्वर, उन टूल के बारे में ज़रूरी दस्तावेज़ उपलब्ध कराता है जिन्हें वह दिखाता है. साथ ही, उन्हें कॉन्फ़िगर करने का तरीका भी बताता है. Gemini CLI को स्थानीय तौर पर या रिमोटली चलाया जा सकता है. Gemini CLI, रिमोट MCP सर्वर के साथ भी काम करता है.
इस ट्यूटोरियल में, Github में रिमोट एमसीपी सर्वर विकल्प के बारे में बताया गया है. इसके लिए, आपके पास पहले से 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 सर्वर को हाइलाइट किया गया है. साथ ही, उन अलग-अलग टूल को हाइलाइट किया गया है जो अब Gemini CLI के साथ MCP पर काम करने के लिए उपलब्ध हैं.
आइए, ऐसे प्रॉम्प्ट से शुरुआत करते हैं जो GitHub MCP सर्वर के किसी टूल को चालू करेगा. यह प्रॉम्प्ट दें:
ध्यान दें कि यह GitHub MCP सर्वर से सही टूल चुनेगा. हालांकि, अन्य इन-बिल्ट टूल की तरह ही, इसके लिए भी आपको टूल को चालू करने की अनुमति देनी होगी. आगे बढ़ें और देखें कि आपको क्या आउटपुट मिलता है.
अब आपको अपने किसी एक GitHub प्रोजेक्ट के साथ काम करना चाहिए. अपनी क्वेरी आम बोलचाल की भाषा में इस तरह दें:
- मुझे <repo-name> के बारे में बताओ?
- मेरी लोकल मशीन पर <repo-name> को क्लोन करो.
- @<file-name> या @<directory-name> के बारे में जानकारी दो/
- इस रिपॉज़िटरी के अलग-अलग कॉम्पोनेंट कौनसे हैं?
- मैंने ज़रूरी बदलाव कर लिए हैं. क्या GitHub पर बदलावों को पुश किया जा सकता है और इसके लिए, GitHub MCP Server टूल का इस्तेमाल किया जा सकता है.
आपको लैब में आगे चलकर, GitHub MCP Server के साथ काम करने के लिए एक एक्सरसाइज़ मिलेगी.
Context7 MCP Server
Context7, एलएलएम और एआई कोड एडिटर के लिए अप-टू-डेट दस्तावेज़ उपलब्ध कराता है. अगर आपको अपने चुने गए फ़्रेमवर्क के नए दस्तावेज़ के साथ एलएलएम को कॉन्टेक्स्ट देना है, तो Context7 MCP सर्वर को कॉन्फ़िगर करना एक अच्छा विकल्प है.
पक्का करें कि आपकी लाइब्रेरी, Context7 के होम पेज पर दिख रही हो.
यहां एमसीपी सर्वर दिया गया है. इसे आपको settings.json
फ़ाइल में जोड़ना होगा.
"context7": {
"httpUrl": "https://mcp.context7.com/mcp"
}
MCP सर्वर कॉन्फ़िगर हो जाने और Gemini CLI के साथ लोड हो जाने के बाद, आपको Context7 टूल दिखने चाहिए. ये टूल यहां दिखाए गए हैं:
अब अपने प्रॉम्प्ट में ज़्यादा जानकारी दी जा सकती है. साथ ही, Gemini सीएलआई से कहा जा सकता है कि वह किसी XYZ फ़्रेमवर्क का इस्तेमाल करके, ऐप्लिकेशन या कोड स्निपेट जनरेट करते समय, Context7
का इस्तेमाल करे.
यहां एक उदाहरण दिया गया है, जिसमें मुझे 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 के प्रज़ेंटेशन प्रोग्रामैटिक तरीके से बनाए जा सकते हैं, पढ़े जा सकते हैं, और उनमें बदलाव किया जा सकता है.
प्रोजेक्ट में, MCP सर्वर को कॉन्फ़िगर करने का तरीका बताया गया है. आपके पास 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 के साथ काम करता है)
ऊपर दिए गए एमसीपी सर्वर सेट अप करने के निर्देश, इस ब्लॉग पोस्ट में दिए गए हैं.
10. GEMINI.md फ़ाइल का इस्तेमाल करके, Gemini CLI को पसंद के मुताबिक़ बनाना
अगर आपने अब तक Gemini सीएलआई का इस्तेमाल किया है, तो आपने देखा होगा कि हम सिर्फ़ प्रॉम्प्ट देते थे और Gemini सीएलआई से उसे पूरा करने की उम्मीद करते थे. कभी-कभी, हमें ऐसे नतीजे मिलते थे जो हमारी उम्मीद के मुताबिक़ नहीं होते थे. कुछ प्रॉम्प्ट में, आपने यह साफ़ तौर पर बताया है कि क्या करना है. साथ ही, आपने उन निर्देशों को प्रॉम्प्ट में शामिल किया है.
यह आपके निर्देशों के मुताबिक़ ठीक से काम कर सकता है. हालांकि, कई मामलों में आपको यह पक्का करना होता है कि वह नियमों का पालन करता हो. ये नियम, इस्तेमाल की जाने वाली प्रोग्रामिंग भाषाओं या फ़्रेमवर्क के बारे में हो सकते हैं. यह कोई खास टूल भी हो सकता है. यह कोडिंग स्टाइल हो सकती है. यह सिर्फ़ जनरेट करने के बारे में नहीं है. ऐसा हो सकता है कि आपको Gemini CLI को "प्लानिंग" मोड में रखना हो. साथ ही, आपको सिर्फ़ एक प्लान चाहिए हो और सिस्टम पर कोई कोड जनरेट न करना हो या फ़ाइलों में बदलाव न करना हो.
GEMINI.md
डालें. यह कॉन्टेक्स्ट फ़ाइल है. यह डिफ़ॉल्ट रूप से GEMINI.md
पर सेट होती है. हालांकि, इसे settings.json
फ़ाइल में मौजूद 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" सीरीज़ देखें. इसमें इस बारे में बताया गया है कि इस फ़ाइल को कैसे बनाया जाता है, इसे अपने प्रोजेक्ट के लिए अपने-आप जनरेट होने की सुविधा कैसे चालू की जाती है, सिस्टम प्रॉम्प्ट को कैसे पसंद के मुताबिक बनाया जाता है, और भी बहुत कुछ.
ध्यान दें कि Gemini सीएलआई के साथ इंटरैक्ट करते समय, GEMINI.md
फ़ाइल भी बनाई जा सकती है. किसी भी समय, /memory add <some instruction/rule> कमांड का इस्तेमाल किया जा सकता है. Gemini CLI, इसे GEMINI.md
फ़ाइल में जोड़ देगा. Gemini CLI को उसकी मेमोरी में कुछ जोड़ने के लिए, नेचुरल लैंग्वेज का इस्तेमाल किया जा सकता है. जैसे, "GEMINI.md
" के ज़रिए "<कुछ निर्देश/नियम> याद रखो" या "<कुछ निर्देश/नियम> को मेमोरी में जोड़ो" जैसे प्रॉम्प्ट दिए जा सकते हैं.
11. Gemini CLI - कस्टम स्लैश कमांड
आपने अभी-अभी देखा कि प्लान मोड बनाने के लिए, GEMINI.md
को कैसे पसंद के मुताबिक बनाया जाता है. पिछले सेक्शन में, आपको 'एक्सप्लेन मोड' के लिंक भी दिए गए थे.
अगर आपको इन दोनों मोड को कॉन्फ़िगर करना है और Gemini CLI को /plan
या /explain
स्लैश कमांड के ज़रिए इनमें से किसी भी मोड में जाने का निर्देश देना है, तो क्या करें. Gemini CLI में कस्टम स्लैश कमांड की सुविधा इसी काम के लिए उपलब्ध है.
दस्तावेज़ में बताया गया है कि "कस्टम कमांड की मदद से, अपने पसंदीदा या सबसे ज़्यादा इस्तेमाल किए जाने वाले प्रॉम्प्ट को Gemini CLI में निजी शॉर्टकट के तौर पर सेव किया जा सकता है और उनका फिर से इस्तेमाल किया जा सकता है. आपके पास किसी एक प्रोजेक्ट के लिए खास तौर पर तैयार की गई कमांड बनाने का विकल्प होता है. इसके अलावा, ऐसी कमांड भी बनाई जा सकती हैं जो आपके सभी प्रोजेक्ट में उपलब्ध हों. इससे आपके काम करने का तरीका बेहतर होता है और यह पक्का किया जा सकता है कि सभी प्रोजेक्ट में एक जैसा काम हो रहा है."
आइए, हम कुछ कस्टम स्लैश कमांड बनाते हैं: /plan
और /explain
.
अगला चरण यह समझना है कि Gemini CLI, कस्टम कमांड कहाँ से लेता है. दस्तावेज़ के मुताबिक, यह दो जगहों से कमांड ढूंढता है. इन्हें एक खास क्रम में लोड किया जाता है:
- उपयोगकर्ता के निर्देश (ग्लोबल):
~/.gemini/commands/
में मौजूद होते हैं. ये निर्देश, उस हर प्रोजेक्ट में उपलब्ध होते हैं जिस पर काम किया जा रहा है. - प्रोजेक्ट के निर्देश (लोकल): ये
<your-project-root>/.gemini/commands/
में मौजूद होते हैं. ये कमांड, मौजूदा प्रोजेक्ट के लिए खास होती हैं. इन्हें वर्शन कंट्रोल में सेव किया जा सकता है, ताकि इन्हें आपकी टीम के साथ शेयर किया जा सके.
चलिए, उस मौजूदा प्रोजेक्ट फ़ोल्डर को चुनते हैं जहां से आपने Gemini CLI लॉन्च किया है. इसलिए, यह <your-project-root>/.gemini/commands/
फ़ोल्डर होगा. फ़ोल्डर स्ट्रक्चर बनाएं.
हमें इस फ़ोल्डर में क्या बनाना है? हमें दो TOML फ़ाइलों (plan.toml
और explain.toml
) की ज़रूरत है. अगर आपको नेमस्पेस और नाम रखने के नियमों के बारे में ज़्यादा जानना है, तो यहां जाएं.
हर TOML फ़ाइल में दो फ़ील्ड होने चाहिए : description
और prompt
. पक्का करें कि ब्यौरा छोटा और सटीक हो, क्योंकि यह Gemini CLI में कमांड के बगल में दिखेगा. नीचे दिया गया TOML फ़ाइल का सैंपल, कस्टम स्लैश कमांड के बारे में आधिकारिक ब्लॉग पोस्ट से लिया गया है.
यहां plan.toml फ़ाइल का एक सैंपल दिखाया गया है. ध्यान दें कि प्रॉम्प्ट में एक खास प्लेसहोल्डर {{args}}
शामिल है. सीएलआई, इस प्लेसहोल्डर को उस पूरे टेक्स्ट से बदल देगा जो उपयोगकर्ता ने कमांड के नाम के बाद टाइप किया है.
description="Investigates and creates a strategic plan to accomplish a task."
prompt = """
Your primary role is that of a strategist, not an implementer.
Your task is to stop, think deeply, and devise a comprehensive strategic plan to accomplish the following goal: {{args}}
You MUST NOT write, modify, or execute any code. Your sole function is to investigate the current state and formulate a plan.
Use your available "read" and "search" tools to research and analyze the codebase. Gather all necessary context before presenting your strategy.
Present your strategic plan in markdown. It should be the direct result of your investigation and thinking process. Structure your response with the following sections:
1. **Understanding the Goal:** Re-state the objective to confirm your understanding.
2. **Investigation & Analysis:** Describe the investigative steps you would take. What files would you need to read? What would you search for? What critical questions need to be answered before any work begins?
3. **Proposed Strategic Approach:** Outline the high-level strategy. Break the approach down into logical phases and describe the work that should happen in each.
4. **Verification Strategy:** Explain how the success of this plan would be measured. What should be tested to ensure the goal is met without introducing regressions?
5. **Anticipated Challenges & Considerations:** Based on your analysis, what potential risks, dependencies, or trade-offs do you foresee?
Your final output should be ONLY this strategic plan.
"""
explain.toml फ़ाइल भी बनाएं. कॉन्टेंट चुनने के लिए, Gemini के 'एक्सप्लेन मोड' का इस्तेमाल किया जा सकता है.
Gemini CLI को रीस्टार्ट करें. अब आपको दिखेगा कि इसमें स्लैश कमांड (/plan
) है. इसे नीचे दिखाया गया है:
12. इस्तेमाल के उदाहरण
Gemini CLI का इस्तेमाल, कई तरह के कामों के लिए किया जा सकता है. इसका इस्तेमाल डेवलपर और नॉन-डेवलपर, दोनों कर सकते हैं. यहां कुछ उदाहरण दिए गए हैं. अपनी दिलचस्पी के हिसाब से, इनमें से कोई भी या सभी उदाहरण आज़माए जा सकते हैं.
इन सभी मामलों में, प्रॉम्प्ट दिया जाता है. Gemini सीएलआई को लॉन्च करते समय, -p
पैरामीटर का इस्तेमाल करके, Gemini सीएलआई के इंटरैक्टिव मोड या नॉन-इंटरैक्टिव मोड में इसे आज़माया जा सकता है.
Gemini सीएलआई की मदद से वाइब कोडिंग करना
आइए, Gemini CLI का इस्तेमाल करके किसी ऐप्लिकेशन का कोड लिखें. इस टास्क में, आपको Gemini CLI से एक ऐप्लिकेशन जनरेट करने के लिए कहना होगा. इसके बाद, शुरुआती वर्शन को GitHub रिपॉज़िटरी में पुश करना होगा.
ज़रूरी शर्त
इस सेक्शन में दिए गए टास्क पूरे करने के लिए, कुछ ज़रूरी शर्तें हैं:
- Git
- Github MCP Server के साथ Gemini CLI (हमने इसे पहले किया था) या अगर आपने
gh
( Github CLI टूल) सेट अप किया है, तो यह भी काम करेगा. - Git की बुनियादी बातों की जानकारी और प्रोग्रामिंग के बारे में थोड़ी जानकारी
हम मान लेंगे कि आपने Gemini CLI को अपनी पसंद के किसी फ़ोल्डर में लॉन्च किया है. पक्का करें कि एमसीपी सर्वर सही तरीके से शुरू हो गए हों. खास तौर पर, Github एमसीपी सर्वर.
शुरुआती प्रॉम्प्ट से शुरुआत करें. इसमें अपनी ज़रूरत के हिसाब से बदलाव करें. ध्यान रखें कि Gemini CLI के साथ पूरे सेशन के दौरान, यह आपसे फ़ाइलें बनाने वगैरह की अनुमतियां मांगेगा. ज़रूरी अनुमतियां दें.
इस टास्क में, हमें 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, ज़्यादा काम करने की कोशिश करता है. ऐसा भी हो सकता है कि वह आपको ऐसी कमांड दे जिन्हें वह खुद ही एक्ज़ीक्यूट करना चाहता हो. इस अभ्यास के लिए, यह सलाह दी जाती है कि ऐसा न करें, ताकि आपके पास यह तय करने का ज़्यादा कंट्रोल हो कि टास्क को कैसे पूरा किया जाए और आपको सबसे पहले किस चीज़ की पुष्टि करनी है.
उदाहरण के लिए, अगर यह कमांड चलाने का विकल्प देता है, तो इसे बंद करें और नीचे दिए गए तरीके से मैसेज भेजें:
सर्वर शुरू करने और होम पेज पर जाने के लिए दिए गए निर्देशों का पालन करने पर, हमें यहां दिखाई गई सैंपल साइट मिली. अगर आपने एक ही प्रॉम्प्ट का इस्तेमाल किया है, तो आपको मिलती-जुलती साइट का कोई दूसरा वर्शन दिखेगा:
Gemini सीएलआई की मदद से, बदलाव जारी रखे जा सकते हैं. बदलावों से संतुष्ट होने के बाद, इसे 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 Issue पर काम करना और सुझाए गए बदलावों को लागू करना
इससे आपको अपनी रिपॉज़िटरी के साथ काम करने और डेवलपर से जुड़े इन कामों के लिए, Gemini सीएलआई को असिस्टेंट के तौर पर इस्तेमाल करने में मदद मिलेगी.
ज़रूरी शर्त
इस सेक्शन में दिए गए टास्क पूरे करने के लिए, आपको ये काम करने होंगे:
- Git
- Github MCP Server के साथ Gemini CLI (हमने इसे पहले किया था) या अगर आपने
gh
( Github 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 से उसे ठीक करने के लिए कहें.
बदलाव सही लगने पर, उन्हें रिमोट रिपॉज़िटरी में सेव करने और पुश करने के लिए, इसी तरीके का इस्तेमाल करें.
सुझाई गई सुविधाओं के आधार पर समस्याएं जनरेट करना
चलिए, यहाँ कुछ दिलचस्प आज़माते हैं. आपको Gemini CLI से यह पूछना है कि वह इस ऐप्लिकेशन के उपयोगकर्ता अनुभव को कैसे बेहतर बना सकता है. इसके आकलन के आधार पर, वह उन सुझावों को उसी GitHub रिपॉज़िटरी में समस्याओं के तौर पर बना सकता है. यह GitHub MCP सर्वर से "create_issue" टूल का इस्तेमाल करेगा.
यह प्रॉम्प्ट आज़माएँ:
- हम चाहते हैं कि आप उपयोगकर्ता अनुभव के हिसाब से, ऐप्लिकेशन का आकलन करें. इस्तेमाल में आसानी, तुरंत जवाब देने की सुविधा, मददगार मैसेज वगैरह. कृपया इस दस्तावेज़ को बेहतर बनाने के लिए सुझावों की एक सूची बनाएं. इसके बाद, मैं चाहता हूं कि आप उन्हें GitHub रिपॉज़िटरी में समस्याओं के तौर पर जोड़ें.
आमतौर पर, यह सबसे पहले आपके साथ सुधारों को शेयर करेगा. इसके बाद, आपकी अनुमति से GitHub डेटाबेस में समस्याएं बनाएगा. यहां हमारे रन का एक सैंपल स्क्रीनशॉट दिया गया है:
Github Issue पर काम करना और सुझाए गए बदलावों को लागू करना
अब आपके पास, पहले जनरेट की गई किसी समस्या को चुनने का विकल्प है. इसके बाद, Gemini CLI को उस समस्या पर काम करने और उसे लागू करने के लिए कहा जा सकता है.
यहां, जनरेट की गई समस्या का एक उदाहरण दिया गया है:
समस्या वाले यूआरएल को कॉपी करें और इस तरह का प्रॉम्प्ट दें:
- कृपया समस्या:
<YOUR_ISSUE_URL>
पढ़ें और समझें कि क्या बदलाव करने हैं. पहले प्लान के बारे में बताएं. इसके बाद, कोड में सुझाए गए बदलावों को दिखाएं.
बदलावों को स्वीकार करके, उन्हें रिपॉज़िटरी में पुश करें. समस्या को बंद करने के लिए भी कहा जा सकता है.
(वैकल्पिक) रोज़मर्रा के टास्क
यहां दिए गए इस्तेमाल के उदाहरण ऐसे टास्क हैं जिन्हें आपको रोज़ाना करना पड़ सकता है. इनमें फ़ाइलों को फ़ोल्डर में व्यवस्थित करना, वेब से कॉन्टेंट पाना और उसकी खास जानकारी देना, इमेज फ़ाइलों को प्रोसेस करना और उनसे कॉन्टेंट निकालना, डेटाबेस के साथ काम करना वगैरह शामिल है.
आपको जो भी उदाहरण पसंद आए उसे एक्सप्लोर करें.
फ़ाइलें/फ़ोल्डर व्यवस्थित करना
Gemini CLI का इस्तेमाल करके, फ़ाइलों को अलग-अलग फ़ोल्डर में व्यवस्थित किया जा सकता है. अपने कंप्यूटर पर उस फ़ोल्डर पर जाएं जिसमें .txt, .png, .jpg, .pdf, .mp4 वगैरह जैसी कई फ़ाइलें हों. यह फ़ोल्डर, डेस्कटॉप या डाउनलोड फ़ोल्डर हो सकता है.
यहां एक सैंपल फ़ोल्डर दिया गया है. साथ ही, फ़ोल्डर में मौजूद कॉन्टेंट यहां दिखाया गया है. आपके पास अन्य फ़ाइलें भी हो सकती हैं:
उस फ़ोल्डर पर जाएं और Gemini CLI शुरू करें. आपको Gemini CLI से, कुछ फ़ोल्डर बनाने के लिए कहना है: इमेज, दस्तावेज़, वीडियो. इसके बाद, आपको 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 टेबल फ़ॉर्मैट में दिखाओ.
- किसी समाचार वेबसाइट से, समाचार की हेडलाइन और सोर्स निकालना: ‘https://news.google.com/' (या ऐसी ही कोई समाचार साइट) पर जाएं. मुख्य पेज से मुख्य हेडलाइन और उनसे जुड़े खबरों के स्रोत की जानकारी निकालो. इन्हें बुलेट वाली सूची के तौर पर दिखाएं.
- किसी ई-कॉमर्स पेज पर प्रॉडक्ट स्पेसिफ़िकेशन ढूंढना: ‘https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441' (यह किताब का उदाहरण है) पर जाएं. किताब का टाइटल, लेखक, और अन्य जानकारी निकालो. इसे स्ट्रक्चर्ड JSON फ़ॉर्मैट में दिखाएं.
- किसी वीडियो से अवधि को किसी खास फ़ॉर्मैट में निकालो. जैसे, "2 घंटे 37 मिनट 42 सेकंड".
कॉन्टेंट के आधार पर सवालों के जवाब देना (आरएजी की तरह काम करना)
यहां दिए गए हर उदाहरण में, यूआरएल, दिलचस्पी का विषय, और स्थानीय फ़ाइलों के नाम में अपनी ज़रूरत के हिसाब से बदलाव करें. यहां दिए गए फ़ाइल नाम, सैंपल फ़ाइल नाम हैं. इन्हें अपने सिस्टम में मौजूद फ़ाइलों के नामों से बदला जा सकता है.
इनमें से कोई भी स्थिति आज़माएं. हर स्थिति के बगल में प्रॉम्प्ट दिए गए हैं:
- किसी स्थानीय दस्तावेज़ के बारे में सवाल-जवाब: मैंने ‘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 सीएलआई में, Gemini के ज़रिए कई मॉडल इस्तेमाल किए जा सकते हैं. साथ ही, अपनी ज़रूरतों के हिसाब से, अलग-अलग कॉन्टेंट फ़ॉर्मैट वाली फ़ाइलों को प्रोसेस करने के लिए कहा जा सकता है.
आपको Gemini CLI की मदद से, इनवॉइस की कई इमेज प्रोसेस करनी हैं और उनसे अहम जानकारी निकालनी है. यहां दिया गया तरीका अपनाएं:
- अपनी मशीन पर एक फ़ोल्डर बनाएं और यहां दी गई Github repository से कुछ इनवॉइस डाउनलोड करें.
- उस फ़ोल्डर से Gemini CLI लॉन्च करें
इनवॉइस से जानकारी निकालने और उसे टेबल के तौर पर दिखाने के लिए, यह प्रॉम्प्ट दें.
The current folder contains a list of invoice files in Image format. 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.
आपको इस तरह का आउटपुट मिलना चाहिए:
यहाँ एक और उदाहरण दिया गया है, जिसमें अतिरिक्त डिराइव किए गए कॉलम के लिए अनुरोध किया जा सकता है. मान लें कि आपको इनवॉइस की उन सभी देय तारीखों के लिए लाल रंग का क्रॉस इमोजी दिखाना है जो बीत चुकी हैं. इस तरह का प्रॉम्प्ट दिया जा सकता है:
list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.
इससे यह आउटपुट मिलता है:
इसे अपनी उन सभी फ़ाइलों पर लागू करें जो टेक्स्ट के अलावा किसी और फ़ॉर्मैट में हैं.
डेटाबेस के साथ काम करने के लिए 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 file: chinook.db
यह टूल, फ़ाइल को पढ़ने के लिए इसका इस्तेमाल करता है. इसके बाद, ज़रूरी काम करने के लिए, आपके सिस्टम पर मौजूद sqlite3
यूटिलिटी का इस्तेमाल करना चाहता है:
सही आउटपुट पाने के लिए, इसे एक बार चलाने की अनुमति दें:
यहां दिए गए प्रॉम्प्ट या अपनी पसंद का कोई अन्य प्रॉम्प्ट आज़माएं:
- कर्मचारियों की संख्या कितनी है?
- इनवॉइस टेबल का स्कीमा क्या है?
- कुल रकम के हिसाब से टॉप तीन इनवॉइस कौनसे हैं और किन खरीदारों ने ये इनवॉइस जनरेट किए हैं?
आपको दिखेगा कि Gemini CLI दो चीज़ों का ध्यान रखता है: आपकी ज़रूरत के हिसाब से सही SQL स्टेटमेंट जनरेट करना और सही 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).
13. बधाई हो
बधाई हो, आपने Gemini CLI और इसकी क्षमताओं के बारे में जान लिया है. साथ ही, इसे कुछ मामलों में इस्तेमाल भी कर लिया है.