Skip to content

GitHub रिपॉजिटरी प्रोसेसिंग

बुनियादी उपयोग

सार्वजनिक रिपॉजिटरी प्रोसेस करें:

bash
# पूर्ण URL का उपयोग करके
repomix --remote https://github.com/user/repo

# GitHub शॉर्टहैंड का उपयोग करके
repomix --remote user/repo

आप owner/repo शॉर्टहैंड को --remote के बिना सीधे भी पास कर सकते हैं:

bash
repomix yamadashy/repomix

चूँकि owner/repo एक सापेक्ष स्थानीय पथ जैसा भी दिखता है, इसलिए Repomix इसे रिमोट रिपॉजिटरी के रूप में केवल तभी मानता है जब उस नाम की कोई स्थानीय फ़ाइल या डायरेक्टरी मौजूद न हो और रिपॉजिटरी GitHub पर पहुँच योग्य हो। एक मेल खाता स्थानीय पथ हमेशा प्राथमिकता लेता है; किसी owner/repo-आकार वाले पथ के लिए स्थानीय हैंडलिंग को मजबूर करने हेतु इसके आगे ./ लगाएँ (उदाहरण के लिए, repomix ./owner/repo)। यदि तर्क पैटर्न से मेल खाता है लेकिन रिपॉजिटरी तक नहीं पहुँचा जा सकता (उदाहरण के लिए, एक निजी रिपॉजिटरी या कोई टाइपो), तो Repomix इसे स्थानीय पथ के रूप में हैंडल करने पर वापस लौट आता है।

ब्रांच और कमिट चयन

bash
# विशिष्ट ब्रांच
repomix --remote user/repo --remote-branch main

# टैग
repomix --remote user/repo --remote-branch v1.0.0

# कमिट हैश
repomix --remote user/repo --remote-branch 935b695

आवश्यकताएँ

  • Git इंस्टॉल होना चाहिए
  • इंटरनेट कनेक्शन
  • रिपॉजिटरी तक पढ़ने की पहुँच

आउटपुट नियंत्रण

bash
# कस्टम आउटपुट स्थान
repomix --remote user/repo -o custom-output.xml

# XML फ़ॉर्मेट के साथ
repomix --remote user/repo --style xml

# टिप्पणियाँ हटाएँ
repomix --remote user/repo --remove-comments

Docker उपयोग

bash
# प्रोसेस करें और वर्तमान डायरेक्टरी में आउटपुट दें
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 विकल्प फिर भी लागू होते हैं।

किसी रिमोट रिपॉजिटरी की कॉन्फ़िग पर भरोसा करने के लिए:

bash
# CLI फ़्लैग का उपयोग करके
repomix --remote user/repo --remote-trust-config

# एनवायरनमेंट वेरिएबल का उपयोग करके
REPOMIX_REMOTE_TRUST_CONFIG=true repomix --remote user/repo

WARNING

--remote-trust-config रिमोट रिपॉजिटरी के कॉन्फ़िग को आपकी अपनी मशीन के बराबर भरोसा दे देता है। भरोसेमंद कॉन्फ़िग (input.processors के ज़रिए) मनमाने कमांड चला सकता है और (उदाहरण के लिए output.instructionFilePath या ../ का उपयोग करने वाले include पैटर्न के ज़रिए) रिपॉजिटरी के बाहर की स्थानीय फ़ाइलें पढ़ सकता है। इसका उपयोग केवल उन्हीं रिपॉजिटरी के लिए करें जिन पर आप पूरी तरह भरोसा करते हैं और जिन्हें आपने जाँच लिया है, ठीक उसी सावधानी के साथ जो किसी अनजान स्रोत से npm install या Makefile चलाने से पहले आप बरतेंगे।

पुष्टि प्रॉम्प्ट

जब आप किसी इंटरैक्टिव टर्मिनल में किसी रिपॉजिटरी के कॉन्फ़िग पर भरोसा करते हैं, तो repomix उस कॉन्फ़िग को दिखाता है जो चलने वाला है और उसे लोड करने से पहले आपसे पुष्टि माँगता है:

  • हाँ, सिर्फ़ इस बार: केवल इस रन पर भरोसा करें।
  • हाँ, और इस रिपॉजिटरी के लिए दोबारा न पूछें: यह तब तक याद रखा जाता है जब तक आपकी अस्थायी फ़ाइलें साफ़ नहीं हो जातीं, और केवल तब तक जब तक वह कॉन्फ़िग फ़ाइल नहीं बदलती (कॉन्फ़िग फ़ाइल में बदलाव होने पर फिर से पूछा जाएगा)। ध्यान दें कि यह जाँच केवल कॉन्फ़िग फ़ाइल पर ही लागू होती है: एक .ts / .js कॉन्फ़िग अन्य फ़ाइलों को इम्पोर्ट कर सकता है, और वे इस जाँच का हिस्सा नहीं हैं।
  • नहीं: कॉन्फ़िग को चलाए बिना रोक दें।

--force पास करने पर, CI जैसे गैर-इंटरैक्टिव शेल में (कॉन्फ़िग पहले की तरह भरोसेमंद माना जाता है, जिससे मौजूदा ऑटोमेशन काम करता रहता है), या जब आप पहले ही उस रिपॉजिटरी पर हमेशा भरोसा करने का चुनाव कर चुके हों, तो यह प्रॉम्प्ट छोड़ दिया जाता है।

पूर्ण ट्रस्ट मॉडल के लिए — एक भरोसेमंद कॉन्फ़िग क्या कर सकती है, दिखाई गई कॉन्फ़िग को छेड़छाड़ से कैसे सुरक्षित रखा जाता है, और "दोबारा न पूछें" वाला निर्णय कहाँ संग्रहीत होता है — देखें सुरक्षा

--remote के साथ --config का उपयोग करते समय, एक पूर्ण पथ आवश्यक होता है:

bash
repomix --remote user/repo --config /home/user/repomix.config.json

सामान्य समस्याएँ

पहुँच संबंधी समस्याएँ

  • सुनिश्चित करें कि रिपॉजिटरी सार्वजनिक है
  • Git इंस्टॉलेशन जाँचें
  • इंटरनेट कनेक्शन सत्यापित करें

बड़ी रिपॉजिटरी

  • विशिष्ट पथ चुनने के लिए --include का उपयोग करें
  • --remove-comments सक्षम करें
  • ब्रांच को अलग-अलग प्रोसेस करें

संबंधित संसाधन

Released under the MIT License.