### Example .repomixignore File Source: https://repomix.com/guide/configuration This example shows how to define cache directories, build outputs, and log files to be ignored by Repomix. ```text # Cache directories .cache/ tmp/ # Build outputs dist/ build/ # Logs *.log ``` -------------------------------- ### Complete Example Repomix Configuration File Source: https://repomix.com/guide/configuration A comprehensive example of a repomix.config.json file, demonstrating various settings for input, output, include/ignore patterns, security, and token count. ```json { "$schema": "https://repomix.com/schemas/latest/schema.json", "input": { "maxFileSize": 50000000 }, "output": { "filePath": "repomix-output.xml", "style": "xml", "parsableStyle": false, "compress": false, "headerText": "Custom header information for the packed file.", "fileSummary": true, "directoryStructure": true, "files": true, "removeComments": false, "removeEmptyLines": false, "topFilesLength": 5, "showLineNumbers": false, "truncateBase64": false, "copyToClipboard": false, "includeEmptyDirectories": false, "git": { "sortByChanges": true, "sortByChangesMaxCommits": 100, "includeDiffs": false, "includeLogs": false, "includeLogsCount": 50 } }, "include": ["**/*"], "ignore": { "useGitignore": true, "useDefaultPatterns": true, // Patterns can also be specified in .repomixignore "customPatterns": [ "additional-folder", "**/*.log" ] }, "security": { "enableSecurityCheck": true }, "tokenCount": { "encoding": "o200k_base" } } ``` -------------------------------- ### Install Repomix for TypeScript/JavaScript Configuration Source: https://repomix.com/guide/configuration Installs Repomix as a development dependency, required for using `defineConfig` with TypeScript or JavaScript configuration files. ```bash npm install -D repomix ``` -------------------------------- ### Directory Structure Output Example Source: https://repomix.com/guide/configuration Illustrates how binary file paths are listed in the directory structure output, while their contents are excluded. ```text src/ index.ts utils.ts assets/ logo.png build/ app.jar ``` -------------------------------- ### Initialize Global JSON Configuration Source: https://repomix.com/guide/configuration Creates a global `repomix.config.json` file to be used as a fallback when no local configuration is found. ```bash repomix --init --global ``` -------------------------------- ### Basic TypeScript Configuration Source: https://repomix.com/guide/configuration Configures output file path, style, and comment removal, along with custom ignore patterns for `node_modules` and `dist` directories. ```typescript // repomix.config.ts import { defineConfig } from 'repomix'; export default defineConfig({ output: { filePath: 'output.xml', style: 'xml', removeComments: true, }, ignore: { customPatterns: ['**/node_modules/**', '**/dist/**'], }, }); ``` -------------------------------- ### Configure Git Integration Options Source: https://repomix.com/guide/configuration This JSON snippet shows how to enable and configure Git integration features such as sorting by changes, including diffs, and including commit logs. ```json { "output": { "git": { "sortByChanges": true, "sortByChangesMaxCommits": 100, "includeDiffs": true, "includeLogs": true, "includeLogsCount": 25 } } } ``` -------------------------------- ### Specify Include Patterns in Repomix Configuration Source: https://repomix.com/guide/configuration Define which files Repomix should include using glob patterns within the 'include' property of your configuration file. This allows for flexible file selection. ```json { "include": ["src/**/*", "tests/**/*.test.js"] } ``` -------------------------------- ### TypeScript Configuration with Dynamic Filename Source: https://repomix.com/guide/configuration Generates a timestamp-based filename for the output XML file, ensuring unique output for each run. ```typescript // repomix.config.ts import { defineConfig } from 'repomix'; // Generate timestamp-based filename const timestamp = new Date().toISOString().slice(0, 19).replace(/[:.]/g, '-'); export default defineConfig({ output: { filePath: `output-${timestamp}.xml`, style: 'xml', }, }); ``` -------------------------------- ### Enable Schema Validation in Repomix Configuration Source: https://repomix.com/guide/configuration Add the '$schema' property to your JSON configuration file to enable schema validation. This provides auto-completion and validation in compatible editors. ```json { "$schema": "https://repomix.com/schemas/latest/schema.json", "output": { "filePath": "repomix-output.xml", "style": "xml" } } ``` -------------------------------- ### Default Ignore Patterns in Repomix Source: https://repomix.com/guide/configuration Repomix automatically ignores common patterns like node_modules, .git, coverage, and dist when default patterns are enabled. ```text node_modules/** .git/** coverage/** dist/** ```