योगदान गाइड
हम इस प्रोजेक्ट में आपके patches और contributions को स्वीकार करने में खुश होंगे। जानें कि कैसे शुरुआत करें और अपना पहला contribution करें।
शुरू करने से पहले
योगदान से पहले महत्वपूर्ण आवश्यकताएं
CLA साइन करें
योगदान के साथ योगदानकर्ता लाइसेंस समझौता (CLA) होना चाहिए। आप अपने योगदान का कॉपीराइट बनाए रखते हैं।
CLA साइन करें →समुदायिक दिशानिर्देश
यह प्रोजेक्ट Google के ओपन सोर्स समुदायिक दिशानिर्देशों का पालन करता है। योगदान से पहले कृपया उन्हें देखें।
दिशानिर्देश पढ़ें →योगदान के तरीके
Gemini CLI प्रोजेक्ट में योगदान करने के कई तरीके हैं
कोड योगदान
बग ठीक करें, फीचर्स जोड़ें, प्रदर्शन में सुधार करें
- बग फिक्स और पैच
- नए CLI कमांड
- प्रदर्शन अनुकूलन
- कोड रिफैक्टरिंग
- टेस्ट सुधार
- त्रुटि हैंडलिंग वृद्धि
दस्तावेज़ीकरण
दस्तावेज़ सुधारें, उदाहरण जोड़ें, ट्यूटोरियल बनाएं
- दस्तावेज़ीकरण त्रुटियां ठीक करें
- उपयोग उदाहरण जोड़ें
- API दस्तावेज़ीकरण सुधारें
- ट्यूटोरियल और गाइड बनाएं
- README फाइलें अपडेट करें
- कोड टिप्पणियां जोड़ें
Issue Reporting
बग रिपोर्ट करें, फीचर्स सुझाएं, फीडबैक प्रदान करें
- पुनरुत्पादन चरणों के साथ बग रिपोर्ट
- फीचर अनुरोध और प्रस्ताव
- प्रदर्शन समस्या रिपोर्ट
- सुरक्षा भेद्यता रिपोर्ट
- उपयोगकर्ता अनुभव फीडबैक
- संगतता समस्याएं
Community Support
उपयोगकर्ताओं की सहायता करें, चर्चाओं में भाग लें
- Issues में प्रश्नों का उत्तर दें
- समस्या निवारण में सहायता करें
- Pull requests की समीक्षा करें
- बीटा संस्करणों का परीक्षण करें
- उपयोग उदाहरण साझा करें
- नए योगदानकर्ताओं को मार्गदर्शन दें
Pull Request Guidelines
इन guidelines का पालन करें ताकि हम आपके PR को जल्दी review और merge कर सकें
मौजूदा Issue से लिंक करें
सभी PR को मौजूदा issue से लिंक किया जाना चाहिए। बग फिक्स के लिए, बग रिपोर्ट से लिंक करें। फीचर्स के लिए, अनुमोदित फीचर अनुरोध से लिंक करें।
छोटा और केंद्रित रखें
छोटे, परमाणु PR बनाएं जो एक ही समस्या को संबोधित करते हैं। कई असंबंधित परिवर्तनों को एक साथ न बांधें।
Work in Progress के लिए Draft PR का उपयोग करें
औपचारिक समीक्षा से पहले प्रारंभिक फीडबैक के लिए GitHub की Draft Pull Request सुविधा का उपयोग करें।
सुनिश्चित करें कि सभी Checks Pass हों
सबमिट करने से पहले npm run preflight चलाएं ताकि सभी टेस्ट, लिंटिंग, और स्टाइल चेक पास हों।
दस्तावेज़ीकरण अपडेट करें
यदि आपका PR उपयोगकर्ता-सामना करने वाले परिवर्तन पेश करता है, तो /docs निर्देशिका में संबंधित दस्तावेज़ीकरण को अपडेट करें।
स्पष्ट Commit Messages लिखें
अपने कमिट संदेशों और PR विवरणों के लिए Conventional Commits मानक का पालन करें।
डेवलपमेंट एनवायरनमेंट सेटअप
अपना डेवलपमेंट एनवायरनमेंट सेटअप करने के लिए चरणबद्ध गाइड
पूर्वापेक्षाएं
अपना विकास वातावरण सेट करें
# Install Node.js ~20.19.0 (required for development) # Use nvm to manage Node.js versions nvm install 20.19.0 nvm use 20.19.0
क्लोन और सेटअप
स्रोत कोड प्राप्त करें और निर्भरताएं स्थापित करें
git clone https://github.com/google-gemini/gemini-cli.git cd gemini-cli npm install npm run build
सैंडबॉक्सिंग सक्षम करें (वैकल्पिक)
बेहतर सुरक्षा के लिए सैंडबॉक्सिंग सेट करें
# Add to your ~/.env file echo "GEMINI_SANDBOX=true" >> ~/.env # Build with sandbox container npm run build:all
चलाएं और टेस्ट करें
CLI शुरू करें और टेस्ट चलाएं
# Start Gemini CLI from source npm start # Run all tests npm run test # Run integration tests npm run test:e2e
गुणवत्ता जांच
सबमिट करने से पहले कोड गुणवत्ता सुनिश्चित करें
# Run all quality checks npm run preflight # Format code npm run format # Lint code npm run lint
डिबगिंग और टेस्टिंग
आपके योगदान को डिबग और टेस्ट करने के लिए टूल्स और तकनीकें
VS Code डिबगिंग
VS Code में F5 या डिबग कॉन्फ़िगरेशन का उपयोग करके CLI को इंटरैक्टिव रूप से डिबग करें।
# डिबग मोड में शुरू करें npm run debug # या VS Code F5 key का उपयोग करें # "Attach" कॉन्फ़िगरेशन के साथ
React DevTools
React DevTools 4.x का उपयोग करके CLI के React-आधारित UI को डिबग करें।
# डेवलपमेंट मोड में शुरू करें DEV=true npm start # React DevTools इंस्टॉल करें npm install -g react-devtools@4.28.5 react-devtools
सैंडबॉक्स डिबगिंग
सिक्योरिटी-संबंधित डेवलपमेंट के लिए सैंडबॉक्स कंटेनर के अंदर डिबग करें।
# सैंडबॉक्स के अंदर डिबग करें DEBUG=1 gemini # सैंडबॉक्स डिबगिंग सक्षम करें GEMINI_SANDBOX=true npm start
टेस्टिंग के प्रकार
अपने बदलावों के सही तरीके से काम करने को सुनिश्चित करने के लिए विभिन्न प्रकार के टेस्ट चलाएं।
# यूनिट टेस्ट npm run test # इंटीग्रेशन टेस्ट npm run test:e2e # सभी क्वालिटी चेक npm run preflight
योगदान के लिए तैयार हैं?
इन संसाधनों के साथ अपनी योगदान यात्रा शुरू करें
अतिरिक्त संसाधन
योगदानकर्ताओं के लिए उपयोगी लिंक और दस्तावेज़