Skip to content

Cấu hình

Repomix có thể được cấu hình bằng file cấu hình hoặc các tùy chọn dòng lệnh. File cấu hình cho phép bạn tùy chỉnh các khía cạnh khác nhau về cách xử lý và xuất ra codebase của bạn.

Các định dạng file cấu hình

Repomix hỗ trợ nhiều định dạng file cấu hình để mang lại sự linh hoạt và dễ sử dụng.

Repomix sẽ tự động tìm kiếm các file cấu hình theo thứ tự ưu tiên sau:

  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)

Cấu hình JSON

Tạo file cấu hình trong thư mục dự án của bạn:

bash
repomix --init

Điều này sẽ tạo file repomix.config.json với các cài đặt mặc định. Bạn cũng có thể tạo file cấu hình toàn cục sẽ được sử dụng làm phương án dự phòng khi không tìm thấy cấu hình cục bộ:

bash
repomix --init --global

Cấu hình TypeScript

File cấu hình TypeScript cung cấp trải nghiệm developer tốt nhất với kiểm tra kiểu đầy đủ và hỗ trợ IDE.

Cài đặt:

Để sử dụng cấu hình TypeScript hoặc JavaScript với defineConfig, bạn cần cài đặt Repomix như một dev dependency:

bash
npm install -D repomix

Ví dụ:

typescript
// repomix.config.ts
import { defineConfig } from 'repomix';

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

Lợi ích:

  • ✅ Kiểm tra kiểu TypeScript đầy đủ trong IDE của bạn
  • ✅ Autocomplete và IntelliSense tuyệt vời trong IDE
  • ✅ Sử dụng các giá trị động (timestamps, biến môi trường, v.v.)

Ví dụ về giá trị động:

typescript
// repomix.config.ts
import { defineConfig } from 'repomix';

// Tạo tên file dựa trên timestamp
const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-');

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

Cấu hình JavaScript

File cấu hình JavaScript hoạt động tương tự như TypeScript, hỗ trợ defineConfig và các giá trị động.

Các tùy chọn cấu hình

Tùy chọnMô tảMặc định
input.maxFileSizeKích thước file tối đa tính bằng byte để xử lý. Các file lớn hơn sẽ bị bỏ qua. Hữu ích để loại trừ các file binary lớn hoặc file dữ liệu50000000
input.processorsMảng có thứ tự gồm các mục { pattern, command, timeout?, onError? } chạy một lệnh bên ngoài để chuyển đổi các file khớp trước khi đóng gói (ví dụ JSON→TOON). Glob khớp đầu tiên sẽ thắng. Chạy các lệnh tùy ý, vì vậy chỉ chạy cho các lần chạy CLI cục bộ (và các kho lưu trữ từ xa có --remote-trust-config). Xem Bộ xử lý FileKhông đặt
output.filePathTên file đầu ra. Hỗ trợ định dạng XML, Markdown và văn bản thuần túy"repomix-output.xml"
output.styleKiểu đầu ra (xml, markdown, json, plain). Mỗi định dạng có những ưu điểm riêng cho các công cụ AI khác nhau"xml"
output.filePathStyleCách hiển thị đường dẫn tệp trong đầu ra (target-relative giữ đường dẫn tương đối so với thư mục gốc của mỗi mục tiêu, cwd-relative giữ đường dẫn tương đối so với thư mục làm việc hiện tại)"target-relative"
output.parsableStyleCó nên escape đầu ra dựa trên schema kiểu đã chọn hay không. Cho phép phân tích tốt hơn nhưng có thể tăng số lượng tokenfalse
output.compressCó nên thực hiện trích xuất mã thông minh bằng Tree-sitter để giảm số lượng token trong khi bảo toàn cấu trúc hay khôngfalse
output.patternsMức độ bao gồm theo từng file. Một mảng có thứ tự gồm các mục { pattern, compress?, directoryStructureOnly? }; glob khớp đầu tiên sẽ thắng và ghi đè output.compress toàn cục cho file đó. Xem Mức độ Bao gồm theo Từng FileKhông đặt
output.headerTextVăn bản tùy chỉnh để đưa vào header file. Hữu ích để cung cấp ngữ cảnh hoặc hướng dẫn cho các công cụ AInull
output.instructionFilePathĐường dẫn đến file chứa hướng dẫn tùy chỉnh chi tiết cho xử lý AInull
output.fileSummaryCó nên bao gồm phần tóm tắt ở đầu hiển thị số lượng file, kích thước và các chỉ số khác hay khôngtrue
output.directoryStructureCó nên bao gồm cấu trúc thư mục trong đầu ra hay không. Giúp AI hiểu tổ chức dự ántrue
output.filesCó nên bao gồm nội dung file trong đầu ra hay không. Đặt thành false để chỉ bao gồm cấu trúc và metadatatrue
output.removeCommentsCó nên xóa bình luận khỏi các loại file được hỗ trợ hay không. Có thể giảm nhiễu và số lượng tokenfalse
output.removeEmptyLinesCó nên xóa các dòng trống khỏi đầu ra để giảm số lượng token hay khôngfalse
output.showLineNumbersCó nên thêm số dòng vào mỗi dòng hay không. Hữu ích để tham chiếu các phần cụ thể của mãfalse
output.truncateBase64Có nên cắt bớt các chuỗi dữ liệu base64 dài (ví dụ: hình ảnh) để giảm số lượng token hay khôngfalse
output.copyToClipboardCó nên sao chép đầu ra vào clipboard hệ thống ngoài việc lưu file hay khôngfalse
output.splitOutputChia đầu ra thành nhiều tệp được đánh số theo kích thước tối đa mỗi phần (ví dụ: 1000000 cho ~1MB). CLI chấp nhận kích thước dễ đọc như 500kb hoặc 2mb. Giữ mỗi tệp dưới giới hạn và tránh chia các tệp nguồn giữa các phầnKhông đặt
output.tokenBudgetThất bại với mã thoát khác không khi đầu ra đã đóng gói vượt quá số token này. Hoạt động như một biện pháp bảo vệ cho giới hạn ngữ cảnh CI/agent; đầu ra vẫn được tạo raKhông đặt
output.topFilesLengthSố file hàng đầu để hiển thị trong tóm tắt. Nếu đặt thành 0, sẽ không hiển thị tóm tắt5
output.includeEmptyDirectoriesCó nên bao gồm các thư mục trống trong cấu trúc repository hay khôngfalse
output.includeFullDirectoryStructureKhi sử dụng mẫu include, có nên hiển thị cây thư mục hoàn chỉnh (tuân theo mẫu ignore) trong khi vẫn chỉ xử lý các file được bao gồm hay không. Cung cấp ngữ cảnh repository đầy đủ cho phân tích AIfalse
output.git.sortByChangesCó nên sắp xếp file theo số lượng thay đổi git hay không. Các file có nhiều thay đổi hơn xuất hiện ở cuốitrue
output.git.sortByChangesMaxCommitsSố lượng commit tối đa để phân tích khi đếm các thay đổi git. Giới hạn độ sâu lịch sử để cải thiện hiệu suất100
output.git.includeDiffsCó nên bao gồm các sự khác biệt git trong đầu ra hay không. Hiển thị riêng biệt các thay đổi work tree và stagedfalse
output.git.includeLogsCó nên bao gồm nhật ký git trong đầu ra hay không. Hiển thị lịch sử commit với ngày tháng, thông điệp và đường dẫn tệpfalse
output.git.includeLogsCountSố lượng commit git logs để bao gồm trong đầu ra50
includeCác mẫu file để bao gồm sử dụng mẫu glob[]
ignore.useGitignoreCó nên sử dụng các mẫu từ file .gitignore của dự án hay khôngtrue
ignore.useDotIgnoreCó nên sử dụng các mẫu từ file .ignore của dự án hay khôngtrue
ignore.useDefaultPatternsCó nên sử dụng các mẫu ignore mặc định (node_modules, .git, v.v.) hay khôngtrue
ignore.customPatternsCác mẫu bổ sung để ignore sử dụng mẫu glob[]
security.enableSecurityCheckCó nên thực hiện kiểm tra bảo mật bằng Secretlint để phát hiện thông tin nhạy cảm hay khôngtrue
tokenCount.encodingMã hóa đếm token tương thích OpenAI (ví dụ: o200k_base cho GPT-4o, cl100k_base cho GPT-4/3.5). Sử dụng gpt-tokenizer."o200k_base"

File cấu hình hỗ trợ cú pháp JSON5, cho phép:

  • Bình luận (cả single-line và multi-line)
  • Dấu phẩy ở cuối trong objects và arrays
  • Tên thuộc tính không có dấu ngoặc kép
  • Cú pháp chuỗi linh hoạt hơn

Xác thực Schema

Bạn có thể bật xác thực schema cho file cấu hình của mình bằng cách thêm thuộc tính $schema:

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

Điều này cung cấp auto-completion và validation trong các editor hỗ trợ JSON schema.

Ví dụ File Cấu hình

Đây là ví dụ về file cấu hình hoàn chỉnh (repomix.config.json):

json
{
  "$schema": "https://repomix.com/schemas/latest/schema.json",
  "input": {
    "maxFileSize": 50000000,
    // "processors": [
    //   { "pattern": "**/*.json", "command": "npx @toon-format/cli {file}" }
    // ]
  },
  "output": {
    "filePath": "repomix-output.xml",
    "style": "xml",
    "filePathStyle": "target-relative",
    "parsableStyle": false,
    "compress": false,
    "headerText": "Thông tin header tùy chỉnh cho file đã đóng gói.",
    "fileSummary": true,
    "directoryStructure": true,
    "files": true,
    "removeComments": false,
    "removeEmptyLines": false,
    "topFilesLength": 5,
    "showLineNumbers": false,
    // "patterns": [
    //   { "pattern": "docs/**/*", "compress": true },
    //   { "pattern": "website/**/*", "directoryStructureOnly": true }
    // ],
    "truncateBase64": false,
    "copyToClipboard": false,
    "includeEmptyDirectories": false,
    "git": {
      "sortByChanges": true,
      "sortByChangesMaxCommits": 100,
      "includeDiffs": false,
      "includeLogs": false,
      "includeLogsCount": 50
    }
  },
  "include": ["**/*"],
  "ignore": {
    "useGitignore": true,
    "useDefaultPatterns": true,
    // Các mẫu cũng có thể được chỉ định trong .repomixignore
    "customPatterns": [
      "additional-folder",
      "**/*.log"
    ],
  },
  "security": {
    "enableSecurityCheck": true
  },
  "tokenCount": {
    "encoding": "o200k_base"
  }
}

Vị trí File Cấu hình

Repomix tìm kiếm file cấu hình theo thứ tự sau:

  1. File cấu hình cục bộ trong thư mục hiện tại (thứ tự ưu tiên: 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. File cấu hình toàn cục (thứ tự ưu tiên: 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

Các tùy chọn dòng lệnh có ưu tiên cao hơn cài đặt file cấu hình.

Mẫu Ignore

Repomix cung cấp nhiều cách để chỉ định file nào nên được ignore:

  • .gitignore: Theo mặc định, các mẫu được liệt kê trong file .gitignore.git/info/exclude của dự án được sử dụng. Hành vi này có thể được kiểm soát bằng cài đặt ignore.useGitignore hoặc tùy chọn CLI --no-gitignore.
  • .ignore: Bạn có thể sử dụng file .ignore trong thư mục gốc dự án, theo cùng định dạng với .gitignore. File này được các công cụ như ripgrep và the silver searcher sử dụng, giảm nhu cầu duy trì nhiều file ignore. Hành vi này có thể được kiểm soát bằng cài đặt ignore.useDotIgnore hoặc tùy chọn CLI --no-dot-ignore.
  • Mẫu mặc định: Repomix bao gồm danh sách mặc định các file và thư mục thường được loại trừ (ví dụ: node_modules, .git, file nhị phân). Tính năng này có thể được kiểm soát bằng cài đặt ignore.useDefaultPatterns hoặc tùy chọn CLI --no-default-patterns. Vui lòng xem defaultIgnore.ts để biết thêm chi tiết.
  • .repomixignore: Bạn có thể tạo file .repomixignore trong thư mục gốc dự án để định nghĩa các mẫu ignore cụ thể cho Repomix. File này tuân theo cùng định dạng với .gitignore.
  • Mẫu tùy chỉnh: Các mẫu ignore bổ sung có thể được chỉ định bằng tùy chọn ignore.customPatterns trong file cấu hình. Bạn có thể ghi đè cài đặt này bằng tùy chọn dòng lệnh -i, --ignore.

Thứ tự ưu tiên (từ cao đến thấp):

  1. Mẫu tùy chỉnh (ignore.customPatterns)
  2. File ignore (.repomixignore, .ignore, .gitignore, và .git/info/exclude):
    • Khi trong các thư mục lồng nhau, file ở thư mục sâu hơn có ưu tiên cao hơn
    • Khi trong cùng thư mục, các file này được hợp nhất không theo thứ tự cụ thể
  3. Mẫu mặc định (nếu ignore.useDefaultPatterns là true và không sử dụng --no-default-patterns)

Ví dụ về .repomixignore:

text
# Thư mục cache
.cache/
tmp/

# Đầu ra build
dist/
build/

# Logs
*.log

Mẫu Ignore Mặc định

Khi ignore.useDefaultPatterns là true, Repomix tự động ignore các mẫu phổ biến:

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

Để xem danh sách đầy đủ, hãy xem defaultIgnore.ts

Tính năng Nâng cao

Nén Mã

Tính năng nén mã, được bật với output.compress: true, sử dụng Tree-sitter để trích xuất thông minh các cấu trúc mã cần thiết trong khi loại bỏ các chi tiết triển khai. Điều này giúp giảm số lượng token trong khi duy trì thông tin cấu trúc quan trọng.

Lợi ích chính:

  • Giảm đáng kể số lượng token
  • Bảo toàn signature của class và function
  • Duy trì import và export
  • Giữ lại định nghĩa type và interface
  • Loại bỏ function body và chi tiết triển khai

Để biết thêm chi tiết và ví dụ, hãy xem Hướng dẫn Nén Mã.

Mức độ Bao gồm theo Từng File

Trong khi output.compress áp dụng một mức duy nhất cho mọi file, output.patterns cho phép bạn kiểm soát mức độ chi tiết theo từng glob từ file cấu hình của mình. Mỗi mục nhắm đến các file bằng glob (khớp theo cùng cách như include/ignore) và ghi đè cài đặt output.compress toàn cục cho các file khớp.

json5
{
  "output": {
    "compress": false, // mặc định toàn cục đóng vai trò là phương án bao quát
    "patterns": [
      { "pattern": "docs/**/*", "compress": true },
      { "pattern": "website/**/*", "directoryStructureOnly": true }
    ]
  }
}

Mỗi file được phân giải về một trong ba mức:

  • Nội dung đầy đủ (mặc định): toàn bộ nội dung của file được bao gồm.
  • Đã nén (compress: true): nội dung được đưa qua cùng pipeline Tree-sitter như output.compress.
  • Chỉ cấu trúc thư mục (directoryStructureOnly: true): file được liệt kê trong cấu trúc thư mục, nhưng khối nội dung của nó bị bỏ hoàn toàn khỏi đầu ra.

Các quy tắc:

  • Các mẫu được đánh giá theo thứ tự trong mảng và mẫu khớp đầu tiên sẽ thắng đối với một file nhất định.
  • Các cờ của mẫu khớp sẽ ghi đè cài đặt output.compress toàn cục. Một mẫu khớp mà không đặt cờ nào sẽ buộc nội dung đầy đủ cho file đó, điều này hữu ích để đưa các file vào danh sách trắng khỏi một compress toàn cục.
  • directoryStructureOnly được ưu tiên hơn compress khi cả hai cùng được đặt trên một mẫu.
  • Nếu không có mẫu nào khớp, hành vi toàn cục sẽ được áp dụng (nội dung đầy đủ, hoặc đã nén khi output.compresstrue).

Tùy chọn này chỉ có trong file cấu hình; không có tùy chọn CLI tương đương.

Bộ xử lý File

input.processors chạy một lệnh bên ngoài để chuyển đổi nội dung file trước khi đóng gói. Mỗi mục nhắm đến các file bằng glob (khớp theo cùng cách như include/ignore) và thay thế nội dung của các file khớp bằng đầu ra chuẩn (standard output) của lệnh đó. Điều này hữu ích cho các phép biến đổi giảm token hoặc chuyển đổi định dạng, ví dụ chuyển đổi JSON sang TOON, minify SVG, hoặc chuyển đổi notebook thành script thuần túy.

json5
{
  "input": {
    "processors": [
      {
        "pattern": "**/*.json",
        "command": "npx @toon-format/cli {file}"
      }
    ]
  }
}

Cách hoạt động:

  • Repomix ghi nội dung của mỗi file khớp vào một file tạm và thay thế đường dẫn của nó vào chỗ placeholder {file} trong lệnh (placeholder này là bắt buộc).
  • Lệnh được chạy thông qua shell, vì vậy pipe và các công cụ như npx đều hoạt động được. Đầu ra chuẩn của nó trở thành nội dung mới của file, sau đó tiếp tục đi qua phần còn lại của pipeline (kiểm tra bảo mật, đếm token và tạo đầu ra) giống như bất kỳ file nào khác.
  • Các mẫu được đánh giá theo thứ tự trong mảng và mẫu khớp đầu tiên sẽ thắng — một file chỉ được biến đổi bởi tối đa một bộ xử lý (không có chaining).

Các tùy chọn theo từng bộ xử lý:

  • timeout: Thời gian tối đa tính bằng mili giây để chờ lệnh. Mặc định: 60000 (60 giây). Lưu ý rằng npx có thể cần thêm thời gian để tải một package khi cache còn "nguội" (cold cache).
  • onError: Hành động khi lệnh thoát với trạng thái khác 0 hoặc hết thời gian chờ. "fail" (mặc định) sẽ hủy toàn bộ quá trình pack; "skip" ghi lại cảnh báo và quay về sử dụng nội dung gốc của file.

Ví dụ lệnh (mỗi lệnh là một giá trị command được ghép với một pattern phù hợp):

MẫucommandChức năng
**/*.jsonjq -c . {file}Nén JSON bằng cách loại bỏ khoảng trắng
**/*.jsonnpx @toon-format/cli {file}Chuyển đổi JSON sang TOON, một định dạng gọn nhẹ và tiết kiệm token
**/*.svgnpx svgo -i {file} -o -Rút gọn SVG
**/*.ipynbjupyter nbconvert --to script --stdout {file}Chuyển đổi notebook Jupyter thành một script Python thuần

Vì mẫu khớp đầu tiên sẽ thắng, chỉ áp dụng một bộ xử lý cho mỗi file — ví dụ chọn jq hoặc bộ chuyển đổi TOON cho **/*.json. Lệnh phải ghi nội dung đã chuyển đổi ra đầu ra chuẩn, và công cụ mà nó gọi phải có sẵn trong PATH của bạn (các lệnh dựa trên npx sẽ tải công cụ về trong lần sử dụng đầu tiên).

Bảo mật

Bộ xử lý file chạy các lệnh tùy ý từ file cấu hình của bạn, vì vậy chúng tuân theo một mô hình tin cậy nghiêm ngặt:

  • Chỉ chạy cho các lần chạy CLI cục bộ, nơi Repomix giả định rằng cấu hình trong thư mục làm việc của bạn là của chính bạn — cùng ranh giới tin cậy như một npm script hoặc một Makefile. Tương tự, nếu bạn chạy repomix bên trong một repository lấy từ người khác mà không xem xét repomix.config.json của nó trước, các lệnh bộ xử lý của nó sẽ được thực thi trên máy của bạn. Hãy xem xét cấu hình của các repository không đáng tin cậy trước khi pack chúng.
  • Bị vô hiệu hóa đối với library API (pack() / runCli()), MCP server, và repomix.com được host, vì vậy không cái nào trong số này có thể chạy lệnh từ một cấu hình.
  • Đối với repository từ xa (--remote), cấu hình của repository đã clone — và do đó các bộ xử lý của nó — chỉ được tin cậy khi bạn truyền rõ ràng --remote-trust-config. Nếu không có nó, cấu hình từ xa thậm chí không được tải.

Các bộ xử lý đang hoạt động được ghi log khi khởi động để các bộ xử lý bất ngờ từ một cấu hình lạ có thể được nhìn thấy. Vì lệnh được in ra khi khởi động và trong các thông báo lỗi, hãy tham chiếu thông tin xác thực thông qua biến môi trường (ví dụ: $TOKEN), vốn được ghi log mà không mở rộng giá trị, thay vì gắn trực tiếp chúng vào lệnh.

Ghi chú:

  • Không nên kết hợp một bộ xử lý làm thay đổi định dạng với output.compress, output.removeComments, hoặc compress trong output.patterns trên cùng một file: các bước này được chọn dựa trên phần mở rộng gốc của file, do đó chúng sẽ chạy sai trình xử lý ngôn ngữ trên nội dung đã biến đổi. Vì lý do tương tự, đầu ra Markdown gắn nhãn khối mã theo phần mở rộng gốc (ví dụ: file JSON→TOON được đánh dấu là json). Việc nén là best-effort và sẽ âm thầm quay về nội dung đã biến đổi khi phân tích cú pháp thất bại.
  • Với --watch, các file khớp sẽ được xử lý lại ở mỗi lần rebuild, khiến lệnh được chạy lại mỗi lần.
  • Khi hết thời gian chờ, Repomix sẽ chấm dứt shell của lệnh; một lệnh tự tạo ra các tiến trình nền (background process) tồn tại lâu dài của riêng nó có thể khiến chúng tiếp tục chạy.
  • Bộ xử lý chỉ nhìn thấy các file văn bản (file nhị phân bị loại trừ trước khi xử lý), và đầu ra của chúng được đọc dưới dạng UTF-8.

Tích hợp Git

Cấu hình output.git cung cấp các tính năng Git-aware mạnh mẽ:

  • sortByChanges: Khi là true, các file được sắp xếp theo số lượng thay đổi Git (các commit đã sửa đổi file). Các file có nhiều thay đổi hơn xuất hiện ở cuối đầu ra. Điều này giúp ưu tiên các file được phát triển tích cực hơn. Mặc định: true
  • sortByChangesMaxCommits: Số lượng commit tối đa để phân tích khi đếm các thay đổi file. Mặc định: 100
  • includeDiffs: Khi là true, bao gồm các sự khác biệt Git trong đầu ra (bao gồm riêng biệt các thay đổi work tree và staged). Điều này cho phép người đọc xem các thay đổi đang chờ trong repository. Mặc định: false
  • includeLogs: Khi là true, bao gồm nhật ký Git trong đầu ra. Hiển thị lịch sử commit với ngày tháng, thông điệp và đường dẫn tệp. Điều này giúp AI hiểu các mẫu phát triển và mối quan hệ tệp. Mặc định: false
  • includeLogsCount: Số lượng commit gần đây để bao gồm trong nhật ký git. Mặc định: 50

Ví dụ cấu hình:

json
{
  "output": {
    "git": {
      "sortByChanges": true,
      "sortByChangesMaxCommits": 100,
      "includeDiffs": true,
      "includeLogs": true,
      "includeLogsCount": 25
    }
  }
}

Kiểm tra Bảo mật

Khi security.enableSecurityCheck được bật, Repomix sử dụng Secretlint để phát hiện thông tin nhạy cảm trong codebase của bạn trước khi đưa vào đầu ra. Điều này giúp ngăn chặn việc tiết lộ vô tình:

  • API keys
  • Access tokens
  • Private keys
  • Passwords
  • Các thông tin đăng nhập nhạy cảm khác

Xóa Bình luận

Khi output.removeComments được đặt thành true, các bình luận sẽ được xóa khỏi các loại file được hỗ trợ để giảm kích thước đầu ra và tập trung vào nội dung mã cốt lõi. Điều này có thể đặc biệt hữu ích khi:

  • Làm việc với mã được ghi chú nhiều
  • Cố gắng giảm số lượng token
  • Tập trung vào cấu trúc và logic mã

Để biết các ngôn ngữ được hỗ trợ và ví dụ chi tiết, hãy xem Hướng dẫn Xóa Bình luận.

Tài nguyên liên quan

Released under the MIT License.