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)ãã芧ãã ããã