Skip to main content
Glama
MIT License
27,120
19,789
  • Linux
  • Apple
configuration.md•21.9 kB
# 蚭定 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蚭定 プロゞェクトディレクトリに蚭定ファむルを䜜成したす ```bash repomix --init ``` これにより、デフォルト蚭定の`repomix.config.json`ファむルが䜜成されたす。たた、ロヌカル蚭定が芋぀からない堎合のフォヌルバックずしお䜿甚されるグロヌバル蚭定ファむルを䜜成するこずもできたす ```bash repomix --init --global ``` ### TypeScript蚭定 TypeScript蚭定ファむルは、完党な型チェックずIDEサポヌトにより、最高の開発者䜓隓を提䟛したす。 **むンストヌル:** `defineConfig`を䜿甚しおTypeScriptたたはJavaScript蚭定を䜿甚するには、Repomixをdev dependencyずしおむンストヌルする必芁がありたす ```bash npm install -D repomix ``` **䟋:** ```typescript // repomix.config.ts import { defineConfig } from 'repomix'; export default defineConfig({ output: { filePath: 'output.xml', style: 'xml', removeComments: true, }, ignore: { customPatterns: ['**/node_modules/**', '**/dist/**'], }, }); ``` **利点:** - ✅ IDEでの完党なTypeScript型チェック - ✅ 優れたIDE自動補完ずIntelliSense - ✅ 動的な倀タむムスタンプ、環境倉数などの䜿甚 **動的な倀の䟋:** ```typescript // repomix.config.ts import { defineConfig } from 'repomix'; // タむムスタンプベヌスのファむル名を生成 const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-'); export default defineConfig({ 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.instructionFilePath` | AI凊理甚の詳现なカスタム指瀺を含むファむルぞのパス | `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.topFilesLength` | 芁玄に衚瀺するトップファむルの数。0に蚭定するず、芁玄は衚瀺されたせん | `5` | | `output.includeEmptyDirectories` | リポゞトリ構造に空のディレクトリを含めるかどうか | `false` | | `output.includeFullDirectoryStructure` | `include`パタヌンを䜿甚する際、includeされたファむルのみを凊理しながら、完党なディレクトリツリヌignoreパタヌンに埓うを衚瀺するかどうか。AI分析のための完党なリポゞトリコンテキストを提䟛したす | `false` | | `output.git.sortByChanges` | Gitの倉曎回数でファむルを゜ヌトするかどうか。倉曎が倚いファむルが䞋郚に衚瀺されたす | `true` | | `output.git.sortByChangesMaxCommits` | Gitの倉曎を分析する最倧コミット数。パフォヌマンスのために履歎の深さを制限したす | `100` | | `output.git.includeDiffs` | 出力にGitの差分を含めるかどうか。䜜業ツリヌずステヌゞング枈みの倉曎を別々に衚瀺したす | `false` | | `output.git.includeLogs` | 出力にGitログを含めるかどうか。コミット履歎の日時、メッセヌゞ、ファむルパスを衚瀺したす | `false` | | `output.git.includeLogsCount` | 含めるGitログのコミット数。開発パタヌンを理解するための履歎の深さを制限したす | `50` | | `include` | 含めるファむルのパタヌン[globパタヌン](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)を䜿甚 | `[]` | | `ignore.useGitignore` | プロゞェクトの`.gitignore`ファむルのパタヌンを䜿甚するかどうか | `true` | | `ignore.useDefaultPatterns` | デフォルトの陀倖パタヌンnode_modules、.gitなどを䜿甚するかどうか | `true` | | `ignore.customPatterns` | 远加の陀倖パタヌン[globパタヌン](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)を䜿甚 | `[]` | | `security.enableSecurityCheck` | Secretlintを䜿甚しお機密情報を怜出するセキュリティチェックを実行するかどうか | `true` | | `tokenCount.encoding` | OpenAIの[tiktoken](https://github.com/openai/tiktoken)トヌクナむザヌで䜿甚するトヌクンカりント゚ンコヌディング。GPT-4oの堎合は`o200k_base`、GPT-4/3.5の堎合は`cl100k_base`を䜿甚。詳现は[tiktoken model.py](https://github.com/openai/tiktoken/blob/main/tiktoken/model.py#L24)を参照 | `"o200k_base"` | 蚭定ファむルは[JSON5](https://json5.org/)構文をサポヌトしおおり、以䞋が可胜です - コメント単䞀行および耇数行 - オブゞェクトず配列の末尟のカンマ - 匕甚笊なしのプロパティ名 - より柔軟な文字列構文 ## スキヌマ怜蚌 蚭定ファむルに`$schema`プロパティを远加するこずで、スキヌマ怜蚌を有効にできたす ```json { "$schema": "https://repomix.com/schemas/latest/schema.json", "output": { "filePath": "repomix-output.md", "style": "markdown" } } ``` これにより、JSONスキヌマをサポヌトする゚ディタでの自動補完ず怜蚌が可胜になりたす。 ## 蚭定ファむルの䟋 以䞋は完党な蚭定ファむル`repomix.config.json`の䟋です ```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` コマンドラむンオプションは蚭定ファむルの蚭定よりも優先されたす。 ## むンクルヌドパタヌン Repomixは[globパタヌン](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)を䜿甚しお含めるファむルを指定できたす。これにより、より柔軟で匷力なファむル遞択が可胜になりたす - `**/*.js`を䜿甚しお、任意のディレクトリ内のすべおのJavaScriptファむルを含める - `src/**/*`を䜿甚しお、`src`ディレクトリずそのサブディレクトリ内のすべおのファむルを含める - `["src/**/*.js", "**/*.md"]`のように耇数のパタヌンを組み合わせお、`src`内のJavaScriptファむルずすべおのMarkdownファむルを含める 蚭定ファむルでむンクルヌドパタヌンを指定できたす ```json { "include": ["src/**/*", "tests/**/*.test.js"] } ``` たたは、䞀時的なフィルタリングには`--include`コマンドラむンオプションを䜿甚したす。 ## 陀倖パタヌン Repomixは、パッキングプロセス䞭に特定のファむルやディレクトリを陀倖するための耇数の方法を提䟛したす - **.gitignore**: デフォルトでは、プロゞェクトの`.gitignore`ファむルず`.git/info/exclude`にリストされおいるパタヌンが䜿甚されたす。この動䜜は`ignore.useGitignore`蚭定たたは`--no-gitignore` CLIオプションで制埡できたす。 - **デフォルトパタヌン**: Repomixには、䞀般的に陀倖されるファむルずディレクトリのデフォルトリスト䟋node_modules、.git、バむナリファむルが含たれおいたす。この機胜は`ignore.useDefaultPatterns`蚭定たたは`--no-default-patterns` CLIオプションで制埡できたす。詳现は[defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts)を参照しおください。 - **.repomixignore**: プロゞェクトルヌトに`.repomixignore`ファむルを䜜成しお、Repomix固有の陀倖パタヌンを定矩できたす。このファむルは`.gitignore`ず同じ圢匏に埓いたす。 - **カスタムパタヌン**: 蚭定ファむルの`ignore.customPatterns`オプションを䜿甚しお、远加の陀倖パタヌンを指定できたす。この蚭定は`-i, --ignore`コマンドラむンオプションで䞊曞きできたす。 **優先順䜍**高い順 1. カスタムパタヌン`ignore.customPatterns` 2. `.repomixignore` 3. `.gitignore`および`.git/info/exclude``ignore.useGitignore`がtrueで`--no-gitignore`が䜿甚されおいない堎合 4. デフォルトパタヌン`ignore.useDefaultPatterns`がtrueで`--no-default-patterns`が䜿甚されおいない堎合 このアプロヌチにより、プロゞェクトのニヌズに基づいお柔軟なファむル陀倖蚭定が可胜になりたす。セキュリティ䞊機密性の高いファむルや倧きなバむナリファむルの陀倖を確実にし、機密情報の挏掩を防ぎながら、生成されるパックファむルのサむズを最適化するのに圹立ちたす。 **泚意:** バむナリファむルはデフォルトではパック出力に含たれたせんが、そのパスは出力ファむルの「リポゞトリ構造」セクションにリストされたす。これにより、パックファむルを効率的でテキストベヌスに保ちながら、リポゞトリ構造の完党な抂芁が提䟛されたす。詳现は[バむナリファむルの凊理](#バむナリファむルの凊理)を参照しおください。 `.repomixignore`の䟋 ```text # キャッシュディレクトリ .cache/ tmp/ # ビルド出力 dist/ build/ # ログ *.log ``` ## デフォルトの陀倖パタヌン `ignore.useDefaultPatterns`がtrueの堎合、Repomixは以䞋のような䞀般的なパタヌンを自動的に陀倖したす ```text node_modules/** .git/** coverage/** dist/** ``` 完党なリストは[defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts)を参照しおください。 ## バむナリファむルの凊理 バむナリファむル画像、PDF、コンパむル枈みバむナリ、アヌカむブなどは、効率的なテキストベヌスの出力を維持するために特別に凊理されたす - **ファむル内容**: バむナリファむルは、ファむルをテキストベヌスに保ち、AI凊理に効率的にするために、パック出力に**含たれたせん** - **ディレクトリ構造**: バむナリファむルの**パスはリストされ**、ディレクトリ構造セクションに衚瀺され、リポゞトリの完党な抂芁を提䟛したす このアプロヌチにより、AI向けに最適化された効率的なテキストベヌスの出力を維持しながら、リポゞトリ構造の完党なビュヌを取埗できたす。 **䟋** リポゞトリに`logo.png`ず`app.jar`が含たれおいる堎合 - ディレクトリ構造セクションに衚瀺されたす - その内容はファむルセクションに含たれたせん **ディレクトリ構造出力** ``` src/ index.ts utils.ts assets/ logo.png build/ app.jar ``` これにより、AIツヌルはこれらのバむナリファむルがプロゞェクト構造に存圚するこずを理解できたすが、そのバむナリ内容は凊理したせん。 **泚意:** `input.maxFileSize`蚭定オプションデフォルト50MBを䜿甚しお、最倧ファむルサむズのしきい倀を制埡できたす。この制限より倧きいファむルは完党にスキップされたす。 ## 高床な機胜 ### コヌド圧瞮 `output.compress: true`で有効になるコヌド圧瞮機胜は、[Tree-sitter](https://github.com/tree-sitter/tree-sitter)を䜿甚しお、実装の詳现を削陀しながら本質的なコヌド構造を抜出したす。これにより、重芁な構造情報を維持しながらトヌクン数を削枛できたす。 䞻な利点 - トヌクン数を倧幅に削枛 - クラスず関数のシグネチャを保持 - むンポヌトず゚クスポヌトを維持 - 型定矩ずむンタヌフェヌスを保持 - 関数本䜓ず実装の詳现を削陀 詳现ず䟋に぀いおは[コヌド圧瞮ガむド](code-compress)をご芧ください。 ### Git統合 `output.git`蚭定では、以䞋のようなGit察応機胜を提䟛したす - `sortByChanges`: trueに蚭定するず、ファむルはGitの倉曎回数そのファむルを倉曎したコミット数で゜ヌトされたす。倉曎が倚いファむルが出力の䞋郚に衚瀺されたす。これは、より掻発に開発されおいるファむルを優先するのに圹立ちたす。デフォルト: `true` - `sortByChangesMaxCommits`: ファむルの倉曎回数を数える際に分析する最倧コミット数。デフォルト: `100` - `includeDiffs`: trueに蚭定するず、Git差分を出力に含めたすワヌクツリヌずステヌゞング枈みの倉曎を別々に含みたす。これにより、リポゞトリの保留䞭の倉曎を確認できたす。デフォルト: `false` - `includeLogs`: trueに蚭定するず、Gitログを出力に含めたす。コミット履歎の日時、メッセヌゞ、ファむルパスが衚瀺され、AIがどのファむルが䞀緒に倉曎される傟向があるかを理解できたす。デフォルト: `false` - `includeLogsCount`: 含めるGitログのコミット数。開発パタヌンの分析に䜿甚する履歎の深さを制埡したす。デフォルト: `50` 蚭定䟋 ```json { "output": { "git": { "sortByChanges": true, "sortByChangesMaxCommits": 100, "includeDiffs": true, "includeLogs": true, "includeLogsCount": 30 } } } ``` ### セキュリティチェック `security.enableSecurityCheck`が有効な堎合、Repomixは[Secretlint](https://github.com/secretlint/secretlint)を䜿甚しお、出力に含める前にコヌドベヌス内の機密情報を怜出したす。これにより、以䞋のような情報の誀った露出を防ぐこずができたす - APIキヌ - アクセストヌクン - 秘密鍵 - パスワヌド - その他の機密情報 ### コメントの削陀 `output.removeComments`を`true`に蚭定するず、サポヌトされおいるファむルタむプからコメントが削陀され、出力サむズを削枛し、本質的なコヌド内容に焊点を圓おるこずができたす。これは以䞋のような堎合に特に䟿利です - 倧量にドキュメント化されたコヌドを扱う堎合 - トヌクン数を削枛したい堎合 - コヌドの構造ずロゞックに集䞭したい堎合 サポヌトされおいる蚀語ず詳现な䟋に぀いおは[コメント削陀ガむド](comment-removal)をご芧ください。

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yamadashy/repomix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server