
Gemini CLI को आह्वान करने वाली एक GitHub Action।
run-gemini-cli एक GitHub Action है जो Gemini CLI के माध्यम से Gemini को आपके डेवलपमेंट वर्कफ़्लो में एकीकृत करता है। यह महत्वपूर्ण नियमित कोडिंग कार्यों के लिए एक स्वायत्त एजेंट और एक ऑन-डिमांड सहयोगी दोनों के रूप में कार्य करता है, जिसे आप तुरंत काम सौंप सकते हैं।
इसका उपयोग GitHub पुल रिक्वेस्ट समीक्षा करने, इश्यू को ट्रायेज करने, कोड विश्लेषण और संशोधन करने और बहुत कुछ करने के लिए Gemini के साथ संवादात्मक रूप से (जैसे, @gemini-cli fix this issue) सीधे आपके GitHub रिपॉजिटरी के अंदर करें।
@gemini-cli /review) इश्यू और पुल रिक्वेस्ट टिप्पणियों में वर्कफ़्लो ट्रिगर करें।gh) जैसे अन्य CLI के साथ इंटरैक्ट करने के लिए Gemini मॉडल की टूल-कॉलिंग क्षमताओं का लाभ उठाएं।GEMINI.md फ़ाइल का उपयोग करें।बस कुछ मिनटों में अपने रिपॉजिटरी में Gemini CLI के साथ शुरुआत करें:
Google AI Studio से अपनी API कुंजी प्राप्त करें, जिसमें उदार निःशुल्क कोटा है।
अपनी API कुंजी को अपने रिपॉजिटरी में GEMINI_API_KEY नामक सीक्रेट के रूप में संग्रहित करें:
GEMINI_API_KEY, मान: आपकी API कुंजीअपनी .gitignore फ़ाइल में निम्नलिखित प्रविष्टियाँ जोड़ें:
# gemini-cli सेटिंग्स
.gemini/
# GitHub App क्रेडेंशियल्स
gha-creds-*.json
वर्कफ़्लो सेट करने के लिए आपके पास दो विकल्प हैं:
विकल्प A: सेटअप कमांड का उपयोग करें (अनुशंसित)
अपने टर्मिनल में Gemini CLI शुरू करें:
gemini
अपने टर्मिनल में Gemini CLI में टाइप करें:
/setup-github
विकल्प B: मैन्युअल रूप से वर्कफ़्लो कॉपी करें
examples/workflows निर्देशिका से पूर्व-निर्मित वर्कफ़्लो को अपने रिपॉजिटरी की .github/workflows निर्देशिका में कॉपी करें। ध्यान दें: gemini-dispatch.yml वर्कफ़्लो को भी कॉपी किया जाना चाहिए, जो वर्कफ़्लो को चलाने के लिए ट्रिगर करता है।Pull Request समीक्षा:
@gemini-cli /review टिप्पणी करेंIssue Triage:
@gemini-cli /triage टिप्पणी करेंसामान्य AI सहायता:
@gemini-cli का उल्लेख करें@gemini-cli explain this code change@gemini-cli suggest improvements for this function@gemini-cli help me debug this error@gemini-cli write unit tests for this componentयह क्रिया विभिन्न उपयोग मामलों के लिए कई पूर्व-निर्मित वर्कफ़्लो प्रदान करती है। प्रत्येक वर्कफ़्लो को आपके रिपॉजिटरी की .github/workflows निर्देशिका में कॉपी करने और आवश्यकतानुसार अनुकूलित करने के लिए डिज़ाइन किया गया है।
यह वर्कफ़्लो Gemini CLI के लिए एक केंद्रीय डिस्पैचर के रूप में कार्य करता है, ट्रिगरिंग ईवेंट और टिप्पणी में प्रदान किए गए कमांड के आधार पर अनुरोधों को उपयुक्त वर्कफ़्लो पर रूट करता है। डिस्पैच वर्कफ़्लो सेट करने के विस्तृत गाइड के लिए, Gemini Dispatch वर्कफ़्लो दस्तावेज़ीकरण पर जाएं।
इस क्रिया का उपयोग GitHub इश्यू को स्वचालित रूप से या एक शेड्यूल पर ट्रायेज करने के लिए किया जा सकता है। इश्यू ट्रायेज सिस्टम सेट करने के विस्तृत गाइड के लिए, GitHub Issue Triage वर्कफ़्लो दस्तावेज़ीकरण पर जाएं।
इस क्रिया का उपयोग पुल रिक्वेस्ट खोले जाने पर स्वचालित रूप से समीक्षा करने के लिए किया जा सकता है। पुल रिक्वेस्ट समीक्षा प्रणाली सेट करने के विस्तृत गाइड के लिए, GitHub PR Review वर्कफ़्लो दस्तावेज़ीकरण पर जाएं।
इस प्रकार की क्रिया का उपयोग पुल रिक्वेस्ट और इश्यू के भीतर एक सामान्य-उद्देश्यीय, संवादात्मक Gemini AI सहायक को आमंत्रित करने के लिए किया जा सकता है ताकि विभिन्न प्रकार के कार्य किए जा सकें। सामान्य-उद्देश्यीय Gemini CLI वर्कफ़्लो सेट करने के विस्तृत गाइड के लिए, Gemini Assistant वर्कफ़्लो दस्तावेज़ीकरण पर जाएं।
gcp_location: (वैकल्पिक) Google Cloud स्थान।
gcp_project_id: (वैकल्पिक) Google Cloud प्रोजेक्ट ID।
gcp_service_account: (वैकल्पिक) Google Cloud सेवा खाता ईमेल।
gcp_workload_identity_provider: (वैकल्पिक) Google Cloud Workload Identity प्रदाता।
gcp_token_format: (वैकल्पिक, डिफ़ॉल्ट: access_token) प्रमाणीकरण के लिए टोकन प्रारूप। एक्सेस टोकन उत्पन्न करने के लिए "access_token" पर सेट करें (सेवा खाता आवश्यक है), या प्रत्यक्ष WIF के लिए खाली स्ट्रिंग पर सेट करें। "access_token" या "id_token" हो सकता है।
gcp_access_token_scopes: (वैकल्पिक, डिफ़ॉल्ट: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) token_format "access_token" का उपयोग करते समय एक्सेस टोकन स्कोप। OAuth 2.0 स्कोप की अल्पविराम से अलग की गई सूची।
summary: Gemini CLI निष्पादन से सारांशित आउटपुट।
error: Gemini CLI निष्पादन से त्रुटि आउटपुट, यदि कोई हो।
हम निम्नलिखित मानों को रिपॉजिटरी वेरिएबल्स के रूप में सेट करने की अनुशंसा करते हैं ताकि उन्हें सभी वर्कफ़्लो में पुन: उपयोग किया जा सके। वैकल्पिक रूप से, आप उन्हें अलग-अलग वर्कफ़्लो में या रिपॉजिटरी-स्तरीय मानों को ओवरराइड करने के लिए एक्शन इनपुट के रूप में इनलाइन सेट कर सकते हैं।
[!चेतावनी]
DEBUGपर्यावरण चर का उपयोग न करें क्योंकि यह Gemini CLI को नोड डीबगर के अटैच होने की प्रतीक्षा में लटका देता है।
रिपॉजिटरी वेरिएबल जोड़ने के लिए:
रिपॉजिटरी वेरिएबल्स के विवरण के लिए, वेरिएबल्स पर GitHub दस्तावेज़ीकरण देखें।
आप अपने रिपॉजिटरी में निम्नलिखित सीक्रेट सेट कर सकते हैं:
सीक्रेट जोड़ने के लिए:
अधिक जानकारी के लिए, एन्क्रिप्टेड सीक्रेट बनाने और उपयोग करने पर आधिकारिक GitHub दस्तावेज़ीकरण देखें।
इस क्रिया के लिए Google सेवाओं (Gemini AI के लिए) और GitHub API दोनों में प्रमाणीकरण की आवश्यकता है।
अपने उपयोग के मामले में सबसे उपयुक्त प्रमाणीकरण विधि चुनें:
आप GitHub में दो तरीकों से प्रमाणित कर सकते हैं:
GITHUB_TOKEN: सरल उपयोग मामलों के लिए, क्रिया वर्कफ़्लो द्वारा प्रदान किए गए डिफ़ॉल्ट GITHUB_TOKEN का उपयोग कर सकती है।Google और GitHub दोनों प्रमाणीकरण के लिए विस्तृत सेटअप निर्देशों के लिए, प्रमाणीकरण दस्तावेज़ीकरण पर जाएं।
इस क्रिया को आपके अपने Google Cloud प्रोजेक्ट में टेलीमेट्री डेटा (ट्रेस, मीट्रिक और लॉग) भेजने के लिए कॉन्फ़िगर किया जा सकता है। यह आपको अपने वर्कफ़्लो में Gemini CLI के प्रदर्शन और व्यवहार की निगरानी करने की अनुमति देता है, जो डीबगिंग और ऑप्टिमाइज़ेशन के लिए मूल्यवान अंतर्दृष्टि प्रदान करता है।
अवलोकनीयता सेट करने और कॉन्फ़िगर करने के विस्तृत निर्देशों के लिए, अवलोकनीयता दस्तावेज़ीकरण पर जाएं।
Gemini CLI को एक्सटेंशन के माध्यम से अतिरिक्त कार्यक्षमता के साथ बढ़ाया जा सकता है। ये एक्सटेंशन उनके GitHub रिपॉजिटरी से स्रोत से स्थापित किए जाते हैं।
एक्सटेंशन सेट करने और कॉन्फ़िगर करने के विस्तृत निर्देशों के लिए, एक्सटेंशन दस्तावेज़ीकरण पर जाएं।
अपने स्वचालित वर्कफ़्लो की सुरक्षा, विश्वसनीयता और दक्षता सुनिश्चित करने के लिए, हम दृढ़ता से हमारे सर्वोत्तम अभ्यासों का पालन करने की अनुशंसा करते हैं। ये दिशानिर्देश रिपॉजिटरी सुरक्षा, वर्कफ़्लो कॉन्फ़िगरेशन और निगरानी जैसे प्रमुख क्षेत्रों को कवर करते हैं।
मुख्य अनुशंसाओं में शामिल हैं:
अपने रिपॉजिटरी और वर्कफ़्लो को सुरक्षित करने के व्यापक गाइड के लिए, कृपया हमारा सर्वोत्तम अभ्यास दस्तावेज़ीकरण देखें।
Gemini CLI को प्रोजेक्ट-विशिष्ट संदर्भ और निर्देश प्रदान करने के लिए अपने रिपॉजिटरी की रूट में एक GEMINI.md फ़ाइल बनाएं। यह कोडिंग कन्वेंशन, आर्किटेक्चरल पैटर्न, या अन्य दिशानिर्देशों को परिभाषित करने के लिए उपयोगी है जिनका मॉडल को किसी दिए गए रिपॉजिटरी के लिए पालन करना चाहिए।
योगदान का स्वागत है! शुरुआत करने के तरीके के बारे में अधिक जानकारी के लिए Gemini CLI योगदान गाइड देखें।
gemini_api_key: (वैकल्पिक) Gemini API के लिए API कुंजी।
gemini_cli_version: (वैकल्पिक, डिफ़ॉल्ट: latest) स्थापित करने के लिए Gemini CLI का संस्करण। "latest", "preview", "nightly", एक विशिष्ट संस्करण संख्या, या एक git branch, tag, या commit हो सकता है। अधिक जानकारी के लिए, Gemini CLI रिलीज़ देखें।
gemini_debug: (वैकल्पिक) डीबग लॉगिंग और आउटपुट स्ट्रीमिंग सक्षम करें।
gemini_model: (वैकल्पिक) Gemini के साथ उपयोग करने के लिए मॉडल।
google_api_key: (वैकल्पिक) Gemini के साथ उपयोग करने के लिए Vertex AI API कुंजी।
prompt: (वैकल्पिक, डिफ़ॉल्ट: You are a helpful assistant.) Gemini CLI के --prompt तर्क में पास की गई एक स्ट्रिंग।
settings: (वैकल्पिक) CLI की प्रोजेक्ट सेटिंग्स को कॉन्फ़िगर करने के लिए .gemini/settings.json में लिखी गई एक JSON स्ट्रिंग।
अधिक विवरण के लिए, सेटिंग्स फ़ाइलें पर दस्तावेज़ देखें।
use_gemini_code_assist: (वैकल्पिक, डिफ़ॉल्ट: false) डिफ़ॉल्ट Gemini API कुंजी के बजाय Gemini मॉडल एक्सेस के लिए Code Assist का उपयोग करना है या नहीं।
अधिक जानकारी के लिए, Gemini CLI दस्तावेज़ीकरण देखें।
use_vertex_ai: (वैकल्पिक, डिफ़ॉल्ट: false) डिफ़ॉल्ट Gemini API कुंजी के बजाय Gemini मॉडल एक्सेस के लिए Vertex AI का उपयोग करना है या नहीं।
अधिक जानकारी के लिए, Gemini CLI दस्तावेज़ीकरण देखें।
extensions: (वैकल्पिक) स्थापित करने के लिए Gemini CLI एक्सटेंशन की सूची।
upload_artifacts: (वैकल्पिक, डिफ़ॉल्ट: false) github action पर आर्टिफैक्ट अपलोड करना है या नहीं।
use_pnpm: (वैकल्पिक, डिफ़ॉल्ट: false) gemini-cli को स्थापित करने के लिए npm के बजाय pnpm का उपयोग करना है या नहीं।
workflow_name: (वैकल्पिक, डिफ़ॉल्ट: ${{ github.workflow }}) GitHub वर्कफ़्लो का नाम, टेलीमेट्री उद्देश्यों के लिए उपयोग किया जाता है।
github_pr_number: (वैकल्पिक, डिफ़ॉल्ट: ${{ github.event.pull_request.number }}) पुल रिक्वेस्ट संख्या जिस पर CLI काम कर रहा है। डिफ़ॉल्ट ईवेंट पेलोड पर है।
github_issue_number: (वैकल्पिक, डिफ़ॉल्ट: ${{ github.event.issue.number }}) इश्यू संख्या (या इश्यू संख्याओं की अल्पविराम से अलग की गई सूची) जिस पर CLI काम कर रहा है। डिफ़ॉल्ट ईवेंट पेलोड पर है।
| नाम | विवरण | प्रकार | आवश्यक | कब आवश्यक |
|---|
GEMINI_DEBUG | Gemini CLI के लिए डीबग लॉगिंग सक्षम करता है। | वेरिएबल | नहीं | कभी नहीं |
GEMINI_CLI_VERSION | नियंत्रित करता है कि Gemini CLI का कौन सा संस्करण स्थापित किया गया है। | वेरिएबल | नहीं | CLI संस्करण को पिन करना |
GCP_WIF_PROVIDER | Workload Identity प्रदाता का पूर्ण संसाधन नाम। | वेरिएबल | नहीं | Google Cloud का उपयोग करते समय |
GOOGLE_CLOUD_PROJECT | अनुमान और अवलोकनीयता के लिए Google Cloud प्रोजेक्ट। | वेरिएबल | नहीं | Google Cloud का उपयोग करते समय |
SERVICE_ACCOUNT_EMAIL | Google Cloud सेवा खाता ईमेल पता। वैकल्पिक - केवल सेवा खाते के साथ WIF के लिए आवश्यक (प्रत्यक्ष WIF के लिए आवश्यक नहीं)। | वेरिएबल | नहीं | सेवा खाते के साथ WIF का उपयोग करते समय |
GOOGLE_CLOUD_LOCATION | Google Cloud प्रोजेक्ट का क्षेत्र। | वेरिएबल | नहीं | Google Cloud का उपयोग करते समय |
GOOGLE_GENAI_USE_VERTEXAI | Vertex AI का उपयोग करने के लिए true पर सेट करें | वेरिएबल | नहीं | Vertex AI का उपयोग करते समय |
GOOGLE_GENAI_USE_GCA | Gemini Code Assist का उपयोग करने के लिए true पर सेट करें | वेरिएबल | नहीं | Gemini Code Assist का उपयोग करते समय |
APP_ID | कस्टम प्रमाणीकरण के लिए GitHub App ID। | वेरिएबल | नहीं | कस्टम GitHub App का उपयोग करते समय |
| नाम | विवरण | आवश्यक | कब आवश्यक |
|---|
GEMINI_API_KEY | Google AI Studio से आपकी Gemini API कुंजी। | नहीं | आपके पास GCP प्रोजेक्ट नहीं है। |
APP_PRIVATE_KEY | आपके GitHub App के लिए निजी कुंजी (PEM प्रारूप)। | नहीं | कस्टम GitHub App का उपयोग करते समय। |
GOOGLE_API_KEY | Vertex AI के साथ उपयोग करने के लिए आपकी Google API कुंजी। | नहीं | आपके पास एक एक्सप्रेस Vertex AI खाता है। |