बुनियादी उपयोग
Repomix का उपयोग करना आसान है। यहां बताया गया है कि आप अपने कोडबेस को AI-फ्रेंडली फॉर्मेट में पैक करने के लिए इसका उपयोग कैसे कर सकते हैं।
बुनियादी कमांड
अपने प्रोजेक्ट डायरेक्टरी में, बस निम्न कमांड चलाएं:
repomixयह आपके वर्तमान डायरेक्टरी में एक repomix-output.xml फाइल जनरेट करेगा, जिसमें आपका पूरा रिपॉजिटरी AI-फ्रेंडली XML फॉर्मेट में होगा।
विशिष्ट डायरेक्टरी को पैक करना
आप एक विशिष्ट डायरेक्टरी को पैक कर सकते हैं:
repomix path/to/directoryविशिष्ट फाइलों को शामिल करना
आप ग्लोब पैटर्न का उपयोग करके विशिष्ट फाइलों या डायरेक्टरी को शामिल कर सकते हैं:
repomix --include "src/**/*.ts,**/*.md"फाइलों को बाहर रखना
आप विशिष्ट फाइलों या डायरेक्टरी को बाहर रख सकते हैं:
repomix --ignore "**/*.log,tmp/"आउटपुट फॉर्मेट
आप विभिन्न आउटपुट फॉर्मेट में से चुन सकते हैं:
# XML फॉर्मेट (डिफॉल्ट)
repomix --style xml
# मार्कडाउन फॉर्मेट
repomix --style markdown
# JSON फॉर्मेट
repomix --style json
# प्लेन टेक्स्ट फॉर्मेट
repomix --style plainआउटपुट फाइल का नाम बदलना
आप आउटपुट फाइल का नाम बदल सकते हैं:
repomix --output-file custom-name.xmlकॉन्फिगरेशन फाइल का उपयोग
आप एक कॉन्फिगरेशन फाइल बना सकते हैं जिसमें आपकी सभी सेटिंग्स हों:
repomix --initयह आपके वर्तमान डायरेक्टरी में एक repomix.config.json फाइल बनाएगा। आप इसे अपनी आवश्यकताओं के अनुसार संपादित कर सकते हैं।
कोड संपीड़न
repomix --compress
# आप इसे रिमोट रिपॉज़िटरी के साथ भी उपयोग कर सकते हैं:
repomix --remote yamadashy/repomix --compressGit एकीकरण
AI विश्लेषण के लिए विकास संदर्भ प्रदान करने हेतु Git जानकारी शामिल करें:
# 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 विकल्प का उपयोग करें:
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)आप बड़ी फ़ाइलों पर ध्यान केंद्रित करने के लिए न्यूनतम टोकन सीमा भी सेट कर सकते हैं:
repomix --token-count-tree 1000 # केवल 1000+ टोकन वाली फ़ाइलें/डायरेक्टरी दिखाएंयह आपकी सहायता करता है:
- टोकन-भारी फ़ाइलों की पहचान - जो AI संदर्भ सीमा को पार कर सकती हैं
- फ़ाइल चयन को अनुकूलित करना -
--includeऔर--ignoreपैटर्न का उपयोग करके - संपीड़न रणनीतियां योजना बनाना - सबसे बड़े योगदानकर्ताओं को लक्षित करके
- सामग्री बनाम संदर्भ संतुलन - AI विश्लेषण के लिए कोड तैयार करते समय
रिमोट रिपॉजिटरी को पैक करना
आप GitHub रिपॉजिटरी को सीधे पैक कर सकते हैं:
# शॉर्टहैंड फॉर्मेट का उपयोग करके
npx repomix --remote yamadashy/repomix
# पूर्ण URL का उपयोग करके
npx repomix --remote https://github.com/yamadashy/repomixफ़ाइल सूची इनपुट (stdin)
अधिकतम लचीलेपन के लिए stdin के माध्यम से फ़ाइल पथ पास करें:
# find कमांड का उपयोग करके
find src -name "*.ts" -type f | repomix --stdin
# git का उपयोग करके ट्रैक्ड फ़ाइलें प्राप्त करने के लिए
git ls-files "*.ts" | repomix --stdin
# विशिष्ट सामग्री वाली फ़ाइलें खोजने के लिए grep का उपयोग करके
grep -l "TODO" **/*.ts | repomix --stdin
# विशिष्ट सामग्री वाली फ़ाइलें खोजने के लिए ripgrep का उपयोग करके
rg -l "TODO|FIXME" --type ts | repomix --stdin
# फ़ाइलें खोजने के लिए ripgrep (rg) का उपयोग करके
rg --files --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 स्वचालित रूप से पथ रिज़ॉल्यूशन और डुप्लिकेशन हैंडलिंग करेगा।
AI के साथ आउटपुट का उपयोग
एक बार जब आपके पास पैक्ड फाइल है, तो आप इसे ChatGPT, Claude, या अन्य LLM के साथ उपयोग कर सकते हैं। बस फाइल को अपलोड करें और अपने प्रॉम्प्ट में इसका उल्लेख करें:
इस फाइल में मेरे रिपॉजिटरी की सभी फाइलें हैं। कृपया इसकी समीक्षा करें और मुझे बताएं कि क्या सुधार किए जा सकते हैं।अगला क्या है?
- कमांड लाइन विकल्पों के बारे में अधिक जानें
- कॉन्फिगरेशन के साथ Repomix को अनुकूलित करें
- सुरक्षा सुविधाओं के बारे में जानें