---
title: बुनियादी उपयोग
description: Directories, remote repositories, selected files, git diffs, commit logs, split outputs, token counts और compressed code pack करने के लिए Repomix CLI उपयोग करें।
---

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

Repomix का उपयोग करना आसान है। यहां बताया गया है कि आप अपने कोडबेस को AI-फ्रेंडली फॉर्मेट में पैक करने के लिए इसका उपयोग कैसे कर सकते हैं।

## बुनियादी कमांड

अपने प्रोजेक्ट डायरेक्टरी में, बस निम्न कमांड चलाएं:

```bash
repomix
```

यह आपके वर्तमान डायरेक्टरी में एक `repomix-output.xml` फाइल जनरेट करेगा, जिसमें आपका पूरा रिपॉजिटरी AI-फ्रेंडली XML फॉर्मेट में होगा।

## विशिष्ट डायरेक्टरी को पैक करना

आप एक विशिष्ट डायरेक्टरी को पैक कर सकते हैं:

```bash
repomix path/to/directory
```

## विशिष्ट फाइलों को शामिल करना

आप [ग्लोब पैटर्न](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) का उपयोग करके विशिष्ट फाइलों या डायरेक्टरी को शामिल कर सकते हैं:

```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
# XML फॉर्मेट (डिफॉल्ट)
repomix --style xml

# मार्कडाउन फॉर्मेट
repomix --style markdown

# JSON फॉर्मेट
repomix --style json

# प्लेन टेक्स्ट फॉर्मेट
repomix --style plain
```

## आउटपुट फाइल का नाम बदलना

आप आउटपुट फाइल का नाम बदल सकते हैं:

```bash
repomix --output-file custom-name.xml
```

## कॉन्फिगरेशन फाइल का उपयोग

आप एक कॉन्फिगरेशन फाइल बना सकते हैं जिसमें आपकी सभी सेटिंग्स हों:

```bash
repomix --init
```

यह आपके वर्तमान डायरेक्टरी में एक `repomix.config.json` फाइल बनाएगा। आप इसे अपनी आवश्यकताओं के अनुसार संपादित कर सकते हैं।

### कोड संपीड़न {#code-compression}

संरचना संरक्षित करते हुए टोकन संख्या कम करें। विवरण के लिए [कोड कम्प्रेशन गाइड](/hi/guide/code-compress) देखें।

```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 विश्लेषण के लिए कोड तैयार करते समय

## रिमोट रिपॉजिटरी को पैक करना

आप 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 के साथ उपयोग कर सकते हैं। बस फाइल को अपलोड करें और अपने प्रॉम्प्ट में इसका उल्लेख करें:

```
इस फाइल में मेरे रिपॉजिटरी की सभी फाइलें हैं। कृपया इसकी समीक्षा करें और मुझे बताएं कि क्या सुधार किए जा सकते हैं।
```

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

- [आउटपुट फॉर्मेट](/hi/guide/output) - XML, मार्कडाउन, JSON और प्लेन टेक्स्ट फॉर्मेट के बारे में जानें
- [कमांड लाइन विकल्प](/hi/guide/command-line-options) - पूर्ण CLI संदर्भ
- [प्रॉम्प्ट उदाहरण](/hi/guide/prompt-examples) - AI विश्लेषण के लिए उदाहरण प्रॉम्प्ट
- [उपयोग के मामले](/hi/guide/use-cases) - वास्तविक उदाहरण और वर्कफ़्लो
