बिल्ड और टेस्ट

Gemini CLI के बिल्डिंग, टेस्टिंग और डिबगिंग के लिए पूर्ण गाइड

BuildTesting

बिल्ड प्रक्रिया

बिल्ड सिस्टम और डेवलपमेंट वर्कफ़्लो को समझना

npm run bootstrap

डिपेंडेंसी इंस्टॉल करें और पैकेज लिंक करें

Usage:

प्रारंभिक सेटअप और नई डिपेंडेंसी जोड़ने के बाद

npm run build

डिपेंडेंसी क्रम में सभी पैकेज बिल्ड करें

Usage:

टेस्टिंग या रिलीज़ से पहले

npm run build:watch

वॉच मोड में पैकेज बिल्ड करें

Usage:

सक्रिय डेवलपमेंट के दौरान

npm run clean

बिल्ड आर्टिफैक्ट्स और node_modules साफ़ करें

Usage:

बिल्ड समस्याओं का सामना करते समय

टेस्टिंग फ्रेमवर्क

Jest और TypeScript के साथ व्यापक टेस्टिंग

npm run test

सभी पैकेज में सभी टेस्ट चलाएं

Usage:

पूर्ण टेस्ट सूट निष्पादन

npm run test:watch

वॉच मोड में टेस्ट चलाएं

Usage:

डेवलपमेंट के दौरान

npm run test:coverage

टेस्ट कवरेज रिपोर्ट जेनरेट करें

Usage:

गुणवत्ता आश्वासन और CI/CD

lerna run test --scope @gemini/core

विशिष्ट पैकेज के लिए टेस्ट चलाएं

Usage:

केंद्रित टेस्टिंग

डेवलपमेंट वर्कफ़्लो

अनुशंसित डेवलपमेंट और टेस्टिंग वर्कफ़्लो

1

प्रारंभिक सेटअप

डेवलपमेंट एनवायरनमेंट सेट करें और डिपेंडेंसी इंस्टॉल करें

git clone https://github.com/google-gemini/gemini-cli.git && cd gemini-cli && npm run bootstrap
2

डेवलपमेंट मोड

ऑटोमैटिक रीबिल्डिंग के लिए वॉच मोड शुरू करें

npm run build:watch
3

टेस्टिंग

डेवलपमेंट के दौरान लगातार टेस्ट चलाएं

npm run test:watch
4

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

कमिट करने से पहले कोड चेक, फॉर्मेटिंग और टाइप चेकिंग चलाएं

npm run lint && npm run type-check && npm run test:coverage

डिबगिंग

समस्याओं को डिबग करने के लिए टूल्स और तकनीकें

डिबग मोड

विस्तृत आउटपुट के लिए डिबग लॉगिंग सक्षम करें

DEBUG=gemini:* gemini ask "नमस्ते"

यह सभी Gemini CLI ऑपरेशन के लिए विस्तृत लॉग दिखाएगा

VS Code डिबगिंग

प्रदान की गई VS Code लॉन्च कॉन्फ़िगरेशन का उपयोग करें

.vscode/launch.json

ब्रेकपॉइंट सेट करें और VS Code में सीधे डिबग करें

टेस्ट डिबगिंग

विशिष्ट टेस्ट डिबग करें

npm run test -- --testNamePattern="API Client"

विशिष्ट टेस्ट केस चलाएं और डिबग करें

परफॉर्मेंस प्रोफाइलिंग

परफॉर्मेंस समस्याओं को प्रोफाइल करें

node --prof packages/cli/bin/gemini

विश्लेषण के लिए परफॉर्मेंस प्रोफाइल जेनरेट करें

निरंतर एकीकरण

स्वचालित टेस्टिंग और गुणवत्ता आश्वासन

बिल्ड

TypeScript कंपाइल करें और सभी पैकेज बिल्ड करें

टेस्ट

यूनिट टेस्ट चलाएं और कवरेज रिपोर्ट जेनरेट करें

डिप्लॉय

पैकेज प्रकाशित करें और डॉक्यूमेंटेशन डिप्लॉय करें

सामान्य समस्याएं

सामान्य बिल्ड और टेस्ट समस्याओं के समाधान

बिल्ड विफलताएं

यदि परिवर्तन खींचने के बाद बिल्ड विफल हो जाते हैं, तो साफ़ करने और पुनः इंस्टॉल करने का प्रयास करें

npm run clean && npm run bootstrap && npm run build

टेस्ट विफलताएं

रुक-रुक कर होने वाली टेस्ट विफलताओं के लिए, बढ़े हुए टाइमआउट के साथ टेस्ट चलाएं

npm run test -- --testTimeout=10000

मेमोरी समस्याएं

यदि आप बिल्ड के दौरान आउट-ऑफ-मेमोरी एरर का सामना करते हैं

NODE_OPTIONS="--max-old-space-size=4096" npm run build