Skip to content

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

त्वरित शुरुआत

अपनी पूरी रिपॉजिटरी पैक करें:

bash
repomix

सामान्य उपयोग के मामले

विशिष्ट डायरेक्टरी पैक करें

bash
repomix path/to/directory

विशिष्ट फ़ाइलें शामिल करें

ग्लोब पैटर्न का उपयोग करें:

bash
repomix --include "src/**/*.ts,**/*.md"

फ़ाइलें बाहर रखें

bash
repomix --ignore "**/*.log,tmp/"

आउटपुट को कई फ़ाइलों में विभाजित करें

बड़े कोडबेस के साथ काम करते समय, पैक किया गया आउटपुट कुछ AI टूल्स द्वारा लगाई गई फ़ाइल आकार सीमाओं से अधिक हो सकता है (जैसे Google AI Studio की 1MB सीमा)। आउटपुट को स्वचालित रूप से कई फ़ाइलों में विभाजित करने के लिए --split-output का उपयोग करें:

bash
repomix --split-output 1mb

यह इस तरह नंबर वाली फ़ाइलें बनाता है:

  • repomix-output.1.xml
  • repomix-output.2.xml
  • repomix-output.3.xml

आकार इकाइयों के साथ निर्दिष्ट किया जा सकता है: 500kb, 1mb, 2mb, 1.5mb, आदि। दशमलव मान समर्थित हैं।

NOTE

संदर्भ बनाए रखने के लिए फ़ाइलों को शीर्ष-स्तरीय डायरेक्टरी के अनुसार समूहीकृत किया जाता है। एक फ़ाइल या डायरेक्टरी को कभी भी कई आउटपुट फ़ाइलों में विभाजित नहीं किया जाएगा।

रिमोट रिपॉजिटरी

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

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

# --remote के बिना शॉर्टहैंड का उपयोग करके (स्वतः पहचाना गया)
repomix user/repo

# विशिष्ट ब्रांच/टैग/कमिट
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695

फ़ाइल सूची इनपुट (stdin)

अधिकतम लचीलेपन के लिए stdin के माध्यम से फ़ाइल पथ पास करें:

bash
# find कमांड का उपयोग करके
find src -name "*.ts" -type f | repomix --stdin

# ट्रैक की गई फ़ाइलें प्राप्त करने के लिए git का उपयोग करके
git ls-files "*.ts" | repomix --stdin

# फ़ाइलें खोजने के लिए ripgrep (rg) का उपयोग करके
rg --files --type ts | repomix --stdin

# विशिष्ट सामग्री वाली फ़ाइलें खोजने के लिए grep का उपयोग करके
grep -l "TODO" **/*.ts | repomix --stdin

# विशिष्ट सामग्री वाली फ़ाइलें खोजने के लिए ripgrep का उपयोग करके
rg -l "TODO|FIXME" --type ts | repomix --stdin

# फ़ाइलें खोजने के लिए sharkdp/fd का उपयोग करके
fd -e ts | repomix --stdin

# सभी फ़ाइलों में से चुनने के लिए fzf का उपयोग करके
fzf -m | repomix --stdin

# fzf के साथ इंटरैक्टिव फ़ाइल चयन
find . -name "*.ts" -type f | fzf -m | repomix --stdin

# glob पैटर्न के साथ ls का उपयोग करके
ls src/**/*.ts | repomix --stdin

# फ़ाइल पथ वाली फ़ाइल से
cat file-list.txt | repomix --stdin

# echo के साथ प्रत्यक्ष इनपुट
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin

--stdin विकल्प आपको फ़ाइल पथों की सूची को Repomix में पाइप करने की अनुमति देता है, जो आपको पैक करने के लिए फ़ाइलों का चयन करने में अधिकतम लचीलापन प्रदान करता है।

--stdin का उपयोग करते समय, निर्दिष्ट फ़ाइलें प्रभावी रूप से include पैटर्न में जोड़ी जाती हैं। इसका मतलब है कि सामान्य include और ignore व्यवहार अभी भी लागू होता है: stdin के माध्यम से निर्दिष्ट फ़ाइलें अभी भी बाहर रखी जाएंगी यदि वे ignore पैटर्न से मेल खाती हैं।

NOTE

--stdin का उपयोग करते समय, फ़ाइल पथ सापेक्ष या पूर्ण हो सकते हैं, और Repomix स्वचालित रूप से पथ रिज़ॉल्यूशन और डुप्लिकेशन हैंडलिंग करेगा।

कोड कम्प्रेशन

कोड संरचना को संरक्षित करते हुए टोकन संख्या कम करें। विवरण के लिए कोड कम्प्रेशन गाइड देखें।

bash
repomix --compress

# आप इसे रिमोट रिपॉजिटरी के साथ भी उपयोग कर सकते हैं:
repomix --remote yamadashy/repomix --compress

Git एकीकरण

AI विश्लेषण के लिए विकास संदर्भ प्रदान करने हेतु Git जानकारी शामिल करें:

bash
# git diffs शामिल करें (अप्रतिबद्ध परिवर्तन)
repomix --include-diffs

# git कमिट logs शामिल करें (डिफ़ॉल्ट रूप से अंतिम 50 कमिट)
repomix --include-logs

# विशिष्ट संख्या में कमिट शामिल करें
repomix --include-logs --include-logs-count 10

# diffs और logs दोनों शामिल करें
repomix --include-diffs --include-logs

यह निम्नलिखित के बारे में मूल्यवान संदर्भ जोड़ता है:

  • हाल के परिवर्तन: Git diffs अप्रतिबद्ध संशोधन दिखाते हैं
  • विकास पैटर्न: Git logs प्रकट करते हैं कि कौन सी फ़ाइलें आमतौर पर एक साथ बदली जाती हैं
  • कमिट इतिहास: हाल के कमिट संदेश विकास फोकस में अंतर्दृष्टि प्रदान करते हैं
  • फ़ाइल संबंध: समझना कि कौन सी फ़ाइलें एक ही कमिट में संशोधित होती हैं

टोकन संख्या अनुकूलन

अपने कोडबेस के टोकन वितरण को समझना AI इंटरैक्शन को अनुकूलित करने के लिए महत्वपूर्ण है। अपने पूरे प्रोजेक्ट में टोकन उपयोग को देखने के लिए --token-count-tree विकल्प का उपयोग करें:

bash
repomix --token-count-tree

यह टोकन गिनती के साथ आपके कोडबेस का पदानुक्रमित दृश्य प्रदर्शित करता है:

🔢 Token Count Tree:
────────────────────
└── src/ (70,925 tokens)
    ├── cli/ (12,714 tokens)
    │   ├── actions/ (7,546 tokens)
    │   └── reporters/ (990 tokens)
    └── core/ (41,600 tokens)
        ├── file/ (10,098 tokens)
        └── output/ (5,808 tokens)

आप बड़ी फ़ाइलों पर ध्यान केंद्रित करने के लिए न्यूनतम टोकन सीमा भी सेट कर सकते हैं:

bash
repomix --token-count-tree 1000  # केवल 1000+ टोकन वाली फ़ाइलें/डायरेक्टरी दिखाएँ

यह आपकी सहायता करता है:

  • टोकन-भारी फ़ाइलों की पहचान करने में जो AI संदर्भ सीमा को पार कर सकती हैं
  • फ़ाइल चयन को अनुकूलित करने में --include और --ignore पैटर्न का उपयोग करके
  • संपीड़न रणनीतियों की योजना बनाने में सबसे बड़े योगदानकर्ताओं को लक्षित करके
  • सामग्री बनाम संदर्भ को संतुलित करने में जब AI विश्लेषण के लिए कोड तैयार किया जा रहा हो

आउटपुट फ़ॉर्मेट

XML (डिफ़ॉल्ट)

bash
repomix --style xml

Markdown

bash
repomix --style markdown

JSON

bash
repomix --style json

प्लेन टेक्स्ट

bash
repomix --style plain

अतिरिक्त विकल्प

टिप्पणियाँ हटाएँ

समर्थित भाषाओं और विवरण के लिए टिप्पणी हटाना देखें।

bash
repomix --remove-comments

लाइन नंबर दिखाएँ

bash
repomix --output-show-line-numbers

क्लिपबोर्ड पर कॉपी करें

bash
repomix --copy

सुरक्षा जाँच अक्षम करें

Repomix क्या पता लगाता है, इसके विवरण के लिए सुरक्षा देखें।

bash
repomix --no-security-check

कॉन्फ़िगरेशन

कॉन्फ़िगरेशन फ़ाइल आरंभ करें:

bash
repomix --init

विस्तृत विकल्पों के लिए कॉन्फ़िगरेशन गाइड देखें।

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

Released under the MIT License.