योगदान गाइड

हम इस प्रोजेक्ट में आपके 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 कर सकें

1

मौजूदा Issue से लिंक करें

सभी PR को मौजूदा issue से लिंक किया जाना चाहिए। बग फिक्स के लिए, बग रिपोर्ट से लिंक करें। फीचर्स के लिए, अनुमोदित फीचर अनुरोध से लिंक करें।

2

छोटा और केंद्रित रखें

छोटे, परमाणु PR बनाएं जो एक ही समस्या को संबोधित करते हैं। कई असंबंधित परिवर्तनों को एक साथ न बांधें।

3

Work in Progress के लिए Draft PR का उपयोग करें

औपचारिक समीक्षा से पहले प्रारंभिक फीडबैक के लिए GitHub की Draft Pull Request सुविधा का उपयोग करें।

4

सुनिश्चित करें कि सभी Checks Pass हों

सबमिट करने से पहले npm run preflight चलाएं ताकि सभी टेस्ट, लिंटिंग, और स्टाइल चेक पास हों।

5

दस्तावेज़ीकरण अपडेट करें

यदि आपका PR उपयोगकर्ता-सामना करने वाले परिवर्तन पेश करता है, तो /docs निर्देशिका में संबंधित दस्तावेज़ीकरण को अपडेट करें।

6

स्पष्ट Commit Messages लिखें

अपने कमिट संदेशों और PR विवरणों के लिए Conventional Commits मानक का पालन करें।

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

अपना डेवलपमेंट एनवायरनमेंट सेटअप करने के लिए चरणबद्ध गाइड

1

पूर्वापेक्षाएं

अपना विकास वातावरण सेट करें

# 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
2

क्लोन और सेटअप

स्रोत कोड प्राप्त करें और निर्भरताएं स्थापित करें

git clone https://github.com/google-gemini/gemini-cli.git
cd gemini-cli
npm install
npm run build
3

सैंडबॉक्सिंग सक्षम करें (वैकल्पिक)

बेहतर सुरक्षा के लिए सैंडबॉक्सिंग सेट करें

# Add to your ~/.env file
echo "GEMINI_SANDBOX=true" >> ~/.env
# Build with sandbox container
npm run build:all
4

चलाएं और टेस्ट करें

CLI शुरू करें और टेस्ट चलाएं

# Start Gemini CLI from source
npm start
# Run all tests
npm run test
# Run integration tests
npm run test:e2e
5

गुणवत्ता जांच

सबमिट करने से पहले कोड गुणवत्ता सुनिश्चित करें

# 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

योगदान के लिए तैयार हैं?

इन संसाधनों के साथ अपनी योगदान यात्रा शुरू करें

अतिरिक्त संसाधन

योगदानकर्ताओं के लिए उपयोगी लिंक और दस्तावेज़

आर्किटेक्चर डॉक्स

प्रोजेक्ट संरचना और आर्किटेक्चर के बारे में जानें

आर्किटेक्चर पढ़ें →

इंटीग्रेशन टेस्ट

इंटीग्रेशन टेस्टिंग फ्रेमवर्क के बारे में जानें

टेस्टिंग गाइड →

AI डेवलपमेंट

AI-सहायक डेवलपमेंट के लिए दिशानिर्देश

GEMINI.md →