बुनियादी उपयोग
Repomix का उपयोग करना आसान है। यहां बताया गया है कि आप अपने कोडबेस को AI-फ्रेंडली फॉर्मेट में पैक करने के लिए इसका उपयोग कैसे कर सकते हैं।
बुनियादी कमांड
अपने प्रोजेक्ट डायरेक्टरी में, बस निम्न कमांड चलाएं:
bash
repomix
यह आपके वर्तमान डायरेक्टरी में एक repomix-output.xml
फाइल जनरेट करेगा, जिसमें आपका पूरा रिपॉजिटरी AI-फ्रेंडली XML फॉर्मेट में होगा।
विशिष्ट डायरेक्टरी को पैक करना
आप एक विशिष्ट डायरेक्टरी को पैक कर सकते हैं:
bash
repomix path/to/directory
विशिष्ट फाइलों को शामिल करना
आप ग्लोब पैटर्न का उपयोग करके विशिष्ट फाइलों या डायरेक्टरी को शामिल कर सकते हैं:
bash
repomix --include "src/**/*.ts,**/*.md"
फाइलों को बाहर रखना
आप विशिष्ट फाइलों या डायरेक्टरी को बाहर रख सकते हैं:
bash
repomix --ignore "**/*.log,tmp/"
आउटपुट फॉर्मेट
आप विभिन्न आउटपुट फॉर्मेट में से चुन सकते हैं:
bash
# XML फॉर्मेट (डिफॉल्ट)
repomix --style xml
# मार्कडाउन फॉर्मेट
repomix --style markdown
# प्लेन टेक्स्ट फॉर्मेट
repomix --style plain
आउटपुट फाइल का नाम बदलना
आप आउटपुट फाइल का नाम बदल सकते हैं:
bash
repomix --output-file custom-name.xml
कॉन्फिगरेशन फाइल का उपयोग
आप एक कॉन्फिगरेशन फाइल बना सकते हैं जिसमें आपकी सभी सेटिंग्स हों:
bash
repomix --init
यह आपके वर्तमान डायरेक्टरी में एक repomix.config.json
फाइल बनाएगा। आप इसे अपनी आवश्यकताओं के अनुसार संपादित कर सकते हैं।
कोड संपीड़न
bash
repomix --compress
# आप इसे रिमोट रिपॉज़िटरी के साथ भी उपयोग कर सकते हैं:
repomix --remote yamadashy/repomix --compress
टोकन संख्या अनुकूलन
अपने कोडबेस के टोकन वितरण को समझना 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 विश्लेषण के लिए कोड तैयार करते समय
रिमोट रिपॉजिटरी को पैक करना
आप GitHub रिपॉजिटरी को सीधे पैक कर सकते हैं:
bash
# शॉर्टहैंड फॉर्मेट का उपयोग करके
npx repomix --remote yamadashy/repomix
# पूर्ण URL का उपयोग करके
npx repomix --remote https://github.com/yamadashy/repomix
फ़ाइल सूची इनपुट (stdin)
अधिकतम लचीलेपन के लिए stdin के माध्यम से फ़ाइल पथ पास करें:
bash
# 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 को अनुकूलित करें
- सुरक्षा सुविधाओं के बारे में जानें