diff --git a/README.md b/README.md index 0100522d1..1579bca34 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ This wouldn't have been possible without all of you using and supporting Repomix - **Token Counting**: Provides token counts for each file and the entire repository, useful for LLM context limits. - **Simple to Use**: You need just one command to pack your entire repository. - **Customizable**: Easily configure what to include or exclude. -- **Git-Aware**: Automatically respects your `.gitignore` files and `.git/info/exclude`. +- **Git-Aware**: Automatically respects your `.gitignore`, `.ignore`, and `.repomixignore` files. - **Security-Focused**: Incorporates [Secretlint](https://github.com/secretlint/secretlint) for robust security checks to detect and prevent inclusion of sensitive information. - **Code Compression**: The `--compress` option uses [Tree-sitter](https://github.com/tree-sitter/tree-sitter) to extract key code elements, reducing token count while preserving structure. @@ -495,7 +495,7 @@ The JSON format structures the content as a hierarchical JSON object with camelC "purpose": "This file contains a packed representation of the entire repository's contents...", "fileFormat": "The content is organized as follows...", "usageGuidelines": "- This file should be treated as read-only...", - "notes": "- Some files may have been excluded based on .gitignore rules..." + "notes": "- Some files may have been excluded based on .gitignore, .ignore, and .repomixignore rules..." }, "userProvidedHeader": "Custom header text if specified", "directoryStructure": "src/\n cli/\n cliOutput.ts\n index.ts\n config/\n configLoader.ts", @@ -637,6 +637,7 @@ Instruction - `--include `: Include only files matching these glob patterns (comma-separated, e.g., "src/**/*.js,*.md") - `-i, --ignore `: Additional patterns to exclude (comma-separated, e.g., "*.test.js,docs/**") - `--no-gitignore`: Don't use .gitignore rules for filtering files +- `--no-dot-ignore`: Don't use .ignore rules for filtering files - `--no-default-patterns`: Don't apply built-in ignore patterns (node_modules, .git, build dirs, etc.) #### Remote Repository Options @@ -933,7 +934,7 @@ When running as an MCP server, Repomix provides the following tools: - `directory`: Absolute path to the directory to pack - `compress`: (Optional, default: false) Enable Tree-sitter compression to extract essential code signatures and structure while removing implementation details. Reduces token usage by ~70% while preserving semantic meaning. Generally not needed since grep_repomix_output allows incremental content retrieval. Use only when you specifically need the entire codebase content for large repositories. - `includePatterns`: (Optional) Specify files to include using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "**/*.{js,ts}", "src/**,docs/**"). Only matching files will be processed. - - `ignorePatterns`: (Optional) Specify additional files to exclude using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "test/**,*.spec.js", "node_modules/**,dist/**"). These patterns supplement .gitignore and built-in exclusions. + - `ignorePatterns`: (Optional) Specify additional files to exclude using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "test/**,*.spec.js", "node_modules/**,dist/**"). These patterns supplement .gitignore, .ignore, and built-in exclusions. - `topFilesLength`: (Optional, default: 10) Number of largest files by size to display in the metrics summary for codebase analysis. 2. **attach_packed_output**: Attach an existing Repomix packed output file for AI analysis @@ -951,7 +952,7 @@ When running as an MCP server, Repomix provides the following tools: - `remote`: GitHub repository URL or user/repo format (e.g., "yamadashy/repomix", "https://github.com/user/repo", or "https://github.com/user/repo/tree/branch") - `compress`: (Optional, default: false) Enable Tree-sitter compression to extract essential code signatures and structure while removing implementation details. Reduces token usage by ~70% while preserving semantic meaning. Generally not needed since grep_repomix_output allows incremental content retrieval. Use only when you specifically need the entire codebase content for large repositories. - `includePatterns`: (Optional) Specify files to include using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "**/*.{js,ts}", "src/**,docs/**"). Only matching files will be processed. - - `ignorePatterns`: (Optional) Specify additional files to exclude using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "test/**,*.spec.js", "node_modules/**,dist/**"). These patterns supplement .gitignore and built-in exclusions. + - `ignorePatterns`: (Optional) Specify additional files to exclude using fast-glob patterns. Multiple patterns can be comma-separated (e.g., "test/**,*.spec.js", "node_modules/**,dist/**"). These patterns supplement .gitignore, .ignore, and built-in exclusions. - `topFilesLength`: (Optional, default: 10) Number of largest files by size to display in the metrics summary for codebase analysis. 4. **read_repomix_output**: Read the contents of a Repomix-generated output file. Supports partial reading with line range specification for large files. @@ -1208,6 +1209,7 @@ Here's an explanation of the configuration options: | `output.git.includeLogsCount` | Number of git log commits to include | `50` | | `include` | Patterns of files to include (using [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)) | `[]` | | `ignore.useGitignore` | Whether to use patterns from the project's `.gitignore` file | `true` | +| `ignore.useDotIgnore` | Whether to use patterns from the project's `.ignore` file | `true` | | `ignore.useDefaultPatterns` | Whether to use default ignore patterns | `true` | | `ignore.customPatterns` | Additional patterns to ignore (using [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)) | `[]` | | `security.enableSecurityCheck` | Whether to perform security checks on files | `true` | @@ -1323,6 +1325,7 @@ Repomix offers multiple methods to set ignore patterns for excluding specific fi process: - **.gitignore**: By default, patterns listed in your project's `.gitignore` files and `.git/info/exclude` are used. This behavior can be controlled with the `ignore.useGitignore` setting or the `--no-gitignore` cli option. +- **.ignore**: You can use a `.ignore` file in your project root, following the same format as `.gitignore`. This file is respected by tools like ripgrep and the silver searcher, reducing the need to maintain multiple ignore files. This behavior can be controlled with the `ignore.useDotIgnore` setting or the `--no-dot-ignore` cli option. - **Default patterns**: Repomix includes a default list of commonly excluded files and directories (e.g., node_modules, .git, binary files). This feature can be controlled with the `ignore.useDefaultPatterns` setting or the `--no-default-patterns` cli option. Please see [defaultIgnore.ts](src/config/defaultIgnore.ts) for more details. @@ -1333,10 +1336,11 @@ process: Priority Order (from highest to lowest): -1. Custom patterns `ignore.customPatterns` -2. `.repomixignore` -3. `.gitignore` and `.git/info/exclude` (if `ignore.useGitignore` is true and `--no-gitignore` is not used) -4. Default patterns (if `ignore.useDefaultPatterns` is true and `--no-default-patterns` is not used) +1. Custom patterns (`ignore.customPatterns`) +2. Ignore files (`.repomixignore`, `.ignore`, `.gitignore`, and `.git/info/exclude`): + - When in nested directories, files in deeper directories have higher priority + - When in the same directory, these files are merged in no particular order +3. Default patterns (if `ignore.useDefaultPatterns` is true and `--no-default-patterns` is not used) This approach allows for flexible file exclusion configuration based on your project's needs. It helps optimize the size of the generated pack file by ensuring the exclusion of security-sensitive files and large binary files, while diff --git a/src/cli/actions/defaultAction.ts b/src/cli/actions/defaultAction.ts index 00b20e7d6..bf606c035 100644 --- a/src/cli/actions/defaultAction.ts +++ b/src/cli/actions/defaultAction.ts @@ -127,6 +127,10 @@ export const buildCliConfig = (options: CliOptions): RepomixConfigCli => { if (options.gitignore === false) { cliConfig.ignore = { ...cliConfig.ignore, useGitignore: options.gitignore }; } + // Only apply dotIgnore setting if explicitly set to false + if (options.dotIgnore === false) { + cliConfig.ignore = { ...cliConfig.ignore, useDotIgnore: options.dotIgnore }; + } // Only apply defaultPatterns setting if explicitly set to false if (options.defaultPatterns === false) { cliConfig.ignore = { diff --git a/src/cli/cliRun.ts b/src/cli/cliRun.ts index c881b593a..4e5c4e607 100644 --- a/src/cli/cliRun.ts +++ b/src/cli/cliRun.ts @@ -145,6 +145,7 @@ export const run = async () => { ) .option('-i, --ignore ', 'Additional patterns to exclude (comma-separated, e.g., "*.test.js,docs/**")') .option('--no-gitignore', "Don't use .gitignore rules for filtering files") + .option('--no-dot-ignore', "Don't use .ignore rules for filtering files") .option('--no-default-patterns', "Don't apply built-in ignore patterns (node_modules, .git, build dirs, etc.)") // Remote Repository Options .optionsGroup('Remote Repository Options') diff --git a/src/cli/types.ts b/src/cli/types.ts index d1bea1bf7..de9ad6410 100644 --- a/src/cli/types.ts +++ b/src/cli/types.ts @@ -32,6 +32,7 @@ export interface CliOptions extends OptionValues { include?: string; ignore?: string; gitignore?: boolean; + dotIgnore?: boolean; defaultPatterns?: boolean; stdin?: boolean; diff --git a/src/config/configSchema.ts b/src/config/configSchema.ts index efb64225b..88511bdf2 100644 --- a/src/config/configSchema.ts +++ b/src/config/configSchema.ts @@ -56,6 +56,7 @@ export const repomixConfigBaseSchema = z.object({ ignore: z .object({ useGitignore: z.boolean().optional(), + useDotIgnore: z.boolean().optional(), useDefaultPatterns: z.boolean().optional(), customPatterns: z.array(z.string()).optional(), }) @@ -111,6 +112,7 @@ export const repomixConfigDefaultSchema = z.object({ include: z.array(z.string()).default([]), ignore: z.object({ useGitignore: z.boolean().default(true), + useDotIgnore: z.boolean().default(true), useDefaultPatterns: z.boolean().default(true), customPatterns: z.array(z.string()).default([]), }), diff --git a/src/core/file/fileSearch.ts b/src/core/file/fileSearch.ts index 25642588c..8a83550e7 100644 --- a/src/core/file/fileSearch.ts +++ b/src/core/file/fileSearch.ts @@ -295,10 +295,21 @@ export const parseIgnoreContent = (content: string): string[] => { export const getIgnoreFilePatterns = async (config: RepomixConfigMerged): Promise => { const ignoreFilePatterns: string[] = []; + // Note: When ignore files are found in nested directories, files in deeper + // directories have higher priority, following the behavior of ripgrep and fd. + // For example, `src/.ignore` patterns override `./.ignore` patterns. + // + // Multiple ignore files in the same directory (.gitignore, .ignore, .repomixignore) + // are all merged together. The order in this array does not affect priority. + if (config.ignore.useGitignore) { ignoreFilePatterns.push('**/.gitignore'); } + if (config.ignore.useDotIgnore) { + ignoreFilePatterns.push('**/.ignore'); + } + ignoreFilePatterns.push('**/.repomixignore'); return ignoreFilePatterns; diff --git a/tests/cli/actions/defaultAction.test.ts b/tests/cli/actions/defaultAction.test.ts index eff766868..7985d2eb8 100644 --- a/tests/cli/actions/defaultAction.test.ts +++ b/tests/cli/actions/defaultAction.test.ts @@ -277,5 +277,32 @@ describe('defaultAction', () => { expect(config.output?.removeComments).toBe(true); }); + + it('should handle --no-gitignore flag', () => { + const options = { + gitignore: false, + }; + const config = buildCliConfig(options); + + expect(config.ignore?.useGitignore).toBe(false); + }); + + it('should handle --no-dot-ignore flag', () => { + const options = { + dotIgnore: false, + }; + const config = buildCliConfig(options); + + expect(config.ignore?.useDotIgnore).toBe(false); + }); + + it('should handle --no-default-patterns flag', () => { + const options = { + defaultPatterns: false, + }; + const config = buildCliConfig(options); + + expect(config.ignore?.useDefaultPatterns).toBe(false); + }); }); }); diff --git a/tests/cli/actions/workers/defaultActionWorker.test.ts b/tests/cli/actions/workers/defaultActionWorker.test.ts index 74197829a..fb5861edc 100644 --- a/tests/cli/actions/workers/defaultActionWorker.test.ts +++ b/tests/cli/actions/workers/defaultActionWorker.test.ts @@ -64,6 +64,7 @@ describe('defaultActionWorker', () => { include: ['**/*'], ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, diff --git a/tests/config/configSchema.test.ts b/tests/config/configSchema.test.ts index c4088c8a1..ded5ed405 100644 --- a/tests/config/configSchema.test.ts +++ b/tests/config/configSchema.test.ts @@ -126,6 +126,7 @@ describe('configSchema', () => { include: [], ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, @@ -230,6 +231,7 @@ describe('configSchema', () => { include: ['**/*.js', '**/*.ts'], ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: ['*.log'], }, diff --git a/tests/core/file/fileSearch.test.ts b/tests/core/file/fileSearch.test.ts index 91918b96a..505b2110f 100644 --- a/tests/core/file/fileSearch.test.ts +++ b/tests/core/file/fileSearch.test.ts @@ -53,17 +53,18 @@ describe('fileSearch', () => { }); describe('getIgnoreFilePaths', () => { - test('should return correct paths when .gitignore and .repomixignore exist', async () => { + test('should return correct paths when .gitignore, .ignore and .repomixignore exist', async () => { vi.mocked(fs.access).mockResolvedValue(undefined); const mockConfig = createMockConfig({ ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, }); const filePatterns = await getIgnoreFilePatterns(mockConfig); - expect(filePatterns).toEqual(['**/.gitignore', '**/.repomixignore']); + expect(filePatterns).toEqual(['**/.gitignore', '**/.ignore', '**/.repomixignore']); }); test('should not include .gitignore when useGitignore is false', async () => { @@ -71,12 +72,27 @@ describe('fileSearch', () => { const mockConfig = createMockConfig({ ignore: { useGitignore: false, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, }); const filePatterns = await getIgnoreFilePatterns(mockConfig); - expect(filePatterns).toEqual(['**/.repomixignore']); + expect(filePatterns).toEqual(['**/.ignore', '**/.repomixignore']); + }); + + test('should not include .ignore when useDotIgnore is false', async () => { + vi.mocked(fs.access).mockResolvedValue(undefined); + const mockConfig = createMockConfig({ + ignore: { + useGitignore: true, + useDotIgnore: false, + useDefaultPatterns: true, + customPatterns: [], + }, + }); + const filePatterns = await getIgnoreFilePatterns(mockConfig); + expect(filePatterns).toEqual(['**/.gitignore', '**/.repomixignore']); }); test('should handle empty directories when enabled', async () => { diff --git a/tests/core/metrics/calculateGitDiffMetrics.test.ts b/tests/core/metrics/calculateGitDiffMetrics.test.ts index a2a84898a..a84a8b9b3 100644 --- a/tests/core/metrics/calculateGitDiffMetrics.test.ts +++ b/tests/core/metrics/calculateGitDiffMetrics.test.ts @@ -54,6 +54,7 @@ describe('calculateGitDiffMetrics', () => { include: ['**/*'], ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, diff --git a/tests/core/metrics/calculateGitLogMetrics.test.ts b/tests/core/metrics/calculateGitLogMetrics.test.ts index f43ffee9f..86f234391 100644 --- a/tests/core/metrics/calculateGitLogMetrics.test.ts +++ b/tests/core/metrics/calculateGitLogMetrics.test.ts @@ -54,6 +54,7 @@ describe('calculateGitLogMetrics', () => { include: ['**/*'], ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, diff --git a/tests/core/output/flagFullDirectoryStructure.test.ts b/tests/core/output/flagFullDirectoryStructure.test.ts index 12f6f818b..cd2b57ffd 100644 --- a/tests/core/output/flagFullDirectoryStructure.test.ts +++ b/tests/core/output/flagFullDirectoryStructure.test.ts @@ -36,6 +36,7 @@ const createMockConfig = (overrides: Partial = {}): Repomix include: ['src/**/*.ts'], ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, diff --git a/tests/core/output/outputStyles/jsonStyle.test.ts b/tests/core/output/outputStyles/jsonStyle.test.ts index f9c9702b9..92a983837 100644 --- a/tests/core/output/outputStyles/jsonStyle.test.ts +++ b/tests/core/output/outputStyles/jsonStyle.test.ts @@ -36,6 +36,7 @@ const createMockConfig = (overrides: Partial = {}): Repomix include: [], ignore: { useGitignore: true, + useDotIgnore: true, useDefaultPatterns: true, customPatterns: [], }, diff --git a/website/client/src/de/guide/command-line-options.md b/website/client/src/de/guide/command-line-options.md index 277e829b4..0127abe3c 100644 --- a/website/client/src/de/guide/command-line-options.md +++ b/website/client/src/de/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: Liste der Einschlussmuster (kommagetrennt) - `-i, --ignore `: Zusätzliche Ignoriermuster (kommagetrennt) - `--no-gitignore`: .gitignore-Datei-Nutzung deaktivieren +- `--no-dot-ignore`: .ignore-Datei-Nutzung deaktivieren - `--no-default-patterns`: Standardmuster deaktivieren ## Remote-Repository-Optionen diff --git a/website/client/src/de/guide/configuration.md b/website/client/src/de/guide/configuration.md index fd82fbf1f..3ee093004 100644 --- a/website/client/src/de/guide/configuration.md +++ b/website/client/src/de/guide/configuration.md @@ -110,6 +110,7 @@ JavaScript-Konfigurationsdateien funktionieren genauso wie TypeScript und unters | `output.git.includeLogsCount` | Anzahl der Git-Log-Commits, die in die Ausgabe einbezogen werden sollen | `50` | | `include` | Zu einschließende Dateimuster (verwendet [glob-Muster](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)) | `[]` | | `ignore.useGitignore` | Ob Muster aus der `.gitignore`-Datei des Projekts verwendet werden sollen | `true` | +| `ignore.useDotIgnore` | Ob Muster aus der `.ignore`-Datei des Projekts verwendet werden sollen | `true` | | `ignore.useDefaultPatterns` | Ob Standard-Ignorier-Muster (node_modules, .git etc.) verwendet werden sollen | `true` | | `ignore.customPatterns` | Zusätzliche Ignorier-Muster (verwendet [glob-Muster](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)) | `[]` | | `security.enableSecurityCheck` | Ob Secretlint verwendet werden soll, um Sicherheitsprüfungen auf sensible Informationen durchzuführen | `true` | @@ -232,6 +233,7 @@ Oder verwenden Sie die Kommandozeilenoption `--include` für einmaliges Filtern. Repomix bietet mehrere Methoden zum Festlegen von Ignorier-Mustern, um bestimmte Dateien oder Verzeichnisse während des Packprozesses auszuschließen: - **.gitignore**: Standardmäßig werden die in den `.gitignore`-Dateien und `.git/info/exclude` Ihres Projekts aufgelisteten Muster verwendet. Dieses Verhalten kann über die Einstellung `ignore.useGitignore` oder die CLI-Option `--no-gitignore` gesteuert werden. +- **.ignore**: Sie können eine `.ignore`-Datei im Stammverzeichnis Ihres Projekts verwenden, die dem gleichen Format wie `.gitignore` folgt. Diese Datei wird von Tools wie ripgrep und the silver searcher respektiert und reduziert die Notwendigkeit, mehrere Ignorier-Dateien zu pflegen. Dieses Verhalten kann über die Einstellung `ignore.useDotIgnore` oder die CLI-Option `--no-dot-ignore` gesteuert werden. - **Standardmuster**: Repomix enthält eine Standardliste häufig ausgeschlossener Dateien und Verzeichnisse (z.B. node_modules, .git, Binärdateien). Diese Funktion kann über die Einstellung `ignore.useDefaultPatterns` oder die CLI-Option `--no-default-patterns` gesteuert werden. Weitere Details finden Sie in [defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts). - **.repomixignore**: Sie können eine `.repomixignore`-Datei in Ihrem Projektstamm erstellen, um Repomix-spezifische Ignorier-Muster zu definieren. Diese Datei folgt dem gleichen Format wie `.gitignore`. - **Benutzerdefinierte Muster**: Zusätzliche Ignorier-Muster können über die Option `ignore.customPatterns` in der Konfigurationsdatei angegeben werden. Sie können diese Einstellung mit der Kommandozeilenoption `-i, --ignore` überschreiben. @@ -239,9 +241,10 @@ Repomix bietet mehrere Methoden zum Festlegen von Ignorier-Mustern, um bestimmte **Prioritätsreihenfolge** (von höchster zu niedrigster): 1. Benutzerdefinierte Muster (`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore` und `.git/info/exclude` (wenn `ignore.useGitignore` true ist und `--no-gitignore` nicht verwendet wird) -4. Standardmuster (wenn `ignore.useDefaultPatterns` true ist und `--no-default-patterns` nicht verwendet wird) +2. Ignorier-Dateien (`.repomixignore`, `.ignore`, `.gitignore` und `.git/info/exclude`): + - Bei verschachtelten Verzeichnissen haben Dateien in tieferen Verzeichnissen höhere Priorität + - Bei Dateien im selben Verzeichnis werden diese ohne bestimmte Reihenfolge zusammengeführt +3. Standardmuster (wenn `ignore.useDefaultPatterns` true ist und `--no-default-patterns` nicht verwendet wird) Dieser Ansatz ermöglicht eine flexible Konfiguration des Dateiausschlusses basierend auf den Anforderungen Ihres Projekts. Er hilft, die Größe der generierten Packdatei zu optimieren, indem er den Ausschluss sicherheitssensibler Dateien und großer Binärdateien gewährleistet und gleichzeitig die Preisgabe vertraulicher Informationen verhindert. diff --git a/website/client/src/en/guide/command-line-options.md b/website/client/src/en/guide/command-line-options.md index 9fafa87a5..2e40018c1 100644 --- a/website/client/src/en/guide/command-line-options.md +++ b/website/client/src/en/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: Include only files matching these glob patterns (comma-separated, e.g., "src/**/*.js,*.md") - `-i, --ignore `: Additional patterns to exclude (comma-separated, e.g., "*.test.js,docs/**") - `--no-gitignore`: Don't use .gitignore rules for filtering files +- `--no-dot-ignore`: Don't use .ignore rules for filtering files - `--no-default-patterns`: Don't apply built-in ignore patterns (node_modules, .git, build dirs, etc.) ## Remote Repository Options diff --git a/website/client/src/en/guide/configuration.md b/website/client/src/en/guide/configuration.md index 9448df034..da46b7faa 100644 --- a/website/client/src/en/guide/configuration.md +++ b/website/client/src/en/guide/configuration.md @@ -110,6 +110,7 @@ JavaScript configuration files work the same as TypeScript, supporting `defineCo | `output.git.includeLogsCount` | Number of git log commits to include in the output | `50` | | `include` | Patterns of files to include using [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `ignore.useGitignore` | Whether to use patterns from the project's `.gitignore` file | `true` | +| `ignore.useDotIgnore` | Whether to use patterns from the project's `.ignore` file | `true` | | `ignore.useDefaultPatterns` | Whether to use default ignore patterns (node_modules, .git, etc.) | `true` | | `ignore.customPatterns` | Additional patterns to ignore using [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `security.enableSecurityCheck` | Whether to perform security checks using Secretlint to detect sensitive information | `true` | @@ -232,6 +233,7 @@ Or use the `--include` command-line option for one-time filtering. Repomix offers multiple methods to set ignore patterns for excluding specific files or directories during the packing process: - **.gitignore**: By default, patterns listed in your project's `.gitignore` files and `.git/info/exclude` are used. This behavior can be controlled with the `ignore.useGitignore` setting or the `--no-gitignore` CLI option. +- **.ignore**: You can use a `.ignore` file in your project root, following the same format as `.gitignore`. This file is respected by tools like ripgrep and the silver searcher, reducing the need to maintain multiple ignore files. This behavior can be controlled with the `ignore.useDotIgnore` setting or the `--no-dot-ignore` CLI option. - **Default patterns**: Repomix includes a default list of commonly excluded files and directories (e.g., node_modules, .git, binary files). This feature can be controlled with the `ignore.useDefaultPatterns` setting or the `--no-default-patterns` CLI option. Please see [defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts) for more details. - **.repomixignore**: You can create a `.repomixignore` file in your project root to define Repomix-specific ignore patterns. This file follows the same format as `.gitignore`. - **Custom patterns**: Additional ignore patterns can be specified using the `ignore.customPatterns` option in the configuration file. You can overwrite this setting with the `-i, --ignore` command line option. @@ -239,9 +241,10 @@ Repomix offers multiple methods to set ignore patterns for excluding specific fi **Priority Order** (from highest to lowest): 1. Custom patterns (`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore` and `.git/info/exclude` (if `ignore.useGitignore` is true and `--no-gitignore` is not used) -4. Default patterns (if `ignore.useDefaultPatterns` is true and `--no-default-patterns` is not used) +2. Ignore files (`.repomixignore`, `.ignore`, `.gitignore`, and `.git/info/exclude`): + - When in nested directories, files in deeper directories have higher priority + - When in the same directory, these files are merged in no particular order +3. Default patterns (if `ignore.useDefaultPatterns` is true and `--no-default-patterns` is not used) This approach allows for flexible file exclusion configuration based on your project's needs. It helps optimize the size of the generated pack file by ensuring the exclusion of security-sensitive files and large binary files, while preventing the leakage of confidential information. diff --git a/website/client/src/es/guide/command-line-options.md b/website/client/src/es/guide/command-line-options.md index 168b35cf9..3281dbf96 100644 --- a/website/client/src/es/guide/command-line-options.md +++ b/website/client/src/es/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: Lista de patrones de inclusión (separados por comas) - `-i, --ignore `: Patrones de ignorar adicionales (separados por comas) - `--no-gitignore`: Deshabilitar uso de archivo .gitignore +- `--no-dot-ignore`: Deshabilitar uso de archivo .ignore - `--no-default-patterns`: Deshabilitar patrones por defecto ## Opciones de repositorio remoto diff --git a/website/client/src/es/guide/configuration.md b/website/client/src/es/guide/configuration.md index bfa255ec7..a52d5eb0c 100644 --- a/website/client/src/es/guide/configuration.md +++ b/website/client/src/es/guide/configuration.md @@ -110,6 +110,7 @@ Los archivos de configuración JavaScript funcionan igual que TypeScript, admiti | `output.git.includeLogsCount` | Número de commits de log de git a incluir en la salida | `50` | | `include` | Patrones de archivos a incluir usando [patrones glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `ignore.useGitignore` | Indica si se deben usar los patrones del archivo `.gitignore` del proyecto | `true` | +| `ignore.useDotIgnore` | Indica si se deben usar los patrones del archivo `.ignore` del proyecto | `true` | | `ignore.useDefaultPatterns` | Indica si se deben usar los patrones de ignorar predeterminados (node_modules, .git, etc.) | `true` | | `ignore.customPatterns` | Patrones adicionales para ignorar usando [patrones glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `security.enableSecurityCheck` | Indica si se deben realizar comprobaciones de seguridad usando Secretlint para detectar información sensible | `true` | @@ -232,6 +233,7 @@ O use la opción de línea de comandos `--include` para filtrado único. Repomix ofrece múltiples métodos para establecer patrones de ignorar para excluir archivos o directorios específicos durante el proceso de empaquetado: - **.gitignore**: Por defecto, se utilizan los patrones listados en los archivos `.gitignore` de su proyecto y `.git/info/exclude`. Este comportamiento se puede controlar con la configuración `ignore.useGitignore` o la opción CLI `--no-gitignore`. +- **.ignore**: Puede usar un archivo `.ignore` en la raíz de su proyecto, siguiendo el mismo formato que `.gitignore`. Este archivo es respetado por herramientas como ripgrep y the silver searcher, reduciendo la necesidad de mantener múltiples archivos de ignorar. Este comportamiento se puede controlar con la configuración `ignore.useDotIgnore` o la opción CLI `--no-dot-ignore`. - **Patrones predeterminados**: Repomix incluye una lista predeterminada de archivos y directorios comúnmente excluidos (por ejemplo, node_modules, .git, archivos binarios). Esta característica se puede controlar con la configuración `ignore.useDefaultPatterns` o la opción CLI `--no-default-patterns`. Consulte [defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts) para más detalles. - **.repomixignore**: Puede crear un archivo `.repomixignore` en la raíz de su proyecto para definir patrones de ignorar específicos de Repomix. Este archivo sigue el mismo formato que `.gitignore`. - **Patrones personalizados**: Se pueden especificar patrones de ignorar adicionales usando la opción `ignore.customPatterns` en el archivo de configuración. Puede sobrescribir esta configuración con la opción de línea de comandos `-i, --ignore`. @@ -239,9 +241,10 @@ Repomix ofrece múltiples métodos para establecer patrones de ignorar para excl **Orden de prioridad** (de mayor a menor): 1. Patrones personalizados (`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore` y `.git/info/exclude` (si `ignore.useGitignore` es verdadero y `--no-gitignore` no se usa) -4. Patrones predeterminados (si `ignore.useDefaultPatterns` es verdadero y `--no-default-patterns` no se usa) +2. Archivos de ignorar (`.repomixignore`, `.ignore`, `.gitignore` y `.git/info/exclude`): + - Cuando están en directorios anidados, los archivos en directorios más profundos tienen mayor prioridad + - Cuando están en el mismo directorio, estos archivos se fusionan sin un orden particular +3. Patrones predeterminados (si `ignore.useDefaultPatterns` es verdadero y `--no-default-patterns` no se usa) Este enfoque permite una configuración flexible de exclusión de archivos basada en las necesidades de su proyecto. Ayuda a optimizar el tamaño del archivo empaquetado generado asegurando la exclusión de archivos sensibles a la seguridad y archivos binarios grandes, mientras previene la fuga de información confidencial. diff --git a/website/client/src/fr/guide/command-line-options.md b/website/client/src/fr/guide/command-line-options.md index 0e4450725..091351cf0 100644 --- a/website/client/src/fr/guide/command-line-options.md +++ b/website/client/src/fr/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: Liste des motifs d'inclusion (séparés par des virgules) - `-i, --ignore `: Motifs d'ignorance supplémentaires (séparés par des virgules) - `--no-gitignore`: Désactiver l'utilisation du fichier .gitignore +- `--no-dot-ignore`: Désactiver l'utilisation du fichier .ignore - `--no-default-patterns`: Désactiver les motifs par défaut ## Options de dépôt distant diff --git a/website/client/src/fr/guide/configuration.md b/website/client/src/fr/guide/configuration.md index 9bedcc582..a5e3cac18 100644 --- a/website/client/src/fr/guide/configuration.md +++ b/website/client/src/fr/guide/configuration.md @@ -110,6 +110,7 @@ Les fichiers de configuration JavaScript fonctionnent de la même manière que T | `output.git.includeLogsCount` | Nombre de commits de journaux git récents à inclure dans la sortie | `50` | | `include` | Motifs des fichiers à inclure en utilisant les [motifs glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `ignore.useGitignore` | Indique s'il faut utiliser les motifs du fichier `.gitignore` du projet | `true` | +| `ignore.useDotIgnore` | Indique s'il faut utiliser les motifs du fichier `.ignore` du projet | `true` | | `ignore.useDefaultPatterns` | Indique s'il faut utiliser les motifs d'ignorance par défaut (node_modules, .git, etc.) | `true` | | `ignore.customPatterns` | Motifs supplémentaires à ignorer en utilisant les [motifs glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `security.enableSecurityCheck` | Indique s'il faut effectuer des vérifications de sécurité à l'aide de Secretlint pour détecter les informations sensibles | `true` | @@ -232,6 +233,7 @@ Ou utilisez l'option en ligne de commande `--include` pour un filtrage ponctuel. Repomix offre plusieurs méthodes pour définir des motifs d'ignorance afin d'exclure des fichiers ou répertoires spécifiques pendant le processus d'empaquetage : - **.gitignore** : Par défaut, les motifs listés dans les fichiers `.gitignore` de votre projet et `.git/info/exclude` sont utilisés. Ce comportement peut être contrôlé avec le paramètre `ignore.useGitignore` ou l'option CLI `--no-gitignore`. +- **.ignore** : Vous pouvez utiliser un fichier `.ignore` à la racine de votre projet, suivant le même format que `.gitignore`. Ce fichier est respecté par des outils comme ripgrep et the silver searcher, réduisant le besoin de maintenir plusieurs fichiers d'ignorance. Ce comportement peut être contrôlé avec le paramètre `ignore.useDotIgnore` ou l'option CLI `--no-dot-ignore`. - **Motifs par défaut** : Repomix inclut une liste par défaut de fichiers et répertoires couramment exclus (par exemple, node_modules, .git, fichiers binaires). Cette fonctionnalité peut être contrôlée avec le paramètre `ignore.useDefaultPatterns` ou l'option CLI `--no-default-patterns`. Veuillez consulter [defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts) pour plus de détails. - **.repomixignore** : Vous pouvez créer un fichier `.repomixignore` à la racine de votre projet pour définir des motifs d'ignorance spécifiques à Repomix. Ce fichier suit le même format que `.gitignore`. - **Motifs personnalisés** : Des motifs d'ignorance supplémentaires peuvent être spécifiés en utilisant l'option `ignore.customPatterns` dans le fichier de configuration. Vous pouvez remplacer ce paramètre avec l'option en ligne de commande `-i, --ignore`. @@ -239,9 +241,10 @@ Repomix offre plusieurs méthodes pour définir des motifs d'ignorance afin d'ex **Ordre de priorité** (du plus élevé au plus bas) : 1. Motifs personnalisés (`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore` et `.git/info/exclude` (si `ignore.useGitignore` est vrai et `--no-gitignore` n'est pas utilisé) -4. Motifs par défaut (si `ignore.useDefaultPatterns` est vrai et `--no-default-patterns` n'est pas utilisé) +2. Fichiers d'ignorance (`.repomixignore`, `.ignore`, `.gitignore`, et `.git/info/exclude`) : + - Lorsqu'ils sont dans des répertoires imbriqués, les fichiers dans les répertoires plus profonds ont une priorité plus élevée + - Lorsqu'ils sont dans le même répertoire, ces fichiers sont fusionnés sans ordre particulier +3. Motifs par défaut (si `ignore.useDefaultPatterns` est vrai et `--no-default-patterns` n'est pas utilisé) Cette approche permet une configuration flexible de l'exclusion de fichiers en fonction des besoins de votre projet. Elle aide à optimiser la taille du fichier empaqueté généré en garantissant l'exclusion des fichiers sensibles à la sécurité et des gros fichiers binaires, tout en empêchant la fuite d'informations confidentielles. diff --git a/website/client/src/hi/guide/command-line-options.md b/website/client/src/hi/guide/command-line-options.md index 80d8377a1..37b8c3f6d 100644 --- a/website/client/src/hi/guide/command-line-options.md +++ b/website/client/src/hi/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: शामिल पैटर्न की सूची (कॉमा-अलग) - `-i, --ignore `: अतिरिक्त अनदेखा पैटर्न (कॉमा-अलग) - `--no-gitignore`: .gitignore फ़ाइल उपयोग अक्षम करें +- `--no-dot-ignore`: .ignore फ़ाइल उपयोग अक्षम करें - `--no-default-patterns`: डिफ़ॉल्ट पैटर्न अक्षम करें ## रिमोट रिपॉजिटरी विकल्प diff --git a/website/client/src/hi/guide/configuration.md b/website/client/src/hi/guide/configuration.md index 1fec026eb..cbce50224 100644 --- a/website/client/src/hi/guide/configuration.md +++ b/website/client/src/hi/guide/configuration.md @@ -110,6 +110,7 @@ JavaScript कॉन्फिगरेशन फ़ाइलें TypeScript | `output.git.includeLogsCount` | आउटपुट में शामिल करने के लिए git log कमिट की संख्या | `50` | | `include` | शामिल करने के लिए फ़ाइल पैटर्न [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) का उपयोग करके | `[]` | | `ignore.useGitignore` | प्रोजेक्ट की `.gitignore` फ़ाइल के पैटर्न का उपयोग करना है या नहीं | `true` | +| `ignore.useDotIgnore` | प्रोजेक्ट की `.ignore` फ़ाइल के पैटर्न का उपयोग करना है या नहीं | `true` | | `ignore.useDefaultPatterns` | डिफ़ॉल्ट ignore पैटर्न (node_modules, .git, आदि) का उपयोग करना है या नहीं | `true` | | `ignore.customPatterns` | अतिरिक्त ignore पैटर्न [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) का उपयोग करके | `[]` | | `security.enableSecurityCheck` | संवेदनशील जानकारी का पता लगाने के लिए Secretlint का उपयोग करके सुरक्षा जांच करनी है या नहीं | `true` | @@ -211,12 +212,21 @@ Repomix निम्नलिखित क्रम में कॉन्फि ## Ignore पैटर्न -Repomix कई तरीके प्रदान करता है जिससे आप निर्दिष्ट कर सकते हैं कि कौन सी फ़ाइलों को ignore करना है। पैटर्न निम्नलिखित प्राथमिकता क्रम में प्रोसेस किए जाते हैं: +Repomix कई तरीके प्रदान करता है जिससे आप निर्दिष्ट कर सकते हैं कि कौन सी फ़ाइलों को ignore करना है: -1. CLI विकल्प (`--ignore`) -2. प्रोजेक्ट डायरेक्टरी में `.repomixignore` फ़ाइल -3. `.gitignore` और `.git/info/exclude` (यदि `ignore.useGitignore` true है) -4. डिफ़ॉल्ट पैटर्न (यदि `ignore.useDefaultPatterns` true है) +- **.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](https://github.com/yamadashy/repomix/blob/main/src/config/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` का उदाहरण: ```text diff --git a/website/client/src/id/guide/command-line-options.md b/website/client/src/id/guide/command-line-options.md index 07d9fc22e..a53c7080d 100644 --- a/website/client/src/id/guide/command-line-options.md +++ b/website/client/src/id/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: Daftar pola penyertaan (dipisahkan koma) - `-i, --ignore `: Pola pengabaian tambahan (dipisahkan koma) - `--no-gitignore`: Menonaktifkan penggunaan file .gitignore +- `--no-dot-ignore`: Menonaktifkan penggunaan file .ignore - `--no-default-patterns`: Menonaktifkan pola default ## Opsi Repositori Remote diff --git a/website/client/src/id/guide/configuration.md b/website/client/src/id/guide/configuration.md index 3d536f71a..86d758b3c 100644 --- a/website/client/src/id/guide/configuration.md +++ b/website/client/src/id/guide/configuration.md @@ -110,6 +110,7 @@ File konfigurasi JavaScript bekerja sama seperti TypeScript, mendukung `defineCo | `output.git.includeLogsCount` | Jumlah commit log git yang akan disertakan dalam output | `50` | | `include` | Pola file untuk disertakan menggunakan [pola glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `ignore.useGitignore` | Apakah akan menggunakan pola dari file `.gitignore` proyek | `true` | +| `ignore.useDotIgnore` | Apakah akan menggunakan pola dari file `.ignore` proyek | `true` | | `ignore.useDefaultPatterns` | Apakah akan menggunakan pola ignore default (node_modules, .git, dll.) | `true` | | `ignore.customPatterns` | Pola tambahan untuk diabaikan menggunakan [pola glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `security.enableSecurityCheck` | Apakah akan melakukan pemeriksaan keamanan menggunakan Secretlint untuk mendeteksi informasi sensitif | `true` | @@ -211,12 +212,21 @@ Opsi baris perintah memiliki prioritas lebih tinggi daripada pengaturan file kon ## Pola Ignore -Repomix menyediakan beberapa cara untuk menentukan file mana yang harus diabaikan. Pola diproses dalam urutan prioritas berikut: +Repomix menyediakan beberapa cara untuk menentukan file mana yang harus diabaikan: -1. Opsi CLI (`--ignore`) -2. File `.repomixignore` di direktori proyek -3. `.gitignore` dan `.git/info/exclude` (jika `ignore.useGitignore` adalah true) -4. Pola default (jika `ignore.useDefaultPatterns` adalah true) +- **.gitignore**: Secara default, pola yang tercantum dalam file `.gitignore` dan `.git/info/exclude` proyek digunakan. Perilaku ini dapat dikontrol dengan pengaturan `ignore.useGitignore` atau opsi CLI `--no-gitignore`. +- **.ignore**: Anda dapat menggunakan file `.ignore` di direktori root proyek, mengikuti format yang sama dengan `.gitignore`. File ini digunakan oleh alat seperti ripgrep dan the silver searcher, mengurangi kebutuhan untuk memelihara beberapa file ignore. Perilaku ini dapat dikontrol dengan pengaturan `ignore.useDotIgnore` atau opsi CLI `--no-dot-ignore`. +- **Pola default**: Repomix menyertakan daftar default file dan direktori yang biasanya dikecualikan (misalnya node_modules, .git, file biner). Fitur ini dapat dikontrol dengan pengaturan `ignore.useDefaultPatterns` atau opsi CLI `--no-default-patterns`. Silakan lihat [defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts) untuk detail lebih lanjut. +- **.repomixignore**: Anda dapat membuat file `.repomixignore` di direktori root proyek untuk mendefinisikan pola ignore khusus Repomix. File ini mengikuti format yang sama dengan `.gitignore`. +- **Pola kustom**: Pola ignore tambahan dapat ditentukan menggunakan opsi `ignore.customPatterns` dalam file konfigurasi. Anda dapat menimpa pengaturan ini dengan opsi baris perintah `-i, --ignore`. + +**Urutan prioritas** (dari tinggi ke rendah): + +1. Pola kustom (`ignore.customPatterns`) +2. File ignore (`.repomixignore`, `.ignore`, `.gitignore`, dan `.git/info/exclude`): + - Ketika berada di direktori bersarang, file di direktori yang lebih dalam memiliki prioritas lebih tinggi + - Ketika berada di direktori yang sama, file-file ini digabungkan tanpa urutan tertentu +3. Pola default (jika `ignore.useDefaultPatterns` adalah true dan tidak menggunakan `--no-default-patterns`) Contoh `.repomixignore`: ```text diff --git a/website/client/src/ja/guide/command-line-options.md b/website/client/src/ja/guide/command-line-options.md index 1537d3392..5bd0c7356 100644 --- a/website/client/src/ja/guide/command-line-options.md +++ b/website/client/src/ja/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: これらのglobパターンに一致するファイルのみを含める(カンマ区切り、例:「src/**/*.js,*.md」) - `-i, --ignore `: 除外する追加パターン(カンマ区切り、例:「*.test.js,docs/**」) - `--no-gitignore`: ファイルフィルタリングに.gitignoreルールを使用しない +- `--no-dot-ignore`: ファイルフィルタリングに.ignoreルールを使用しない - `--no-default-patterns`: 組み込みの無視パターンを適用しない(node_modules、.git、buildディレクトリなど) ## リモートリポジトリオプション diff --git a/website/client/src/ja/guide/configuration.md b/website/client/src/ja/guide/configuration.md index 9742b135b..f78c7bab2 100644 --- a/website/client/src/ja/guide/configuration.md +++ b/website/client/src/ja/guide/configuration.md @@ -110,6 +110,7 @@ JavaScript設定ファイルはTypeScriptと同様に機能し、`defineConfig` | `output.git.includeLogsCount` | 含めるGitログのコミット数。開発パターンを理解するための履歴の深さを制限します | `50` | | `include` | 含めるファイルのパターン([globパターン](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)を使用) | `[]` | | `ignore.useGitignore` | プロジェクトの`.gitignore`ファイルのパターンを使用するかどうか | `true` | +| `ignore.useDotIgnore` | プロジェクトの`.ignore`ファイルのパターンを使用するかどうか | `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` | @@ -232,6 +233,7 @@ Repomixは[globパターン](https://github.com/mrmlnc/fast-glob?tab=readme-ov-f Repomixは、パッキングプロセス中に特定のファイルやディレクトリを除外するための複数の方法を提供します: - **.gitignore**: デフォルトでは、プロジェクトの`.gitignore`ファイルと`.git/info/exclude`にリストされているパターンが使用されます。この動作は`ignore.useGitignore`設定または`--no-gitignore` CLIオプションで制御できます。 +- **.ignore**: プロジェクトルートに`.ignore`ファイルを使用できます。`.gitignore`と同じ形式に従います。このファイルはripgrepやthe silver searcherなどのツールでも尊重されるため、複数の除外ファイルを維持する必要が減ります。この動作は`ignore.useDotIgnore`設定または`--no-dot-ignore` 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`コマンドラインオプションで上書きできます。 @@ -239,9 +241,10 @@ Repomixは、パッキングプロセス中に特定のファイルやディレ **優先順位**(高い順): 1. カスタムパターン(`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore`および`.git/info/exclude`(`ignore.useGitignore`がtrueで`--no-gitignore`が使用されていない場合) -4. デフォルトパターン(`ignore.useDefaultPatterns`がtrueで`--no-default-patterns`が使用されていない場合) +2. 除外ファイル(`.repomixignore`、`.ignore`、`.gitignore`、`.git/info/exclude`): + - ネストされたディレクトリにある場合、より深いディレクトリのファイルが優先されます + - 同じディレクトリにある場合、これらのファイルは順不同でマージされます +3. デフォルトパターン(`ignore.useDefaultPatterns`がtrueで`--no-default-patterns`が使用されていない場合) このアプローチにより、プロジェクトのニーズに基づいて柔軟なファイル除外設定が可能になります。セキュリティ上機密性の高いファイルや大きなバイナリファイルの除外を確実にし、機密情報の漏洩を防ぎながら、生成されるパックファイルのサイズを最適化するのに役立ちます。 diff --git a/website/client/src/ko/guide/command-line-options.md b/website/client/src/ko/guide/command-line-options.md index e665d4c50..7bc7db761 100644 --- a/website/client/src/ko/guide/command-line-options.md +++ b/website/client/src/ko/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: 포함 패턴 목록 (쉼표로 구분) - `-i, --ignore `: 추가 무시 패턴 (쉼표로 구분) - `--no-gitignore`: .gitignore 파일 사용 비활성화 +- `--no-dot-ignore`: .ignore 파일 사용 비활성화 - `--no-default-patterns`: 기본 패턴 비활성화 ## 원격 저장소 옵션 diff --git a/website/client/src/ko/guide/configuration.md b/website/client/src/ko/guide/configuration.md index a13728ada..2a953951b 100644 --- a/website/client/src/ko/guide/configuration.md +++ b/website/client/src/ko/guide/configuration.md @@ -110,6 +110,7 @@ JavaScript 설정 파일은 TypeScript와 동일하게 작동하며 `defineConfi | `output.git.includeLogsCount` | 포함할 Git 로그 커밋 수. 개발 패턴을 이해하기 위한 히스토리 깊이를 제한합니다 | `50` | | `include` | 포함할 파일 패턴([glob 패턴](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) 사용) | `[]` | | `ignore.useGitignore` | 프로젝트의 `.gitignore` 파일의 패턴을 사용할지 여부 | `true` | +| `ignore.useDotIgnore` | 프로젝트의 `.ignore` 파일의 패턴을 사용할지 여부 | `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` | @@ -232,6 +233,7 @@ Repomix는 [glob 패턴](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file# Repomix는 패키징 프로세스 중에 특정 파일이나 디렉토리를 제외하기 위한 여러 방법을 제공합니다: - **.gitignore**: 기본적으로 프로젝트의 `.gitignore` 파일과 `.git/info/exclude`에 나열된 패턴이 사용됩니다. 이 동작은 `ignore.useGitignore` 설정 또는 `--no-gitignore` CLI 옵션으로 제어할 수 있습니다. +- **.ignore**: 프로젝트 루트에 `.gitignore`와 동일한 형식의 `.ignore` 파일을 사용할 수 있습니다. 이 파일은 ripgrep 및 the silver searcher와 같은 도구에서도 사용되어 여러 무시 파일을 관리할 필요성을 줄입니다. 이 동작은 `ignore.useDotIgnore` 설정 또는 `--no-dot-ignore` 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` 명령줄 옵션으로 덮어쓸 수 있습니다. @@ -239,9 +241,10 @@ Repomix는 패키징 프로세스 중에 특정 파일이나 디렉토리를 제 **우선순위** (높은 순서에서 낮은 순서): 1. 사용자 정의 패턴(`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore` 및 `.git/info/exclude`(`ignore.useGitignore`가 true이고 `--no-gitignore`가 사용되지 않은 경우) -4. 기본 패턴(`ignore.useDefaultPatterns`가 true이고 `--no-default-patterns`가 사용되지 않은 경우) +2. 무시 파일(`.repomixignore`, `.ignore`, `.gitignore`, `.git/info/exclude`): + - 중첩된 디렉터리에 있는 경우, 더 깊은 디렉터리의 파일이 더 높은 우선순위를 가집니다 + - 같은 디렉터리에 있는 경우, 이러한 파일들은 특정 순서 없이 병합됩니다 +3. 기본 패턴(`ignore.useDefaultPatterns`가 true이고 `--no-default-patterns`가 사용되지 않은 경우) 이 접근 방식을 통해 프로젝트의 필요에 따라 유연한 파일 제외 설정이 가능합니다. 보안에 민감한 파일과 대용량 바이너리 파일의 제외를 보장하면서 기밀 정보 유출을 방지하여 생성된 팩 파일의 크기를 최적화하는 데 도움이 됩니다. diff --git a/website/client/src/pt-br/guide/command-line-options.md b/website/client/src/pt-br/guide/command-line-options.md index ae75025ce..de1e80dd3 100644 --- a/website/client/src/pt-br/guide/command-line-options.md +++ b/website/client/src/pt-br/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: Lista de padrões de inclusão (separados por vírgula) - `-i, --ignore `: Padrões de ignorar adicionais (separados por vírgula) - `--no-gitignore`: Desabilitar uso do arquivo .gitignore +- `--no-dot-ignore`: Desabilitar uso do arquivo .ignore - `--no-default-patterns`: Desabilitar padrões padrão ## Opções de Repositório Remoto diff --git a/website/client/src/pt-br/guide/configuration.md b/website/client/src/pt-br/guide/configuration.md index b7afb8275..2d9969736 100644 --- a/website/client/src/pt-br/guide/configuration.md +++ b/website/client/src/pt-br/guide/configuration.md @@ -110,6 +110,7 @@ Os arquivos de configuração JavaScript funcionam da mesma forma que TypeScript | `output.git.includeLogsCount` | Número de commits do log do git para incluir na saída | `50` | | `include` | Padrões de arquivos para incluir usando [padrões glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `ignore.useGitignore` | Indica se deve usar os padrões do arquivo `.gitignore` do projeto | `true` | +| `ignore.useDotIgnore` | Indica se deve usar os padrões do arquivo `.ignore` do projeto | `true` | | `ignore.useDefaultPatterns` | Indica se deve usar os padrões de ignorar padrão (node_modules, .git, etc.) | `true` | | `ignore.customPatterns` | Padrões adicionais para ignorar usando [padrões glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `security.enableSecurityCheck` | Indica se deve realizar verificações de segurança usando Secretlint para detectar informações sensíveis | `true` | @@ -232,6 +233,7 @@ Ou use a opção de linha de comando `--include` para filtragem única. O Repomix oferece múltiplos métodos para definir padrões de ignorar para excluir arquivos ou diretórios específicos durante o processo de empacotamento: - **.gitignore**: Por padrão, são utilizados os padrões listados nos arquivos `.gitignore` do seu projeto e `.git/info/exclude`. Este comportamento pode ser controlado com a configuração `ignore.useGitignore` ou a opção CLI `--no-gitignore`. +- **.ignore**: Você pode usar um arquivo `.ignore` na raiz do seu projeto, seguindo o mesmo formato que `.gitignore`. Este arquivo é respeitado por ferramentas como ripgrep e the silver searcher, reduzindo a necessidade de manter múltiplos arquivos de ignorar. Este comportamento pode ser controlado com a configuração `ignore.useDotIgnore` ou a opção CLI `--no-dot-ignore`. - **Padrões padrão**: O Repomix inclui uma lista padrão de arquivos e diretórios comumente excluídos (por exemplo, node_modules, .git, arquivos binários). Esta funcionalidade pode ser controlada com a configuração `ignore.useDefaultPatterns` ou a opção CLI `--no-default-patterns`. Por favor, consulte [defaultIgnore.ts](https://github.com/yamadashy/repomix/blob/main/src/config/defaultIgnore.ts) para mais detalhes. - **.repomixignore**: Você pode criar um arquivo `.repomixignore` na raiz do seu projeto para definir padrões de ignorar específicos do Repomix. Este arquivo segue o mesmo formato que `.gitignore`. - **Padrões personalizados**: Padrões de ignorar adicionais podem ser especificados usando a opção `ignore.customPatterns` no arquivo de configuração. Você pode sobrescrever esta configuração com a opção de linha de comando `-i, --ignore`. @@ -239,9 +241,10 @@ O Repomix oferece múltiplos métodos para definir padrões de ignorar para excl **Ordem de prioridade** (da mais alta para a mais baixa): 1. Padrões personalizados (`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore` e `.git/info/exclude` (se `ignore.useGitignore` for verdadeiro e `--no-gitignore` não for usado) -4. Padrões padrão (se `ignore.useDefaultPatterns` for verdadeiro e `--no-default-patterns` não for usado) +2. Arquivos de ignorar (`.repomixignore`, `.ignore`, `.gitignore` e `.git/info/exclude`): + - Quando em diretórios aninhados, arquivos em diretórios mais profundos têm prioridade mais alta + - Quando no mesmo diretório, esses arquivos são mesclados sem uma ordem particular +3. Padrões padrão (se `ignore.useDefaultPatterns` for verdadeiro e `--no-default-patterns` não for usado) Esta abordagem permite uma configuração flexível de exclusão de arquivos com base nas necessidades do seu projeto. Ajuda a otimizar o tamanho do arquivo empacotado gerado, garantindo a exclusão de arquivos sensíveis à segurança e arquivos binários grandes, enquanto previne o vazamento de informações confidenciais. diff --git a/website/client/src/public/schemas/1.8.0/schema.json b/website/client/src/public/schemas/1.8.0/schema.json index e566588f4..53d1e305d 100644 --- a/website/client/src/public/schemas/1.8.0/schema.json +++ b/website/client/src/public/schemas/1.8.0/schema.json @@ -123,6 +123,9 @@ "useGitignore": { "type": "boolean" }, + "useDotIgnore": { + "type": "boolean" + }, "useDefaultPatterns": { "type": "boolean" }, diff --git a/website/client/src/public/schemas/latest/schema.json b/website/client/src/public/schemas/latest/schema.json index e566588f4..53d1e305d 100644 --- a/website/client/src/public/schemas/latest/schema.json +++ b/website/client/src/public/schemas/latest/schema.json @@ -123,6 +123,9 @@ "useGitignore": { "type": "boolean" }, + "useDotIgnore": { + "type": "boolean" + }, "useDefaultPatterns": { "type": "boolean" }, diff --git a/website/client/src/vi/guide/command-line-options.md b/website/client/src/vi/guide/command-line-options.md index 8cac2f8cb..fb2aed749 100644 --- a/website/client/src/vi/guide/command-line-options.md +++ b/website/client/src/vi/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: Danh sách các mẫu bao gồm (phân tách bằng dấu phẩy) - `-i, --ignore `: Các mẫu bỏ qua bổ sung (phân tách bằng dấu phẩy) - `--no-gitignore`: Tắt việc sử dụng tệp .gitignore +- `--no-dot-ignore`: Tắt việc sử dụng tệp .ignore - `--no-default-patterns`: Tắt các mẫu mặc định ## Tùy chọn Kho lưu trữ Từ xa diff --git a/website/client/src/vi/guide/configuration.md b/website/client/src/vi/guide/configuration.md index bc63b4d9e..ac4bc643b 100644 --- a/website/client/src/vi/guide/configuration.md +++ b/website/client/src/vi/guide/configuration.md @@ -110,6 +110,7 @@ File cấu hình JavaScript hoạt động tương tự như TypeScript, hỗ tr | `output.git.includeLogsCount` | Số lượng commit git logs để bao gồm trong đầu ra | `50` | | `include` | Các mẫu file để bao gồm sử dụng [mẫu glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `ignore.useGitignore` | Có nên sử dụng các mẫu từ file `.gitignore` của dự án hay không | `true` | +| `ignore.useDotIgnore` | Có nên sử dụng các mẫu từ file `.ignore` của dự án hay không | `true` | | `ignore.useDefaultPatterns` | Có nên sử dụng các mẫu ignore mặc định (node_modules, .git, v.v.) hay không | `true` | | `ignore.customPatterns` | Các mẫu bổ sung để ignore sử dụng [mẫu glob](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax) | `[]` | | `security.enableSecurityCheck` | Có 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ông | `true` | @@ -211,12 +212,21 @@ Các tùy chọn dòng lệnh có ưu tiên cao hơn cài đặt file cấu hìn ## Mẫu Ignore -Repomix cung cấp nhiều cách để chỉ định file nào nên được ignore. Các mẫu được xử lý theo thứ tự ưu tiên sau: +Repomix cung cấp nhiều cách để chỉ định file nào nên được ignore: -1. Tùy chọn CLI (`--ignore`) -2. File `.repomixignore` trong thư mục dự án -3. `.gitignore` và `.git/info/exclude` (nếu `ignore.useGitignore` là true) -4. Mẫu mặc định (nếu `ignore.useDefaultPatterns` là true) +- **.gitignore**: Theo mặc định, các mẫu được liệt kê trong file `.gitignore` và `.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](https://github.com/yamadashy/repomix/blob/main/src/config/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 diff --git a/website/client/src/zh-cn/guide/configuration.md b/website/client/src/zh-cn/guide/configuration.md index 186dc8229..e56c9b265 100644 --- a/website/client/src/zh-cn/guide/configuration.md +++ b/website/client/src/zh-cn/guide/configuration.md @@ -110,6 +110,7 @@ JavaScript配置文件的工作方式与TypeScript相同,支持`defineConfig` | `output.git.includeLogsCount` | 要包含的Git日志提交数量。限制历史深度以了解开发模式 | `50` | | `include` | 要包含的文件模式(使用[glob模式](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)) | `[]` | | `ignore.useGitignore` | 是否使用项目的`.gitignore`文件中的模式 | `true` | +| `ignore.useDotIgnore` | 是否使用项目的`.ignore`文件中的模式 | `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` | @@ -232,6 +233,7 @@ Repomix支持使用[glob模式](https://github.com/mrmlnc/fast-glob?tab=readme-o Repomix提供多种方法来设置忽略模式,以在打包过程中排除特定文件或目录: - **.gitignore**:默认情况下,使用项目的`.gitignore`文件和`.git/info/exclude`中列出的模式。此行为可以通过`ignore.useGitignore`设置或`--no-gitignore` CLI选项控制。 +- **.ignore**:您可以在项目根目录中使用`.ignore`文件,遵循与`.gitignore`相同的格式。ripgrep和the silver searcher等工具也会遵守此文件,减少了维护多个忽略文件的需要。此行为可以通过`ignore.useDotIgnore`设置或`--no-dot-ignore` 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`命令行选项覆盖此设置。 @@ -239,9 +241,10 @@ Repomix提供多种方法来设置忽略模式,以在打包过程中排除特 **优先顺序**(从高到低): 1. 自定义模式(`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore`和`.git/info/exclude`(如果`ignore.useGitignore`为true且未使用`--no-gitignore`) -4. 默认模式(如果`ignore.useDefaultPatterns`为true且未使用`--no-default-patterns`) +2. 忽略文件(`.repomixignore`、`.ignore`、`.gitignore`和`.git/info/exclude`): + - 在嵌套目录中时,更深层目录中的文件具有更高优先级 + - 在同一目录中时,这些文件以不特定的顺序合并 +3. 默认模式(如果`ignore.useDefaultPatterns`为true且未使用`--no-default-patterns`) 这种方法允许根据项目需求灵活配置文件排除。它通过确保排除安全敏感文件和大型二进制文件来帮助优化生成的打包文件的大小,同时防止机密信息泄漏。 diff --git a/website/client/src/zh-tw/guide/command-line-options.md b/website/client/src/zh-tw/guide/command-line-options.md index 54530abe8..33bec0ee4 100644 --- a/website/client/src/zh-tw/guide/command-line-options.md +++ b/website/client/src/zh-tw/guide/command-line-options.md @@ -37,6 +37,7 @@ - `--include `: 包含模式清單(逗號分隔) - `-i, --ignore `: 附加忽略模式(逗號分隔) - `--no-gitignore`: 停用.gitignore檔案使用 +- `--no-dot-ignore`: 停用.ignore檔案使用 - `--no-default-patterns`: 停用預設模式 ## 遠端儲存庫選項 diff --git a/website/client/src/zh-tw/guide/configuration.md b/website/client/src/zh-tw/guide/configuration.md index 35eeabe0c..ea41ce330 100644 --- a/website/client/src/zh-tw/guide/configuration.md +++ b/website/client/src/zh-tw/guide/configuration.md @@ -110,6 +110,7 @@ JavaScript設定檔的工作方式與TypeScript相同,支援`defineConfig`和 | `output.git.includeLogsCount` | 在輸出中包含的git記錄提交數量 | `50` | | `include` | 要包含的檔案模式(使用[glob模式](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)) | `[]` | | `ignore.useGitignore` | 是否使用專案的`.gitignore`檔案中的模式 | `true` | +| `ignore.useDotIgnore` | 是否使用專案的`.ignore`檔案中的模式 | `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` | @@ -232,6 +233,7 @@ Repomix支援使用[glob模式](https://github.com/mrmlnc/fast-glob?tab=readme-o Repomix提供多種方法來設定忽略模式,以在打包過程中排除特定檔案或目錄: - **.gitignore**:預設情況下,使用專案的`.gitignore`檔案和`.git/info/exclude`中列出的模式。此行為可以透過`ignore.useGitignore`設定或`--no-gitignore` CLI選項控制。 +- **.ignore**:您可以在專案根目錄中使用`.ignore`檔案,格式與`.gitignore`相同。ripgrep和the silver searcher等工具也會使用此檔案,減少維護多個忽略檔案的需求。此行為可以透過`ignore.useDotIgnore`設定或`--no-dot-ignore` 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`命令列選項覆寫此設定。 @@ -239,9 +241,10 @@ Repomix提供多種方法來設定忽略模式,以在打包過程中排除特 **優先順序**(從高到低): 1. 自訂模式(`ignore.customPatterns`) -2. `.repomixignore` -3. `.gitignore`和`.git/info/exclude`(如果`ignore.useGitignore`為true且未使用`--no-gitignore`) -4. 預設模式(如果`ignore.useDefaultPatterns`為true且未使用`--no-default-patterns`) +2. 忽略檔案(`.repomixignore`、`.ignore`、`.gitignore`和`.git/info/exclude`): + - 在巢狀目錄中時,更深層目錄中的檔案具有更高優先順序 + - 在同一目錄中時,這些檔案以不特定的順序合併 +3. 預設模式(如果`ignore.useDefaultPatterns`為true且未使用`--no-default-patterns`) 這種方法允許根據專案需求靈活設定檔案排除。它透過確保排除安全敏感檔案和大型二進制檔案來幫助優化產生的打包檔案的大小,同時防止機密資訊外洩。