GitHub रिपॉजिटरी प्रोसेसिंग
बुनियादी उपयोग
सार्वजनिक रिपॉजिटरी प्रोसेस करें:
# पूर्ण URL का उपयोग करके
repomix --remote https://github.com/user/repo
# GitHub शॉर्टहैंड का उपयोग करके
repomix --remote user/repoआप owner/repo शॉर्टहैंड को --remote के बिना सीधे भी पास कर सकते हैं:
repomix yamadashy/repomixचूँकि owner/repo एक सापेक्ष स्थानीय पथ जैसा भी दिखता है, इसलिए Repomix इसे रिमोट रिपॉजिटरी के रूप में केवल तभी मानता है जब उस नाम की कोई स्थानीय फ़ाइल या डायरेक्टरी मौजूद न हो और रिपॉजिटरी GitHub पर पहुँच योग्य हो। एक मेल खाता स्थानीय पथ हमेशा प्राथमिकता लेता है; किसी owner/repo-आकार वाले पथ के लिए स्थानीय हैंडलिंग को मजबूर करने हेतु इसके आगे ./ लगाएँ (उदाहरण के लिए, repomix ./owner/repo)। यदि तर्क पैटर्न से मेल खाता है लेकिन रिपॉजिटरी तक नहीं पहुँचा जा सकता (उदाहरण के लिए, एक निजी रिपॉजिटरी या कोई टाइपो), तो Repomix इसे स्थानीय पथ के रूप में हैंडल करने पर वापस लौट आता है।
ब्रांच और कमिट चयन
# विशिष्ट ब्रांच
repomix --remote user/repo --remote-branch main
# टैग
repomix --remote user/repo --remote-branch v1.0.0
# कमिट हैश
repomix --remote user/repo --remote-branch 935b695आवश्यकताएँ
- Git इंस्टॉल होना चाहिए
- इंटरनेट कनेक्शन
- रिपॉजिटरी तक पढ़ने की पहुँच
आउटपुट नियंत्रण
# कस्टम आउटपुट स्थान
repomix --remote user/repo -o custom-output.xml
# XML फ़ॉर्मेट के साथ
repomix --remote user/repo --style xml
# टिप्पणियाँ हटाएँ
repomix --remote user/repo --remove-commentsDocker उपयोग
# प्रोसेस करें और वर्तमान डायरेक्टरी में आउटपुट दें
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repo
# विशिष्ट डायरेक्टरी में आउटपुट दें
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repoसुरक्षा
सुरक्षा के लिए, रिमोट रिपॉजिटरी में कॉन्फ़िग फ़ाइलें (repomix.config.*) डिफ़ॉल्ट रूप से लोड नहीं की जातीं। यह अविश्वसनीय रिपॉजिटरी को repomix.config.ts जैसी कॉन्फ़िग फ़ाइलों के माध्यम से कोड चलाने से रोकता है।
आपकी ग्लोबल कॉन्फ़िग और CLI विकल्प फिर भी लागू होते हैं।
किसी रिमोट रिपॉजिटरी की कॉन्फ़िग पर भरोसा करने के लिए:
# CLI फ़्लैग का उपयोग करके
repomix --remote user/repo --remote-trust-config
# एनवायरनमेंट वेरिएबल का उपयोग करके
REPOMIX_REMOTE_TRUST_CONFIG=true repomix --remote user/repoWARNING
--remote-trust-config रिमोट रिपॉजिटरी के कॉन्फ़िग को आपकी अपनी मशीन के बराबर भरोसा दे देता है। भरोसेमंद कॉन्फ़िग (input.processors के ज़रिए) मनमाने कमांड चला सकता है और (उदाहरण के लिए output.instructionFilePath या ../ का उपयोग करने वाले include पैटर्न के ज़रिए) रिपॉजिटरी के बाहर की स्थानीय फ़ाइलें पढ़ सकता है। इसका उपयोग केवल उन्हीं रिपॉजिटरी के लिए करें जिन पर आप पूरी तरह भरोसा करते हैं और जिन्हें आपने जाँच लिया है, ठीक उसी सावधानी के साथ जो किसी अनजान स्रोत से npm install या Makefile चलाने से पहले आप बरतेंगे।
पुष्टि प्रॉम्प्ट
जब आप किसी इंटरैक्टिव टर्मिनल में किसी रिपॉजिटरी के कॉन्फ़िग पर भरोसा करते हैं, तो repomix उस कॉन्फ़िग को दिखाता है जो चलने वाला है और उसे लोड करने से पहले आपसे पुष्टि माँगता है:
- हाँ, सिर्फ़ इस बार: केवल इस रन पर भरोसा करें।
- हाँ, और इस रिपॉजिटरी के लिए दोबारा न पूछें: यह तब तक याद रखा जाता है जब तक आपकी अस्थायी फ़ाइलें साफ़ नहीं हो जातीं, और केवल तब तक जब तक वह कॉन्फ़िग फ़ाइल नहीं बदलती (कॉन्फ़िग फ़ाइल में बदलाव होने पर फिर से पूछा जाएगा)। ध्यान दें कि यह जाँच केवल कॉन्फ़िग फ़ाइल पर ही लागू होती है: एक
.ts/.jsकॉन्फ़िग अन्य फ़ाइलों को इम्पोर्ट कर सकता है, और वे इस जाँच का हिस्सा नहीं हैं। - नहीं: कॉन्फ़िग को चलाए बिना रोक दें।
--force पास करने पर, CI जैसे गैर-इंटरैक्टिव शेल में (कॉन्फ़िग पहले की तरह भरोसेमंद माना जाता है, जिससे मौजूदा ऑटोमेशन काम करता रहता है), या जब आप पहले ही उस रिपॉजिटरी पर हमेशा भरोसा करने का चुनाव कर चुके हों, तो यह प्रॉम्प्ट छोड़ दिया जाता है।
पूर्ण ट्रस्ट मॉडल के लिए — एक भरोसेमंद कॉन्फ़िग क्या कर सकती है, दिखाई गई कॉन्फ़िग को छेड़छाड़ से कैसे सुरक्षित रखा जाता है, और "दोबारा न पूछें" वाला निर्णय कहाँ संग्रहीत होता है — देखें सुरक्षा।
--remote के साथ --config का उपयोग करते समय, एक पूर्ण पथ आवश्यक होता है:
repomix --remote user/repo --config /home/user/repomix.config.jsonसामान्य समस्याएँ
पहुँच संबंधी समस्याएँ
- सुनिश्चित करें कि रिपॉजिटरी सार्वजनिक है
- Git इंस्टॉलेशन जाँचें
- इंटरनेट कनेक्शन सत्यापित करें
बड़ी रिपॉजिटरी
- विशिष्ट पथ चुनने के लिए
--includeका उपयोग करें --remove-commentsसक्षम करें- ब्रांच को अलग-अलग प्रोसेस करें
संबंधित संसाधन
- कमांड लाइन विकल्प -
--remoteविकल्पों सहित पूर्ण CLI संदर्भ - कॉन्फ़िगरेशन - रिमोट प्रोसेसिंग के लिए डिफ़ॉल्ट विकल्प सेट करें
- कोड कम्प्रेशन - बड़ी रिपॉजिटरी के लिए आउटपुट आकार कम करें
- सुरक्षा - Repomix संवेदनशील डेटा का पता कैसे लगाता है