All skills
Skillintermediate

Yapılandırma

Repomix, bir yapılandırma dosyası veya komut satırı seçenekleri kullanılarak yapılandırılabilir. Yapılandırma dosyası, Repomix'in kod tabanınızı işleme ve çıktı alma biçiminin çeşitli yönlerini özelleştirmenize olanak tanır.

Claude Code Knowledge Pack7/10/2026

Overview

Yapılandırma

Repomix, bir yapılandırma dosyası veya komut satırı seçenekleri kullanılarak yapılandırılabilir. Yapılandırma dosyası, Repomix'in kod tabanınızı işleme ve çıktı alma biçiminin çeşitli yönlerini özelleştirmenize olanak tanır.

Yapılandırma Dosyası Formatları

Repomix, esneklik ve kullanım kolaylığı için birden fazla yapılandırma dosyası formatını destekler.

Repomix, yapılandırma dosyalarını otomatik olarak aşağıdaki öncelik sırasına göre arar:

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

JSON Yapılandırması

Proje dizininizde bir yapılandırma dosyası oluşturun:

repomix --init

Bu komut, varsayılan ayarlarla bir repomix.config.json dosyası oluşturur. Yerel yapılandırma bulunamadığında yedek olarak kullanılacak global bir yapılandırma dosyası da oluşturabilirsiniz:

repomix --init --global

TypeScript Yapılandırması

TypeScript yapılandırma dosyaları, tam tür denetimi ve IDE desteğiyle en iyi geliştirici deneyimini sunar.

Kurulum:

TypeScript veya JavaScript yapılandırmasını defineConfig ile kullanmak için Repomix'i geliştirme bağımlılığı olarak yüklemeniz gerekir:

npm install -D repomix

Örnek:

// repomix.config.ts

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

Avantajlar:

  • IDE'nizde tam TypeScript tür denetimi
  • Mükemmel IDE otomatik tamamlama ve IntelliSense
  • Dinamik değerler kullanabilme (zaman damgaları, ortam değişkenleri vb.)

Dinamik Değer Örneği:

// repomix.config.ts

// Generate timestamp-based filename
const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-');

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

JavaScript Yapılandırması

JavaScript yapılandırma dosyaları, defineConfig ve dinamik değerleri destekleyerek TypeScript ile aynı şekilde çalışır.

Yapılandırma Seçenekleri

SeçenekAçıklamaVarsayılan
input.maxFileSizeİşlenecek maksimum dosya boyutu (bayt). Bu boyutu aşan dosyalar atlanır. Büyük ikili dosyaları veya veri dosyalarını hariç tutmak için kullanışlıdır50000000
output.filePathÇıktı dosyasının adı. XML, Markdown ve düz metin formatlarını destekler"repomix-output.xml"
output.styleÇıktının stili (xml, markdown, json, plain). Her formatın farklı AI araçları için kendine özgü avantajları vardır"xml"
output.parsableStyleÇıktının seçilen stil şemasına göre kaçış karakteriyle işlenip işlenmeyeceği. Daha iyi ayrıştırma sağlar ancak token sayısını artırabilirfalse
output.compressToken sayısını azaltırken yapıyı korumak amacıyla Tree-sitter kullanarak akıllı kod çıkarma yapılıp yapılmayacağıfalse
output.headerTextDosya başlığına dahil edilecek özel metin. AI araçları için bağlam veya talimat sağlamak için kullanışlıdırnull
output.instructionFilePathAI işleme için ayrıntılı özel talimatlar içeren dosyanın yolunull
output.fileSummaryBaşlangıçta dosya sayıları, boyutları ve diğer metrikleri gösteren özet bölümünün dahil edilip edilmeyeceğitrue
output.directoryStructureÇıktıya dizin yapısının dahil edilip edilmeyeceği. AI'ın proje organizasyonunu anlamasına yardımcı olurtrue
output.filesÇıktıya dosya içeriklerinin dahil edilip edilmeyeceği. Yalnızca yapı ve meta veri dahil etmek için false olarak ayarlayıntrue
output.removeCommentsDesteklenen dosya türlerinden yorumların kaldırılıp kaldırılmayacağı. Gürültüyü ve token sayısını azaltabilirfalse
output.removeEmptyLinesToken sayısını azaltmak için çıktıdan boş satırların kaldırılıp kaldırılmayacağıfalse
output.showLineNumbersHer satıra satır numarası eklenip eklenmeyeceği. Kodun belirli bölümlerine atıfta bulunmak için kullanışlıdırfalse
output.truncateBase64Token sayısını azaltmak için uzun base64 veri dizelerinin (örn. görseller) kırpılıp kırpılmayacağıfalse
output.copyToClipboardDosyayı kaydetmeye ek olarak çıktının sistem panosuna kopyalanıp kopyalanmayacağıfalse
output.splitOutputÇıktıyı parça başına maksimum boyuta göre numaralı birden fazla dosyaya böl (örn. yaklaşık 1MB için 1000000). CLI, 500kb veya 2mb gibi insan tarafından okunabilir boyutları kabul eder. Her dosyayı sınırın altında tutar ve dosyaların parçalar arasında bölünmesini önlerAyarlanmamış
output.topFilesLengthÖzette gösterilecek en iyi dosya sayısı. 0 olarak ayarlanırsa özet gösterilmez5
output.includeEmptyDirectoriesDepo yapısına boş dizinlerin dahil edilip edilmeyeceğifalse
output.includeFullDirectoryStructureinclude kalıpları kullanılırken yalnızca dahil edilen dosyaları işlerken tam dizin ağacının (yoksayma kalıplarına uyarak) görüntülenip görüntülenmeyeceği. AI analizi için tam depo bağlamı sağlarfalse
output.git.sortByChangesDosyaların git değişiklik sayısına göre sıralanıp sıralanmayacağı. Daha fazla değişikliğe sahip dosyalar altta görünürtrue
output.git.sortByChangesMaxCommitsGit değişiklikleri için analiz edilecek maksimum commit sayısı. Performans için geçmiş derinliğini sınırlar100
output.git.includeDiffsGit farklarının çıktıya dahil edilip edilmeyeceği. Hem çalışma ağacını hem de aşamalı değişiklikleri ayrı ayrı gösterirfalse
output.git.includeLogsGit günlüklerinin çıktıya dahil edilip edilmeyeceği. Tarihler, mesajlar ve dosya yollarıyla commit geçmişini gösterirfalse
output.git.includeLogsCountÇıktıya dahil edilecek git günlüğü commit sayısı50
includeGlob kalıpları kullanılarak dahil edilecek dosya kalıpları[]
ignore.useGitignoreProjenin .gitignore dosyasındaki kalıpların kullanılıp kullanılmayacağıtrue
ignore.useDotIgnoreProjenin .ignore dosyasındaki kalıpların kullanılıp kullanılmayacağıtrue
ignore.useDefaultPatternsVarsayılan yoksayma kalıplarının kullanılıp kullanılmayacağı (node_modules, .git vb.)true
ignore.customPatternsGlob kalıpları kullanılarak yoksayılacak ek kalıplar[]
security.enableSecurityCheckHassas bilgileri tespit etmek için Secretlint kullanılarak güvenlik kontrollerinin yapılıp yapılmayacağıtrue
tokenCount.encodingOpenAI uyumlu token sayımı kodlaması (ör. GPT-4o için o200k_base, GPT-4/3.5 için cl100k_base). gpt-tokenizer kullanır."o200k_base"

Yapılandırma dosyası JSON5 sözdizimini destekler; bu şunlara olanak tanır:

  • Yorumlar (hem tek satırlı hem de çok satırlı)
  • Nesnelerde ve dizilerde sondaki virgüller
  • Tırnaksız özellik adları
  • Daha esnek dize sözdizimi

Şema Doğrulaması

$schema özelliğini ekleyerek yapılandırma dosyanız için şema doğrulamasını etkinleştirebilirsiniz:

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

Bu, JSON şemasını destekleyen editörlerde otomatik tamamlama ve doğrulama sağlar.

Örnek Yapılandırma Dosyası

Eksiksiz bir yapılandırma dosyası örneği (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": "Custom header information for the packed file.",
    "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,
    // Patterns can also be specified in .repomixignore
    "customPatterns": [
      "additional-folder",
      "**/*.log"
    ],
  },
  "security": {
    "enableSecurityCheck": true
  },
  "tokenCount": {
    "encoding": "o200k_base"
  }
}

Yapılandırma Dosyası Konumları

Repomix, yapılandırma dosyalarını aşağıdaki sırayla arar:

  1. Geçerli dizindeki yerel yapılandırma dosyası (öncelik sırası: 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. Global yapılandırma dosyası (öncelik sırası: 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

Komut satırı seçenekleri, yapılandırma dosyası ayarlarından önce gelir.

Dahil Etme Kalıpları

Repomix, glob kalıpları kullanılarak dahil edilecek dosyaların belirtilmesini destekler. Bu, daha esnek ve güçlü dosya seçimi sağlar:

  • Herhangi bir dizindeki tüm JavaScript dosyalarını dahil etmek için **/*.js kullanın
  • src dizini ve alt dizinlerindeki tüm dosyaları dahil etmek için src/**/* kullanın
  • src'deki JavaScript dosyalarını ve tüm Markdown dosyalarını dahil etmek için ["src/**/*.js", "**/*.md"] gibi birden fazla kalıbı birleştirin

Yapılandırma dosyanızda dahil etme kalıplarını belirtebilirsiniz:

{
  "include": ["src/**/*", "tests/**/*.test.js"]
}

Ya da tek seferlik filtreleme için --include komut satırı seçeneğini kullanın.

Yoksayma Kalıpları

Repomix, paketleme işlemi sırasında belirli dosyaları veya dizinleri hariç tutmak için yoksayma kalıpları belirlemeye yönelik birden fazla yöntem sunar:

  • .gitignore: Varsayılan olarak, projenizin .gitignore dosyalarında ve .git/info/exclude içinde listelenen kalıplar kullanılır. Bu davranış ignore.useGitignore ayarı veya --no-gitignore CLI seçeneğiyle kontrol edilebilir.
  • .ignore: Proje kökünüzde .gitignore ile aynı formatta bir .ignore dosyası kullanabilirsiniz. Bu dosya, ripgrep ve silver searcher gibi araçlar tarafından dikkate alınır ve birden fazla yoksayma dosyasını yönetme ihtiyacını azaltır. Bu davranış ignore.useDotIgnore ayarı veya --no-dot-ignore CLI seçeneğiyle kontrol edilebilir.
  • Varsayılan kalıplar: Repomix, yaygın olarak hariç tutulan dosya ve dizinlerin (örn. node_modules, .git, ikili dosyalar) varsayılan bir listesini içerir. Bu özellik ignore.useDefaultPatterns ayarı veya --no-default-patterns CLI seçeneğiyle kontrol edilebilir. Daha fazla ayrıntı için defaultIgnore.ts dosyasına bakın.
  • .repomixignore: Repomix'e özgü yoksayma kalıpları tanımlamak için proje kökünüzde .repomixignore dosyası oluşturabilirsiniz. Bu dosya .gitignore ile aynı formatı izler.
  • Özel kalıplar: Ek yoksayma kalıpları, yapılandırma dosyasındaki ignore.customPatterns seçeneği kullanılarak belirtilebilir. Bu ayarın üzerine -i, --ignore komut satırı seçeneğiyle yazabilirsiniz.

Öncelik Sırası (en yüksekten en düşüğe):

  1. Özel kalıplar (ignore.customPatterns)
  2. Yoksayma dosyaları (.repomixignore, .ignore, .gitignore ve .git/info/exclude):
    • İç içe dizinlerde, daha derin dizinlerdeki dosyalar daha yüksek önceliğe sahiptir
    • Aynı dizinde ise bu dosyalar belirli bir sıra gözetilmeksizin birleştirilir
  3. Varsayılan kalıplar (ignore.useDefaultPatterns true ise ve --no-default-patterns kullanılmıyorsa)

Bu yaklaşım, projenizin ihtiyaçlarına göre esnek dosya hariç tutma yapılandırmasına olanak tanır. Güvenlik açısından hassas dosyaların ve büyük ikili dosyaların hariç tutulmasını sağlayarak oluşturulan paket dosyasının boyutunu optimize etmeye ve gizli bilgilerin sızmasını önlemeye yardımcı olur.

Not: İkili dosyalar varsayılan olarak paketlenmiş çıktıya dahil edilmez, ancak yolları çıktı dosyasının "Depo Yapısı" bölümünde listelenir. Bu, paket