Gemini सीएलआई की मदद से डेवलपमेंट को तेज़ करना

1. खास जानकारी

इस लैब में, Gemini CLI का इस्तेमाल करने पर फ़ोकस किया गया है. यह Google Cloud में ओपन-सोर्स एआई की मदद से काम करने वाला एजेंट है. आपको Gemini CLI का इस्तेमाल करके कई टास्क पूरे करने के बारे में जानकारी मिलेगी. जैसे, मौजूदा कोडबेस को समझना, दस्तावेज़ और यूनिट टेस्ट जनरेट करना, और Python वेब ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) और बैकएंड कॉम्पोनेंट को रीफ़ैक्टर करना.

आपको क्या सीखने को मिलेगा

इस लैब में, आपको इन कामों को करने का तरीका बताया जाएगा:

  • डेवलपर के सामान्य कामों के लिए, Gemini CLI का इस्तेमाल करने का तरीका.

ज़रूरी शर्तें

  • इस लैब को शुरू करने से पहले, यह माना जा रहा है कि आपको Cloud Console और Cloud Shell एनवायरमेंट के बारे में जानकारी है.

2. सेटअप और ज़रूरी शर्तें

Cloud Project का सेटअप

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है. आम तौर पर, आपको इससे कोई फ़र्क़ नहीं पड़ता कि यह क्या है. ज़्यादातर कोडलैब में, आपको अपने प्रोजेक्ट आईडी (आम तौर पर PROJECT_ID के तौर पर पहचाना जाता है) का रेफ़रंस देना होगा. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो कोई दूसरा रैंडम आईडी जनरेट किया जा सकता है. इसके अलावा, आपके पास अपना नाम आज़माने का विकल्प भी है. इससे आपको पता चलेगा कि वह नाम उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. यह प्रोजेक्ट की अवधि तक बना रहता है.
  • आपकी जानकारी के लिए बता दें कि एक तीसरी वैल्यू भी होती है, जिसे प्रोजेक्ट नंबर कहते हैं. इसका इस्तेमाल कुछ एपीआई करते हैं. इन तीनों वैल्यू के बारे में ज़्यादा जानने के लिए, दस्तावेज़ देखें.
  1. इसके बाद, आपको Cloud Console में बिलिंग चालू करनी होगी, ताकि Cloud संसाधनों/एपीआई का इस्तेमाल किया जा सके. इस कोडलैब को पूरा करने में ज़्यादा समय नहीं लगेगा. इस ट्यूटोरियल के बाद बिलिंग से बचने के लिए, संसाधनों को बंद किया जा सकता है. इसके लिए, बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त में आज़माने वाले प्रोग्राम के लिए ज़रूरी शर्तें पूरी करते हैं.

एनवायरमेंट सेटअप करना

Gemini Chat खोलें.

bc3c899ac8bcf488.png

इसके अलावा, खोज बार में "Gemini से पूछें" टाइप करें.

e1e9ad314691368a.png

Google Cloud API के लिए Gemini को चालू करें:

636114fa6e5f0abf.png

अगली स्क्रीन पर जाकर, GCA चालू करें.

8e234b2e282c4413.png

इसे आज़माने के लिए, "Start chatting" पर क्लिक करें और सैंपल के तौर पर दिए गए किसी सवाल का इस्तेमाल करें या अपना प्रॉम्प्ट टाइप करें.

ed120d672468b412.png

ये प्रॉम्प्ट आज़माएँ:

  • Cloud Run के बारे में पांच मुख्य बातें बताओ.
  • आप Google Cloud Run के प्रॉडक्ट मैनेजर हैं. किसी छात्र को पांच मुख्य बातों में Cloud Run के बारे में बताएं.
  • आप Google Cloud Run के प्रॉडक्ट मैनेजर हैं. सर्टिफ़ाइड Kubernetes डेवलपर को, पांच मुख्य बातों में Cloud Run के बारे में बताएं.
  • आप Google Cloud Run के प्रॉडक्ट मैनेजर हैं. आपको एक सीनियर डेवलपर को यह बताना है कि Cloud Run और GKE का इस्तेमाल कब किया जाता है. इसके लिए, पांच मुख्य बातों का इस्तेमाल करें.

काम पूरा होने के बाद, Gemini Cloud Assist की चैट विंडो बंद करें.

बेहतर प्रॉम्प्ट लिखने के बारे में ज़्यादा जानने के लिए, प्रॉम्प्ट गाइड देखें.

Google Cloud के लिए Gemini, आपके डेटा का इस्तेमाल कैसे करता है

निजता बनाए रखने के लिए Google की प्रतिबद्धता

Google, इंडस्ट्री की उन कंपनियों में से एक है जिसने सबसे पहले एआई/मशीन लर्निंग से जुड़ी निजता की नीति पब्लिश की थी. इसमें बताया गया है कि हमारा मानना है कि ग्राहकों के पास, क्लाउड में स्टोर किए गए अपने डेटा की सुरक्षा और उस पर कंट्रोल का सबसे बेहतर लेवल होना चाहिए.

सबमिट किया गया और मिला हुआ डेटा

Gemini से पूछे गए सवालों को प्रॉम्प्ट कहा जाता है. इनमें, Gemini को विश्लेषण करने या काम पूरा करने के लिए सबमिट की गई जानकारी या कोड भी शामिल होता है. Gemini से मिले जवाबों या कोड को पूरा करने के सुझावों को रिस्पॉन्स कहा जाता है. Gemini, अपने मॉडल को ट्रेनिंग देने के लिए, आपके प्रॉम्प्ट या उनके जवाबों का इस्तेमाल नहीं करता.

प्रॉम्प्ट को एन्क्रिप्ट (सुरक्षित) करना

Gemini को प्रॉम्प्ट सबमिट करने पर, आपके डेटा को एन्क्रिप्ट (सुरक्षित) किया जाता है. ऐसा Gemini के मॉडल में इनपुट के तौर पर डेटा ट्रांसफ़र करते समय किया जाता है.

Gemini से जनरेट किया गया प्रोग्राम डेटा

Gemini को Google Cloud के पहले पक्ष के कोड के साथ-साथ, तीसरे पक्ष के चुने गए कोड की मदद से भी ट्रेनिंग दी गई है. आपके कोड की सुरक्षा, जाँच, और असरदार होने की ज़िम्मेदारी आपकी है. इसमें कोड पूरा करने, जनरेट करने या विश्लेषण करने से जुड़ा कोई भी ऐसा कोड शामिल है जो Gemini आपको उपलब्ध कराता है.

Google आपके प्रॉम्प्ट को कैसे मैनेज करता है, इस बारे में ज़्यादा जानें.

3. प्रॉम्प्ट की जांच करने के विकल्प

अगर आपको मौजूदा प्रॉम्प्ट बदलने हैं, तो इसके लिए आपके पास कई विकल्प हैं.

Vertex AI Studio, Google Cloud के Vertex AI प्लैटफ़ॉर्म का हिस्सा है. इसे खास तौर पर जनरेटिव एआई मॉडल को आसानी से और तेज़ी से डेवलप करने और इस्तेमाल करने के लिए डिज़ाइन किया गया है.

Google AI Studio, वेब पर आधारित एक टूल है. इसकी मदद से, प्रॉम्प्ट इंजीनियरिंग और Gemini API के साथ प्रोटोटाइप बनाए जा सकते हैं और एक्सपेरिमेंट किए जा सकते हैं.

Google Gemini का वेब ऐप्लिकेशन (gemini.google.com) एक वेब-आधारित टूल है. इसे Google के Gemini एआई मॉडल की क्षमताओं को एक्सप्लोर करने और उनका इस्तेमाल करने में आपकी मदद करने के लिए डिज़ाइन किया गया है.

4. ऐप्लिकेशन डाउनलोड करना और उसकी जांच करना

सर्च बार के दाईं ओर मौजूद आइकॉन पर क्लिक करके, Cloud Shell चालू करें.

3e0c761ca41f315e.png

अगर अनुमति देने के लिए कहा जाए, तो जारी रखने के लिए "अनुमति दें" पर क्लिक करें.

6356559df3eccdda.png

Git रिपॉज़िटरी को स्थानीय तौर पर क्लोन करने के लिए, टर्मिनल में यहां दी गई कमांड चलाएं.

git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab

"Cloud Shell Editor" शुरू करें.

18ca8f879206a382.png

"calendar-app-lab" फ़ोल्डर खोलें.

7cef847802b51038.png

Cloud Shell Editor में एक नया टर्मिनल शुरू करें.

3336bea9c0e999b9.png

आपका एनवायरमेंट, यहाँ दिए गए स्क्रीनशॉट जैसा दिखना चाहिए.

ae9475871b7d28a6.png

5. Gemini CLI के बारे में जानकारी

Gemini CLI एक ओपन-सोर्स एआई एजेंट है. यह Google Cloud के Gemini मॉडल के साथ इंटिग्रेट होता है. इसकी मदद से डेवलपर, सीधे अपने टर्मिनल से कई काम कर सकते हैं. जैसे, कोडबेस को समझना, दस्तावेज़ और यूनिट टेस्ट जनरेट करना, और कोड को रीफ़ैक्टर करना. Gemini CLI का मुख्य फ़ायदा यह है कि यह डेवलपमेंट वर्कफ़्लो को बेहतर बनाता है. ऐसा इसलिए, क्योंकि यह जनरेटिव एआई की सुविधा को सीधे तौर पर डेवलपर के कमांड-लाइन एनवायरमेंट में उपलब्ध कराता है. इससे कॉन्टेक्स्ट स्विचिंग कम हो जाती है और प्रॉडक्टिविटी बढ़ जाती है.

Qwiklabs एनवायरमेंट के लिए, एनवायरमेंट वैरिएबल सेट करने का यह चरण ज़रूरी नहीं है. अगले चरण पर जाएं.

अगर आपके संगठन ने पैसे चुकाकर Code Assist का लाइसेंस लिया है, तो अपने लोकल एनवायरमेंट में टर्मिनल में Google Cloud प्रोजेक्ट सेट करना न भूलें. ज़्यादा जानकारी.

export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_NAME"

देखें कि आप प्रोजेक्ट फ़ोल्डर के रूट में हैं या नहीं:

cd ~/calendar-app-lab

टर्मिनल विंडो में Gemini CLI शुरू करें:

gemini

आपका एनवायरमेंट, यहाँ दिए गए स्क्रीनशॉट जैसा दिखना चाहिए.

अगर स्थानीय एनवायरमेंट में इन चरणों को पूरा किया जा रहा है, तो अपने आईडीई के साथ इंटिग्रेशन चालू किया जा सकता है.

/ide disable | enable कमांड चलाकर, इसे कभी भी बदला जा सकता है.

eaee08868abb4ccd.png

अगर Qwiklabs एनवायरमेंट में लैब चलाया जा रहा है, तो "Use Cloud Shell user credentials" चुनें.

अगर ऐसा नहीं है, तो Gemini CLI की पुष्टि करने के लिए, यह कमांड चलाएं और "Login with Google" चुनें:

/auth

सीएलआई को रीस्टार्ट करने के बाद, आपको दिए गए लिंक पर जाकर ऐप्लिकेशन को अनुमति देने के लिए कहा जाएगा.

390e8cbd9a32e8eb.png

लिंक खोलें और Qwiklabs के छात्र खाते के क्रेडेंशियल से साइन इन करने के लिए, यह तरीका अपनाएं. 24c1671a3c14b61d.png

पुष्टि करने वाले कोड को कॉपी करें और टर्मिनल पर वापस जाकर, कोड चिपकाकर प्रोसेस पूरी करें.

पुष्टि करने के तरीके की पुष्टि करने के लिए, यह कमांड चलाएं:

/about

f15a4036437b84d5.png

6. कोड बेस को समझना

Gemini CLI का इस्तेमाल करके, कोडबेस को आसानी से समझा जा सकता है. इसके लिए, Gemini CLI से फ़ाइलों या डायरेक्ट्री के मकसद के बारे में खास जानकारी देने के लिए कहें. साथ ही, उससे कोड के मुश्किल फ़ंक्शन या सेक्शन के बारे में बताने के लिए कहें. इससे डेवलपर को नए प्रोजेक्ट पर तुरंत काम शुरू करने या मौजूदा कोड के उन हिस्सों को समझने में मदद मिलती है जिनके बारे में उन्हें जानकारी नहीं है. इसके लिए, उन्हें मैन्युअल तरीके से कोड की बारीकी से जांच करने की ज़रूरत नहीं पड़ती.

कोडबेस के बारे में ज़्यादा जानने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें:

Don't suggest any changes. Explain this codebase to me.

आउटपुट की समीक्षा करें:

63b57c91fd0e90a8.png

7. ऐप्लिकेशन को स्थानीय तौर पर शुरू करना

Gemini CLI की मदद से, Python ऐप्लिकेशन को स्थानीय तौर पर चलाना आसान हो जाता है. यह ज़रूरी कॉन्फ़िगरेशन फ़ाइलें अपने-आप जनरेट करने में आपकी मदद करता है. जैसे, requirements.txt या बुनियादी Dockerfile. इसके अलावा, यह Python की डिपेंडेंसी मैनेज करने और समस्याओं को हल करने के लिए भी बेहतरीन है. ऐसा इसलिए, क्योंकि यह पैकेज मौजूद न होने या वर्शन के टकराव की वजह से होने वाली ट्रेसबैक गड़बड़ियों के बारे में तुरंत बता सकता है. साथ ही, अक्सर समस्या को ठीक करने के लिए, pip install कमांड का सटीक सुझाव भी दे सकता है.

ऐप्लिकेशन को स्थानीय तौर पर लॉन्च करने के लिए, Gemini CLI टर्मिनल में यह प्रॉम्प्ट डालें:

Run this app locally

आवेदन शुरू करने के लिए, दिए गए निर्देशों का पालन करें:

d1fefa449b733c15.png

ऐप्लिकेशन की झलक देखने के लिए, इस लिंक पर क्लिक करें:

695fc8a1abab0aa7.png

आउटपुट का उदाहरण:

e9f986d9088b4419.png

d2bb703195b4f99.png

8. दस्तावेज़ जोड़ना

Gemini CLI, दस्तावेज़ बनाने और टिप्पणी करने के लिए असरदार है. इसकी मदद से, फ़ंक्शन या क्लास के लिए तुरंत docstring जनरेट की जा सकती हैं. इसका इस्तेमाल, मुश्किल या अनजान कोड ब्लॉक में जानकारी देने वाली इनलाइन टिप्पणियां तुरंत जोड़ने के लिए भी किया जा सकता है. इससे कोडबेस को समझने में आसानी होती है और उसे बनाए रखने में मदद मिलती है.

ऐप्लिकेशन में मौजूद हर Python फ़ाइल में टिप्पणियां जोड़ने के लिए, Gemini CLI टर्मिनल का इस्तेमाल करें और यह प्रॉम्प्ट डालें:

Add docstrings to all files

सुझाए गए बदलावों को स्वीकार करें. अगर IDE इंटिग्रेशन चालू है, तो यूज़र इंटरफ़ेस (यूआई) कंट्रोल का इस्तेमाल करके या टर्मिनल में Enter दबाकर, अनुरोध स्वीकार किया जा सकता है और आगे बढ़ा जा सकता है. "ctrl+y" की मदद से, अपने-आप मंज़ूरी मिलने वाला मोड(YOLO) भी चालू किया जा सकता है.

a41d76b77290cc10.png

नीचे दिए गए प्रॉम्प्ट का इस्तेमाल करके, .gitignore फ़ाइल को अपडेट करें:

update .gitignore and add __pycache__ folder

सोर्स कंट्रोल व्यू पर स्विच करें और अब तक किए गए बदलावों की समीक्षा करें:

2c41f8b842573384.png

9. यूनिट टेस्ट जोड़ना

Gemini CLI, यूनिट टेस्ट लिखने के लिए बेहतरीन है. इसकी मदद से डेवलपर, मौजूदा फ़ंक्शन के सिग्नेचर और लॉजिक के आधार पर टेस्ट फ़ंक्शन जनरेट कर सकते हैं. इसमें शुरुआती दावे और मॉक सेटअप भी शामिल होते हैं. हालांकि, डेवलपर को जनरेट की गई टेस्ट की समीक्षा और पुष्टि करनी होगी. इससे यह पक्का किया जा सकेगा कि वे सभी ज़रूरी एज केस को सही तरीके से कवर करते हैं और सिर्फ़ आसान पाथ एक्ज़ीक्यूशन को नहीं.

यूनिट टेस्ट जनरेट करने के लिए, यहां दिए गए प्रॉम्प्ट का इस्तेमाल करें:

Generate unit tests for @calendar.py

बदलावों की समीक्षा करने के बाद, उन्हें स्वीकार करें.

6b59d78b83152a22.png

नई डिपेंडेंसी इंस्टॉल करें और टेस्ट चलाएं. Gemini CLI, जनरेट किए गए कोड को तब तक लूप में मॉनिटर करता रहेगा, उसमें बदलाव करता रहेगा, और उसे फिर से चलाता रहेगा, जब तक टेस्ट पास नहीं हो जाते और कोड की पुष्टि नहीं हो जाती.

ec1a4fbb2d340384.png

10. बग की जांच करना

Gemini CLI, लॉजिक में मौजूद गड़बड़ियों की जाँच करने में मदद कर सकती है. इसके लिए, आपको इसे कोड स्निपेट की समीक्षा और विश्लेषण करने का निर्देश देना होगा. इससे, लॉजिक से जुड़ी संभावित गड़बड़ियों, एक से ज़्यादा गड़बड़ियों या शर्तों को गलत तरीके से हैंडल करने की पहचान की जा सकती है. कोड के काम करने के तरीके के बारे में बताकर और सीएलआई से गड़बड़ियों का पता लगाने के लिए कहकर, कोड चलाने से पहले ही छोटी-मोटी गड़बड़ियों का पता लगाया जा सकता है.

कन्वर्ज़न लॉजिक में किसी भी तरह की गड़बड़ी की जांच करने के लिए, Gemini सीएलआई में यह प्रॉम्प्ट भेजें:

Are there any bugs in the conversion logic? Check if negative numbers are handled properly.

सुझाए गए बदलावों की समीक्षा करें और उन्हें चैट में स्वीकार करें:

54ef65ded5462b34.png

11. Refactor UI

Gemini CLI, यूज़र इंटरफ़ेस (यूआई) को फिर से व्यवस्थित करने में आपकी काफ़ी मदद कर सकता है. यह पुराने यूज़र इंटरफ़ेस (यूआई) पैटर्न (जैसे, क्लास कॉम्पोनेंट) को नए और ज़्यादा मॉडर्न फ़ंक्शनल पैराडाइम (जैसे, React में हुक) में बदलने में आपकी मदद करता है. इसके अलावा, यह बेहतर रखरखाव के लिए स्ट्रक्चर में सुधार करने का सुझाव भी देता है. इसका इस्तेमाल, मौजूदा यूज़र इंटरफ़ेस (यूआई) कोड का विश्लेषण करने और उसे फिर से तैयार करने के लिए किया जा सकता है. इससे, कोड को ज़्यादा मॉड्यूलर और दोबारा इस्तेमाल किए जा सकने वाले कॉम्पोनेंट में बदला जा सकता है. साथ ही, यह पक्का किया जा सकता है कि इंटरफ़ेस का डिज़ाइन ज़्यादा साफ़ और स्टैंडर्ड हो.

Gemini सीएलआई में यह प्रॉम्प्ट सबमिट करके, Bootstrap लाइब्रेरी का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) को फिर से व्यवस्थित करें:

Refactor UI to use Bootstrap library

बदलावों की समीक्षा करें और उन्हें स्वीकार करें:

16e6ca14e703127.png

शुरू करने के लिए, ऐप्लिकेशन लॉन्च करें. अगर यह पहले से चल रहा है, तो पेज को फिर से लोड करें.

python3 main.py

पेज को फिर से लोड करें और बदलाव देखें.

b52a709e902040e3.png

54664e527bcd9227.png

गड़बड़ी होने पर, गड़बड़ी वाला पेज दिखाने के लिए, गड़बड़ी ठीक करने की सुविधा लागू करें.

Implement error handling to display an error page when issues occur.

अपडेट देखने के लिए, कृपया पेज को रीफ़्रेश करें.

गड़बड़ी वाले पेज की पुष्टि करने के लिए, कोई नेगेटिव नंबर भेजें.

82e16d4cf25933db.png

12. बैकएंड को रीफ़ैक्टर करना

Gemini CLI, बैकएंड रिफ़ैक्टरिंग के लिए असरदार है. यह लेगसी फ़्रेमवर्क कोड को आधुनिक विकल्पों पर माइग्रेट करने में मदद करता है. इसके अलावा, यह मोनोलिथिक सेवाओं को ज़्यादा आसानी से मैनेज किए जा सकने वाले माइक्रोसेवा कॉम्पोनेंट में फिर से स्ट्रक्चर करने में भी मदद करता है. यह सर्वर-साइड लॉजिक का विश्लेषण करके, डेटाबेस क्वेरी के बेहतर पैटर्न या ज़्यादा असरदार एपीआई एंडपॉइंट डिज़ाइन का सुझाव दे सकता है. इससे यह पक्का किया जा सकता है कि परफ़ॉर्मेंस और स्केलेबिलिटी को बनाए रखा जाए या बेहतर बनाया जाए.

कन्वर्ज़न अनुरोधों को मेमोरी में सेव करने के लिए, बैकएंड में बदलाव करें.

Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.

चैट में किए गए बदलावों की समीक्षा करें और उन्हें स्वीकार करें:

19cfa20552fb3a01.png

ऐप्लिकेशन को कई अनुरोध सबमिट करें. इसके बाद, इतिहास पेज की समीक्षा करें.

ac5639d18b341b0a.png

कन्वर्ज़न के अनुरोधों का इतिहास देखें.

9ca680e193510640.png

मौजूदा कोडबेस की स्थिति के साथ README.md फ़ाइल को अपडेट करने के लिए, Gemini CLI के ज़रिए यह प्रॉम्प्ट भेजें:

analyze README.md file and update it with latest codebase state

आउटपुट की समीक्षा करें. अगर आपने Cloud Shell इंटिग्रेशन चालू किया है, तो बदलावों को ऐक्सेस करने के लिए यूज़र इंटरफ़ेस (यूआई) कंट्रोल का इस्तेमाल किया जा सकता है. इसके अलावा, टर्मिनल से भी ऐसा किया जा सकता है.

13. Gemini CLI में पहले से मौजूद टूल

Gemini CLI में ऐसे टूल शामिल होते हैं जो Gemini मॉडल को आपके लोकल एनवायरमेंट के साथ इंटरैक्ट करने, जानकारी ऐक्सेस करने, और कार्रवाइयां करने में मदद करते हैं. इन टूल से, CLI की क्षमताओं को बेहतर बनाया जा सकता है. इससे, यह सिर्फ़ टेक्स्ट जनरेट करने के अलावा, कई अन्य कामों में भी मदद कर सकता है.

उपलब्ध टूल देखने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें:

/tools

आउटपुट की समीक्षा करें.

e5ef2d9b81f6c10.png

Gemini CLI, दिए गए टास्क के आधार पर सबसे सही बिल्ट-इन टूल को समझदारी से चुनता है. इससे, यह आपके अनुरोध और उपलब्ध सुविधाओं को समझकर, मुश्किल कार्रवाइयां कर पाता है. पहले से मौजूद टूल के बारे में ज़्यादा जानें.

14. Gemini CLI Repo Init Command

Gemini CLI में, प्रोजेक्ट का विश्लेषण करने और GEMINI.md फ़ाइल बनाने के लिए एक कमांड शामिल होती है.

GEMINI.md फ़ाइल जनरेट करने के लिए, Gemini CLI का इस्तेमाल करके यह प्रॉम्प्ट भेजें:

/init

आउटपुट की समीक्षा करें. इस कमांड से GEMINI.md फ़ाइल बनेगी. इसमें प्रोजेक्ट के मकसद, टेक्नोलॉजी, बनाने/चलाने के निर्देशों, और डेवलपमेंट से जुड़ी शर्तों के बारे में जानकारी होगी, ताकि आने वाले समय में इसका इस्तेमाल किया जा सके.

अपने प्रोजेक्ट की GEMINI.md फ़ाइल में कौनसे निर्देश या कॉन्टेक्स्ट शामिल करने हैं, यह समझने के लिए, gemini-cli रिपॉज़िटरी में मौजूद GEMINI.md फ़ाइल देखें.

15. Gemini सीएलआई में पसंद के मुताबिक बनाए गए निर्देश

Gemini CLI में कस्टम कमांड का इस्तेमाल करके, डेवलपमेंट वर्कफ़्लो को बेहतर बनाया जा सकता है और एक जैसा अनुभव बनाए रखा जा सकता है. ये कमांड, ज़्यादा इस्तेमाल किए जाने वाले प्रॉम्प्ट के लिए निजी शॉर्टकट के तौर पर काम करती हैं. आपके पास ऐसी कमांड बनाने का विकल्प होता है जो किसी एक प्रोजेक्ट के लिए खास तौर पर बनाई गई हों. इसके अलावा, आपके पास उन्हें अपने सभी प्रोजेक्ट के लिए उपलब्ध कराने का विकल्प भी होता है.

इस रिपॉज़िटरी में, .gemini/commands फ़ोल्डर में मौजूद कई कस्टम कमांड शामिल हैं.

डायग्राम बनाने के लिए कस्टम कमांड

Mermaid फ़ॉर्मैट में अनुरोध फ़्लो डायग्राम जनरेट करने के लिए, Gemini सीएलआई में यह प्रॉम्प्ट भेजें.

टूल कॉल स्वीकार करें, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना.

/diagram:new request flow for this app

आउटपुट की समीक्षा करें.

a85a31f482a2cc7d.png

अगर आपको डायग्राम की झलक देखनी है, तो Marketplace से Mermaid Chart एक्सटेंशन इंस्टॉल करें.

22d4a002e2137b55.png

फ़ाइल खोलें और कॉन्टेक्स्ट मेन्यू से 'झलक देखें' को चुनें.

bccf0ae8ac46415f.png

c669fcd96c34662.png

डेक बनाने के लिए कस्टम कमांड

Marp फ़ॉर्मैट में मुख्य बातों वाला डेक जनरेट करने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें.

टूल कॉल स्वीकार करें, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना.

/deck:new key points and details for this app

आउटपुट की समीक्षा करें.

c9aa767796204c7c.png

यह चरण Cloud Shell के साथ काम नहीं करता, क्योंकि Marp एक्सटेंशन के लिए वेब ब्राउज़र इंस्टॉल करना ज़रूरी है.

डेक को सेव करने के लिए, Marketplace से VS Code एक्सटेंशन के लिए Marp इंस्टॉल करें.

a9d339718cbfcd9.png

इसके अलावा, जनरेट की गई फ़ाइल को एडिटर में खोलें और कमांड पैलेट से "Marp: Export Slide Deck" चुनें.

91143fe81f7f5d71.png

नई सुविधा लागू करने के लिए कस्टम कमांड

यूज़र इंटरफ़ेस (यूआई) को फिर से व्यवस्थित करने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें.

टूल कॉल स्वीकार करें, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना.

/plan:new refactor UI to use Materialize CSS

आउटपुट की समीक्षा करें.

552dbe189a493f91.png

पहले जनरेट किए गए प्लान के आधार पर, Gemini CLI के ज़रिए यह प्रॉम्प्ट सबमिट करके, यूज़र इंटरफ़ेस (यूआई) को फिर से बनाने की प्रोसेस शुरू करें.

टूल कॉल स्वीकार करें, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना. "ctrl+y" का इस्तेमाल करके, टूल के अपने-आप मंज़ूरी मिलने वाले मोड(YOLO mode) को चालू किया जा सकता है.

/plan:impl implement the plan to refactor the app

a3ceec7146f285e0.png

ऐप्लिकेशन को शुरू/फिर से लोड करें और आउटपुट की समीक्षा करें:

fd0675f713d361e4.png

7352b93acabfb5be.png

16. Gemini CLI का नॉन-इंटरैक्टिव मोड

CI/CD पाइपलाइन में नॉन-इंटरैक्टिव मोड में Gemini CLI को चलाने पर, कई टास्क को ऑटोमेट किया जा सकता है. इसके लिए, आपको प्रॉम्प्ट और कमांड को सीधे तौर पर CLI में पास करना होगा. इसमें मैन्युअल तरीके से कोई कार्रवाई करने की ज़रूरत नहीं होती. इससे कोड का विश्लेषण करने, दस्तावेज़ जनरेट करने, और डेवलपमेंट से जुड़े अन्य कामों के लिए, ऑटोमेटेड वर्कफ़्लो में आसानी से इंटिग्रेट किया जा सकता है.

एक नया टर्मिनल खोलें या Gemini CLI के मौजूदा सेशन को बंद करें और इस कमांड को चलाएं.

gemini -p "Explain the architecture of this codebase"

आउटपुट की समीक्षा करें.

अगर आपके टास्क के लिए टूल की मंज़ूरी ज़रूरी है, तो -y फ़्लैग का इस्तेमाल करके YOLO मोड चालू किया जा सकता है.

gemini -p "Explain the architecture of this codebase and save the file in the markdown format in the docs folder" -y

आउटपुट की समीक्षा करें.

नॉन-इंटरैक्टिव मोड में Gemini CLI का इस्तेमाल करके, CI/CD पाइपलाइन की ऑटोमेशन क्षमताओं को बेहतर बनाया जा सकता है. इससे डेवलपमेंट साइकल ज़्यादा असरदार होते हैं और कोड की क्वालिटी बेहतर होती है.

17. Gemini CLI का शेल मोड

एलएलएम, मुश्किल कामों को हैंडल करते हैं. वहीं, सीधे तौर पर दिए गए निर्देश, आसान कामों के लिए ज़्यादा असरदार होते हैं. ! prefix की मदद से, एआई और पारंपरिक कमांड-लाइन इंटरफ़ेस के बीच आसानी से स्विच किया जा सकता है.

!ls

आउटपुट की समीक्षा करें. शेल मोड से बाहर निकलने के लिए, Escape दबाएं.

18. Gemini CLI MCP की सुविधा

Gemini CLI, मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) के ज़रिए Jira, Confluence या GitHub जैसे तीसरे पक्ष के सिस्टम के साथ इंटिग्रेट हो सकता है. यह MCP सर्वर के कस्टम टूल इंटिग्रेशन के ज़रिए किया जाता है. इससे Gemini CLI, JIRA टिकट बना सकता है या उन्हें अपडेट कर सकता है, Confluence पेजों से जानकारी फ़ेच कर सकता है, पुल अनुरोध बना सकता है वगैरह.

कॉन्फ़िगरेशन फ़ाइल बनाने के लिए, टर्मिनल में यह कमांड चलाएं या शेल मोड का इस्तेमाल करें.

echo '{
    "mcpServers": {
        "context7": {
            "httpUrl": "https://mcp.context7.com/mcp"
        }
    }
}' > .gemini/settings.json

Gemini CLI सेशन शुरू करें:

gemini

कॉन्फ़िगर किए गए एमसीपी सर्वर की पुष्टि करें:

/mcp

आउटपुट की समीक्षा करना

c80d95544cc3436a.png

कॉन्फ़िगर किए गए एमसीपी सर्वर की जांच करने के लिए, प्रॉम्प्ट भेजें:

use context7 tools to look up how to implement flex grid in react mui library 

टूल को अनुमति दें और आउटपुट की समीक्षा करें.

b51db5af09bd3f02.png

19. आपके लोकल एनवायरमेंट के लिए, एमसीपी सर्वर के कॉन्फ़िगरेशन का उदाहरण

इस कॉन्फ़िगरेशन का इस्तेमाल करके, अपने लोकल एनवायरमेंट में एक से ज़्यादा MCP सर्वर कॉन्फ़िगर किए जा सकते हैं.

{
    "mcpServers": {
        "Snyk Security Scanner": {
            "command": "snyk",
            "args": [
                "mcp",
                "-t",
                "stdio",
                "--experimental"
            ],
            "env": {}
        },
        "atlassian": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-remote",
                "https://mcp.atlassian.com/v1/sse"
            ]
        },
        "playwright": {
            "command": "npx",
            "args": [
                "@playwright/mcp@latest"
            ]
        },
        "github": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-github"
            ],
            "env": {
                "GITHUB_PERSONAL_ACCESS_TOKEN": "******"
            }
        }
    }
}

इस कॉन्फ़िगरेशन में मौजूद एमसीपी सर्वर, Gemini CLI एजेंट को डाइनैमिक डेवलपमेंट और सहयोग करने वाले टूल में बदल देते हैं. ऐसा इसलिए होता है, क्योंकि ये सर्वर बाहरी सिस्टम को स्टैंडर्ड ऐक्सेस देते हैं. खास तौर पर, Snyk Security Scanner सर्वर, एजेंट को आपके मौजूदा वर्कस्पेस से बाहर निकले बिना, कोड और डिपेंडेंसी में मौजूद कमज़ोरियों की जांच करने की अनुमति देता है. वहीं, Atlassian सर्वर, Jira और Confluence से कनेक्ट होता है. इससे Gemini CLI को आम भाषा का इस्तेमाल करके, समस्याओं या दस्तावेज़ों को बनाने, खोजने, और अपडेट करने की सुविधा मिलती है. इसके अलावा, Playwright सर्वर, एजेंट को ब्राउज़र ऑटोमेशन की सुविधाएं देता है. इससे एजेंट, वेब पर नेविगेट कर पाता है और टेस्टिंग या डेटा निकालने जैसे टास्क के लिए वेब से इंटरैक्ट कर पाता है. आखिर में, Github सर्वर, एजेंट को आपकी रिपॉज़िटरी का कॉन्टेक्स्ट के हिसाब से सीधा ऐक्सेस देता है. इससे एजेंट, पीआर मैनेज कर पाता है, समस्याओं को प्राथमिकता के हिसाब से व्यवस्थित कर पाता है, और कोडबेस का विश्लेषण कर पाता है. इससे कॉन्टेक्स्ट स्विचिंग में काफ़ी कमी आती है और आपके पूरे डेवलपमेंट वर्कफ़्लो में बेहतर तरीके से काम करने में मदद मिलती है.

20. Gemini CLI के बारे में खास जानकारी

निष्कर्ष के तौर पर, Gemini CLI एक बेहतरीन और कई तरह के काम करने वाला ओपन-सोर्स एआई एजेंट है. यह Google Cloud के Gemini मॉडल के साथ आसानी से इंटिग्रेट हो जाता है. इससे डेवलपर की प्रॉडक्टिविटी काफ़ी बढ़ जाती है. इस लैब में, हमने इसकी क्षमताओं के बारे में जाना. हमने देखा कि यह डेवलपमेंट से जुड़े कई सामान्य कामों को आसान बना सकता है. जैसे, जटिल कोडबेस को समझना, ज़रूरी दस्तावेज़ और यूनिट टेस्ट जनरेट करना. साथ ही, Python वेब ऐप्लिकेशन के फ़्रंटएंड और बैकएंड कॉम्पोनेंट को बेहतर तरीके से रीफ़ैक्टर करना. Gemini CLI का इस्तेमाल करके, डेवलपर कॉन्टेक्स्ट स्विचिंग को कम कर सकते हैं, बार-बार होने वाली प्रोसेस को ऑटोमेट कर सकते हैं, और आखिर में ज़्यादा बेहतर कोड को ज़्यादा कुशलता से डिलीवर कर सकते हैं. जनरेटिव एआई की मदद से कमांड लाइन पर सीधे तौर पर काम करने की इसकी क्षमता, डेवलपमेंट के काम करने के तरीके में वाकई में बड़ा बदलाव लाती है.

21. बधाई हो!

बधाई हो, आपने कोडलैब पूरा कर लिया है!

हमने इन विषयों पर बात की:

  • डेवलपर के सामान्य कामों के लिए Gemini CLI का इस्तेमाल करना

आगे क्या करना है:

  • प्रैक्टिकल ट्रेनिंग वाले और सेशन जल्द ही उपलब्ध होंगे!

व्यवस्थित करें

इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने के लिए, संसाधनों वाला प्रोजेक्ट मिटाएं. इसके अलावा, प्रोजेक्ट को बनाए रखने और अलग-अलग संसाधनों को मिटाने का विकल्प भी है.

प्रोजेक्ट मिटाना

बिलिंग बंद करने का सबसे आसान तरीका यह है कि ट्यूटोरियल के लिए बनाया गया प्रोजेक्ट मिटा दें.

©2024 Google LLC सभी अधिकार सुरक्षित हैं. Google और Google का लोगो, Google LLC के ट्रेडमार्क हैं. दूसरी सभी कंपनियां और प्रॉडक्ट के नाम, उन कंपनियों के ट्रेडमार्क हो सकते हैं जिनसे वे जुड़े हुए हैं.