All skills
Skillintermediate

कॉन्फिगरेशन

Repomix को कॉन्फिगरेशन फ़ाइल या कमांड-लाइन विकल्पों का उपयोग करके कॉन्फिगर किया जा सकता है। कॉन्फिगरेशन फ़ाइल आपको अपने कोडबेस के प्रसंस्करण और आउटपुट के विभिन्न पहलुओं को अनुकूलित करने की अनुमति देती है।

Claude Code Knowledge Pack7/10/2026

Overview

कॉन्फिगरेशन

Repomix को कॉन्फिगरेशन फ़ाइल या कमांड-लाइन विकल्पों का उपयोग करके कॉन्फिगर किया जा सकता है। कॉन्फिगरेशन फ़ाइल आपको अपने कोडबेस के प्रसंस्करण और आउटपुट के विभिन्न पहलुओं को अनुकूलित करने की अनुमति देती है।

कॉन्फिगरेशन फ़ाइल प्रारूप

Repomix लचीलेपन और उपयोग में आसानी के लिए कई कॉन्फिगरेशन फ़ाइल प्रारूपों का समर्थन करता है।

Repomix स्वचालित रूप से निम्नलिखित प्राथमिकता क्रम में कॉन्फिगरेशन फ़ाइलों को खोजेगा:

  1. TypeScript (repomix.config.ts, repomix.config.mts, repomix.config.cts)
  2. JavaScript/ES Module (repomix.config.js, repomix.config.mjs, repomix.config.cjs)
  3. JSON (repomix.config.json5, repomix.config.jsonc, repomix.config.json)

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

अपनी प्रोजेक्ट डायरेक्टरी में एक कॉन्फिगरेशन फ़ाइल बनाएं:

repomix --init

यह डिफ़ॉल्ट सेटिंग्स के साथ एक repomix.config.json फ़ाइल बनाएगा। आप एक ग्लोबल कॉन्फिगरेशन फ़ाइल भी बना सकते हैं जो स्थानीय कॉन्फिगरेशन नहीं मिलने पर फ़ॉलबैक के रूप में उपयोग होगी:

repomix --init --global

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

TypeScript कॉन्फिगरेशन फ़ाइलें पूर्ण टाइप चेकिंग और IDE समर्थन के साथ सर्वोत्तम developer अनुभव प्रदान करती हैं।

इंस्टॉलेशन:

TypeScript या JavaScript कॉन्फिगरेशन को defineConfig के साथ उपयोग करने के लिए, आपको Repomix को dev dependency के रूप में इंस्टॉल करना होगा:

npm install -D repomix

उदाहरण:

// repomix.config.ts

  output: {
    filePath: 'output.xml',
    style: 'xml',
    removeComments: true,
  },
  ignore: {
    customPatterns: ['**/node_modules/**', '**/dist/**'],
  },
});

लाभ:

  • ✅ आपके IDE में पूर्ण TypeScript टाइप चेकिंग
  • ✅ उत्कृष्ट IDE autocomplete और IntelliSense
  • ✅ गतिशील मान का उपयोग करें (timestamps, environment variables, आदि)

गतिशील मान उदाहरण:

// repomix.config.ts

// Timestamp-आधारित फ़ाइल नाम generate करें
const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-');

  output: {
    filePath: `output-${timestamp}.xml`,
    style: 'xml',
  },
});

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

JavaScript कॉन्फिगरेशन फ़ाइलें TypeScript की तरह ही काम करती हैं, defineConfig और गतिशील मानों का समर्थन करती हैं।

कॉन्फिगरेशन विकल्प

विकल्पविवरणडिफ़ॉल्ट
input.maxFileSizeप्रोसेस करने के लिए अधिकतम फ़ाइल आकार बाइट्स में। इससे बड़ी फ़ाइलें छोड़ दी जाएंगी। बड़ी बाइनरी फ़ाइलों या डेटा फ़ाइलों को बाहर करने के लिए उपयोगी50000000
output.filePathआउटपुट फ़ाइल का नाम। XML, Markdown, और सादे टेक्स्ट फ़ॉर्मेट का समर्थन करता है"repomix-output.xml"
output.styleआउटपुट स्टाइल (xml, markdown, json, plain)। प्रत्येक फ़ॉर्मेट के विभिन्न AI टूल्स के लिए अपने फायदे हैं"xml"
output.parsableStyleचुनी गई स्टाइल स्कीमा के अनुसार आउटपुट को एस्केप करना है या नहीं। बेहतर पार्सिंग सक्षम करता है लेकिन टोकन संख्या बढ़ा सकता हैfalse
output.compressसंरचना को संरक्षित करते हुए टोकन संख्या कम करने के लिए Tree-sitter का उपयोग करके बुद्धिमान कोड निष्कर्षण करना है या नहींfalse
output.headerTextफ़ाइल हेडर में शामिल करने के लिए कस्टम टेक्स्ट। AI टूल्स के लिए संदर्भ या निर्देश प्रदान करने के लिए उपयोगीnull
output.instructionFilePathAI प्रसंस्करण के लिए विस्तृत कस्टम निर्देशों वाली फ़ाइल का पथnull
output.fileSummaryशुरुआत में फ़ाइल संख्या, आकार और अन्य मेट्रिक्स दिखाने वाला सारांश सेक्शन शामिल करना है या नहींtrue
output.directoryStructureआउटपुट में डायरेक्टरी संरचना शामिल करनी है या नहीं। AI को प्रोजेक्ट संगठन समझने में मदद करता हैtrue
output.filesआउटपुट में फ़ाइल सामग्री शामिल करनी है या नहीं। केवल संरचना और मेटाडेटा शामिल करने के लिए false सेट करेंtrue
output.removeCommentsसमर्थित फ़ाइल प्रकारों से टिप्पणियां हटानी हैं या नहीं। शोर और टोकन संख्या कम कर सकता हैfalse
output.removeEmptyLinesटोकन संख्या कम करने के लिए आउटपुट से खाली लाइनें हटानी हैं या नहींfalse
output.showLineNumbersप्रत्येक लाइन में लाइन नंबर जोड़ना है या नहीं। कोड के विशिष्ट भागों को संदर्भित करने के लिए सहायकfalse
output.truncateBase64टोकन संख्या कम करने के लिए लंबी base64 डेटा स्ट्रिंग्स (जैसे, छवियां) को छोटा करना है या नहींfalse
output.copyToClipboardफ़ाइल सेव करने के अतिरिक्त आउटपुट को सिस्टम क्लिपबोर्ड पर कॉपी करना है या नहींfalse
output.splitOutputअधिकतम आकार प्रति भाग के अनुसार आउटपुट को कई नंबर वाली फ़ाइलों में विभाजित करें (उदा., ~1MB के लिए 1000000)। CLI पठनीय आकार जैसे 500kb या 2mb स्वीकार करता है। प्रत्येक फ़ाइल को सीमा के अंदर रखता है और स्रोत फ़ाइलों को भागों में विभाजित होने से रोकता हैसेट नहीं
output.topFilesLengthसारांश में दिखाने के लिए शीर्ष फ़ाइलों की संख्या। 0 पर सेट करने से कोई सारांश प्रदर्शित नहीं होगा5
output.includeEmptyDirectoriesरिपॉजिटरी संरचना में खाली डायरेक्टरियां शामिल करनी हैं या नहींfalse
output.includeFullDirectoryStructureinclude पैटर्न का उपयोग करते समय, केवल शामिल फ़ाइलों को प्रोसेस करते हुए, पूर्ण डायरेक्टरी ट्री (ignore पैटर्न का सम्मान करते हुए) प्रदर्शित करना है या नहीं। AI विश्लेषण के लिए पूर्ण रिपॉजिटरी संदर्भ प्रदान करता हैfalse
output.git.sortByChangesGit परिवर्तन संख्या के अनुसार फ़ाइलों को सॉर्ट करना है या नहीं। अधिक परिवर्तन वाली फ़ाइलें नीचे दिखाई देती हैंtrue
output.git.sortByChangesMaxCommitsGit परिवर्तनों का विश्लेषण करने के लिए अधिकतम कमिट संख्या। प्रदर्शन के लिए इतिहास गहराई को सीमित करता है100
output.git.includeDiffsआउटपुट में Git अंतर शामिल करना है या नहीं। वर्क ट्री और स्टेज्ड परिवर्तनों को अलग-अलग दिखाता हैfalse
output.git.includeLogsआउटपुट में Git logs शामिल करना है या नहीं। कमिट तारीखों, संदेशों और फ़ाइल पथों को दिखाता हैfalse
output.git.includeLogsCountआउटपुट में शामिल करने के लिए git log कमिट की संख्या50
includeशामिल करने के लिए फ़ाइल पैटर्न glob patterns का उपयोग करके[]
ignore.useGitignoreप्रोजेक्ट की .gitignore फ़ाइल के पैटर्न का उपयोग करना है या नहींtrue
ignore.useDotIgnoreप्रोजेक्ट की .ignore फ़ाइल के पैटर्न का उपयोग करना है या नहींtrue
ignore.useDefaultPatternsडिफ़ॉल्ट ignore पैटर्न (node_modules, .git, आदि) का उपयोग करना है या नहींtrue
ignore.customPatternsअतिरिक्त ignore पैटर्न glob patterns का उपयोग करके[]
security.enableSecurityCheckसंवेदनशील जानकारी का पता लगाने के लिए Secretlint का उपयोग करके सुरक्षा जांच करनी है या नहींtrue
tokenCount.encodingOpenAI संगत टोकन काउंट एन्कोडिंग (उदा., GPT-4o के लिए o200k_base, GPT-4/3.5 के लिए cl100k_base)। gpt-tokenizer का उपयोग करता है।"o200k_base"

कॉन्फिगरेशन फ़ाइल JSON5 सिंटैक्स का समर्थन करती है, जो निम्नलिखित की अनुमति देता है:

  • टिप्पणियां (एकल-लाइन और मल्टी-लाइन दोनों)
  • ऑब्जेक्ट्स और एरे में trailing commas
  • बिना quotes के प्रॉपर्टी नाम
  • अधिक लचीला स्ट्रिंग सिंटैक्स

स्कीमा सत्यापन

आप $schema प्रॉपर्टी जोड़कर अपनी कॉन्फिगरेशन फ़ाइल के लिए स्कीमा सत्यापन सक्षम कर सकते हैं:

{
  "$schema": "https://repomix.com/schemas/latest/schema.json",
  "output": {
    "filePath": "repomix-output.md",
    "style": "markdown"
  }
}

यह JSON स्कीमा समर्थित एडिटर्स में auto-completion और validation प्रदान करता है।

उदाहरण कॉन्फिगरेशन फ़ाइल

यहां एक पूर्ण कॉन्फिगरेशन फ़ाइल (repomix.config.json) का उदाहरण है:

{
  "$schema": "https://repomix.com/schemas/latest/schema.json",
  "input": {
    "maxFileSize": 50000000
  },
  "output": {
    "filePath": "repomix-output.xml",
    "style": "xml",
    "parsableStyle": false,
    "compress": false,
    "headerText": "पैकेज्ड फ़ाइल के लिए कस्टम हेडर जानकारी।",
    "fileSummary": true,
    "directoryStructure": true,
    "files": true,
    "removeComments": false,
    "removeEmptyLines": false,
    "topFilesLength": 5,
    "showLineNumbers": false,
    "truncateBase64": false,
    "copyToClipboard": false,
    "includeEmptyDirectories": false,
    "git": {
      "sortByChanges": true,
      "sortByChangesMaxCommits": 100,
      "includeDiffs": false,
      "includeLogs": false,
      "includeLogsCount": 50
    }
  },
  "include": ["**/*"],
  "ignore": {
    "useGitignore": true,
    "useDefaultPatterns": true,
    // पैटर्न .repomixignore में भी निर्दिष्ट किए जा सकते हैं
    "customPatterns": [
      "additional-folder",
      "**/*.log"
    ],
  },
  "security": {
    "enableSecurityCheck": true
  },
  "tokenCount": {
    "encoding": "o200k_base"
  }
}

कॉन्फिगरेशन फ़ाइल स्थान

Repomix निम्नलिखित क्रम में कॉन्फिगरेशन फ़ाइलों की तलाश करता है:

  1. वर्तमान डायरेक्टरी में स्थानीय कॉन्फिगरेशन फ़ाइल (प्राथमिकता क्रम: TS > JS > JSON)
    • TypeScript: repomix.config.ts, repomix.config.mts, repomix.config.cts
    • JavaScript: repomix.config.js, repomix.config.mjs, repomix.config.cjs
    • JSON: repomix.config.json5, repomix.config.jsonc, repomix.config.json
  2. ग्लोबल कॉन्फिगरेशन फ़ाइल (प्राथमिकता क्रम: TS > JS > JSON)
    • Windows:
      • TypeScript: %LOCALAPPDATA%\\Repomix\\repomix.config.ts, .mts, .cts
      • JavaScript: %LOCALAPPDATA%\\Repomix\\repomix.config.js, .mjs, .cjs
      • JSON: %LOCALAPPDATA%\\Repomix\\repomix.config.json5, .jsonc, .json
    • macOS/Linux:
      • TypeScript: ~/.config/repomix/repomix.config.ts, .mts, .cts
      • JavaScript: ~/.config/repomix/repomix.config.js, .mjs, .cjs
      • JSON: ~/.config/repomix/repomix.config.json5, .jsonc, .json

कमांड-लाइन विकल्प कॉन्फिगरेशन फ़ाइल सेटिंग्स से प्राथमिकता रखते हैं।

Ignore पैटर्न

Repomix कई तरीके प्रदान करता है जिससे आप निर्दिष्ट कर सकते हैं कि कौन सी फ़ाइलों को ignore करना है:

  • .gitignore: डिफ़ॉल्ट रूप से, प्रोजेक्ट की .gitignore फ़ाइल और .git/info/exclude में सूचीबद्ध पैटर्न का उपयोग किया जाता है। इस व्यवहार को ignore.useGitignore सेटिंग या --no-gitignore CLI विकल्प के साथ नियंत्रित किया जा सकता है।
  • .ignore: आप अपने प्रोजेक्ट रूट में .ignore फ़ाइल का उपयोग कर सकते हैं, जो .gitignore के समान प्रारूप का पालन करती है। यह फ़ाइल ripgrep और the silver searcher जैसे उपकरणों द्वारा उपयोग की जाती है, जिससे कई ignore फ़ाइलों को बनाए रखने की आवश्यकता कम हो जाती है। इस व्यवहार को ignore.useDotIgnore सेटिंग या --no-dot-ignore CLI विकल्प के साथ नियंत्रित किया जा सकता है।
  • डिफ़ॉल्ट पैटर्न: Repomix में आमतौर पर बाहर की गई फ़ाइलों और डायरेक्टरीज़ की एक डिफ़ॉल्ट सूची शामिल है (जैसे node_modules, .git, बाइनरी फ़ाइलें)। इस सुविधा को ignore.useDefaultPatterns सेटिंग या --no-default-patterns CLI विकल्प के साथ नियंत्रित किया जा सकता है। अधिक विवरण के लिए कृपया defaultIgnore.ts देखें।
  • .repomixignore: आप Repomix-विशिष्ट ignore पैटर्न को परिभाषित करने के लिए अपने प्रोजेक्ट रूट में .repomixignore फ़ाइल बना सकते हैं। यह फ़ाइल .gitignore के समान प्रारूप का पालन करती है।
  • कस्टम पैटर्न: अतिरिक्त ignore पैटर्न को कॉन्फिगरेशन फ़ाइल में ignore.customPatterns विकल्प का उपयोग करके निर्दिष्ट किया जा सकता है। आप इस सेटिंग को -i, --ignore कमांड लाइन विकल्प के साथ ओवरराइट कर सकते हैं।

प्राथमिकता क्रम (उच्च से निम्न):

  1. कस्टम पैटर्न (ignore.customPatterns)
  2. Ignore फ़ाइलें (.repomixignore, .ignore, .gitignore, और .git/info/exclude):
    • जब नेस्टेड डायरेक्टरीज़ में हों, तो गहरी डायरेक्टरीज़ में फ़ाइलें अधिक प्राथमिकता रखती हैं
    • जब समान डायरेक्टरी में हों, तो ये फ़ाइलें बिना किसी विशेष क्रम के मर्ज की जाती हैं
  3. डिफ़ॉल्ट पैटर्न (यदि ignore.useDefaultPatterns true है और --no-default-patterns उपयोग नहीं किया गया है)

.repomixignore का उदाहरण:

# कैश डायरेक्टरीज़
.cache/
tmp/

# बिल्ड आउटपुट
dist/
build/

# लॉग्स
*.log

डिफ़ॉल्ट Ignore पैटर्न

जब ignore.useDefaultPatterns true है, तो Repomix स्वचालित रूप से सामान्य पैटर्न को ignore करता है:

node_modules/**
.git/**
coverage/**
dist/**

पूरी सूची के लिए defaultIgnore.ts देखें

उन्नत सुविधाएं

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

कोड कम्प्रेशन सुविधा, output.compress: true के साथ सक्षम, Tree-sitter का उपयोग करके आवश्यक कोड संरचनाओं को बुद्धिमानी से निकालती है जबकि implementation details को हटाती है। यह महत्वपूर्ण संरचनात्मक जानकारी बनाए रखते हुए टोकन संख्या कम करने में मदद करता है।

मुख्य लाभ:

  • टोकन संख्या में महत्वपूर्ण कमी
  • क्लास और फ़ंक्शन signatures को संरक्षित करता है
  • imports और exports को बनाए रखता है
  • type definitions और interfaces को संरक्षित करता है
  • फ़ंक्शन bodies और implementation details को हटाता है

अधिक विवरण और उदाहरणों के लिए, कोड कम्प्रेशन गाइड देखें।

Git एकीकरण

output.git कॉन्फिगरेशन शक्तिशाली Git-aware सुविधाएं प्रदान करता है:

  • sortByChanges: जब true है, तो फ़ाइलें Git परिवर्तनों की संख्या (फ़ाइल को modify करने वाले commits) के अनुसार सॉर्ट होती हैं। अध