{"id":18315759,"url":"https://github.com/yamadashy/repomix","last_synced_at":"2025-05-13T15:01:55.702Z","repository":{"id":248480720,"uuid":"828119367","full_name":"yamadashy/repomix","owner":"yamadashy","description":"📦 Repomix (formerly Repopack) is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude, ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.","archived":false,"fork":false,"pushed_at":"2025-05-06T10:21:12.000Z","size":4744,"stargazers_count":15482,"open_issues_count":84,"forks_count":670,"subscribers_count":48,"default_branch":"main","last_synced_at":"2025-05-06T11:29:25.343Z","etag":null,"topics":["ai","anthropic","artificial-intelligence","chatbot","chatgpt","claude","deepseek","developer-tools","gemini","genai","generative-ai","gpt","javascript","language-model","llama","llm","mcp","nodejs","openai","typescript"],"latest_commit_sha":null,"homepage":"https://repomix.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yamadashy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"yamadashy"}},"created_at":"2024-07-13T07:11:32.000Z","updated_at":"2025-05-06T11:13:05.000Z","dependencies_parsed_at":"2024-08-03T18:24:50.971Z","dependency_job_id":"7e882c5d-f9b9-490e-9ed1-53c93ba6ae6c","html_url":"https://github.com/yamadashy/repomix","commit_stats":null,"previous_names":["yamadashy/repopack","yamadashy/repomix"],"tags_count":92,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadashy%2Frepomix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadashy%2Frepomix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadashy%2Frepomix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yamadashy%2Frepomix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yamadashy","download_url":"https://codeload.github.com/yamadashy/repomix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253434566,"owners_count":21907932,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","anthropic","artificial-intelligence","chatbot","chatgpt","claude","deepseek","developer-tools","gemini","genai","generative-ai","gpt","javascript","language-model","llama","llm","mcp","nodejs","openai","typescript"],"created_at":"2024-11-05T17:00:59.496Z","updated_at":"2025-05-13T15:01:55.693Z","avatar_url":"https://github.com/yamadashy.png","language":"TypeScript","funding_links":["https://github.com/sponsors/yamadashy"],"categories":["TypeScript","AI \u0026 LLM","A01_文本生成_文本对话","Claude Code Ecosystem","Chatbots \u0026 Virtual Companions","Agent workflow highlights","ai","HarmonyOS","📚 Projects (1974 total)","Chatbots","Developer Tools","typescript","Repos","Content Creation","Development Utilities","\u003ca name=\"programming\"\u003e\u003c/a\u003eProgramming","UIs","Table of Contents","13. Developer Tools \u0026 Integrations","MCP Clients","Supporting Infrastructure","12. Miscellaneous","🖥 Companion CLI Tools","Top 20 by Stars","🤖 AI \u0026 Machine Learning","Context \u0026 Prompt Engineering"],"sub_categories":["MCP \u0026 Tool Use","大语言对话模型及数据","Development \u0026 Code Tools","Windows Manager","MCP Servers","How to Submit","AI","Command-line(shell) interface","Information Processing","CLI Tools","Codebase Context","Data \u0026 Alignment Tools"],"readme":"\u003cdiv align=\"center\" markdown=\"1\"\u003e\n   \u003csup\u003eSpecial thanks to:\u003c/sup\u003e\n   \u003cbr\u003e\n   \u003cbr\u003e\n   \u003ca href=\"https://www.warp.dev/repomix\"\u003e\n      \u003cimg alt=\"Warp sponsorship\" width=\"400\" src=\"website/client/src/public/images/sponsors/warp/Terminal-Image.png\"\u003e\n   \u003c/a\u003e\n\n### [Warp, the agent terminal for developers](https://www.warp.dev/repomix)\n[Available for MacOS, Linux, \u0026 Windows](https://www.warp.dev/repomix)\u003cbr\u003e\n\n\u003c/div\u003e\n\n\u003chr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://repomix.com\"\u003e\n    \u003cimg src=\"website/client/src/public/images/repomix-title.png\" alt=\"Repomix\" width=\"500\" height=\"auto\" /\u003e\n  \u003c/a\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cb\u003ePack your codebase into AI-friendly formats\u003c/b\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://repomix.com\"\u003e\u003cb\u003eUse Repomix online! 👉 repomix.com\u003c/b\u003e\u003c/a\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Need discussion? Join us on \u003ca href=\"https://discord.gg/wNYzTwZFku\"\u003eDiscord\u003c/a\u003e!\u003cbr\u003e\n  \u003ci\u003eShare your experience and tips\u003c/i\u003e\u003cbr\u003e\n  \u003ci\u003eStay updated on new features\u003c/i\u003e\u003cbr\u003e\n  \u003ci\u003eGet help with configuration and usage\u003c/i\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n\u003chr /\u003e\n\n[![npm](https://img.shields.io/npm/v/repomix.svg?maxAge=1000)](https://www.npmjs.com/package/repomix)\n[![npm](https://img.shields.io/npm/d18m/repomix)](https://www.npmjs.com/package/repomix)\n[![npm](https://img.shields.io/npm/l/repomix.svg?maxAge=1000)](https://github.com/yamadashy/repomix/blob/main/LICENSE)\n[![node](https://img.shields.io/node/v/repomix.svg?maxAge=1000)](https://www.npmjs.com/package/repomix)\n[![Actions Status](https://github.com/yamadashy/repomix/actions/workflows/ci.yml/badge.svg)](https://github.com/yamadashy/repomix/actions?query=workflow%3A\"ci\")\n[![codecov](https://codecov.io/github/yamadashy/repomix/graph/badge.svg)](https://codecov.io/github/yamadashy/repomix)\n\n[![DeepWiki](https://img.shields.io/badge/DeepWiki-yamadashy%2Frepomix-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/yamadashy/repomix)\n\u003c!-- DeepWiki badge generated by https://deepwiki.ryoppippi.com/ --\u003e\n\n📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file.  \nIt is perfect for when you need to feed your codebase to Large Language Models (LLMs) or other AI tools like Claude,\nChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.\n\n## 🎉 New: Repomix Website \u0026 Discord Community!\n\n- Try Repomix in your browser at [repomix.com](https://repomix.com/)\n- Join our [Discord Server](https://discord.gg/wNYzTwZFku) for support and discussion\n\n**We look forward to seeing you there!**\n\n## 🌟 Features\n\n- **AI-Optimized**: Formats your codebase in a way that's easy for AI to understand and process.\n- **Token Counting**: Provides token counts for each file and the entire repository, useful for LLM context limits.\n- **Simple to Use**: You need just one command to pack your entire repository.\n- **Customizable**: Easily configure what to include or exclude.\n- **Git-Aware**: Automatically respects your `.gitignore` files and `.git/info/exclude`.\n- **Security-Focused**: Incorporates [Secretlint](https://github.com/secretlint/secretlint) for robust security checks to detect and prevent inclusion of sensitive information.\n- **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.\n\n## 🚀 Quick Start\n\n### Using the CLI Tool `\u003e_`\n\nYou can try Repomix instantly in your project directory without installation:\n\n```bash\nnpx repomix\n```\n\nOr install globally for repeated use:\n\n```bash\n# Install using npm\nnpm install -g repomix\n\n# Alternatively using yarn\nyarn global add repomix\n\n# Alternatively using Homebrew (macOS/Linux)\nbrew install repomix\n\n# Then run in any project directory\nrepomix\n```\n\nThat's it! Repomix will generate a `repomix-output.xml` file in your current directory, containing your entire\nrepository in an AI-friendly format.\n\nYou can then send this file to an AI assistant with a prompt like:\n\n```\nThis file contains all the files in the repository combined into one.\nI want to refactor the code, so please review it first.\n```\n\n![Repomix File Usage 1](website/client/src/public/images/docs/repomix-file-usage-1.png)\n\nWhen you propose specific changes, the AI might be able to generate code accordingly. With features like Claude's\nArtifacts, you could potentially output multiple files, allowing for the generation of multiple interdependent pieces of\ncode.\n\n![Repomix File Usage 2](website/client/src/public/images/docs/repomix-file-usage-2.png)\n\nHappy coding! 🚀\n\n### Using The Website 🌐\n\nWant to try it quickly? Visit the official website at [repomix.com](https://repomix.com). Simply enter your repository\nname, fill in any optional details, and click the **Pack** button to see your generated output.\n\n#### Available Options\n\nThe website offers several convenient features:\n\n- Customizable output format (XML, Markdown, or Plain Text)\n- Instant token count estimation\n- Much more!\n\n### Using The VSCode Extension ⚡️\n\nA community-maintained VSCode extension called [Repomix Runner](https://marketplace.visualstudio.com/items?itemName=DorianMassoulier.repomix-runner) (created by [massdo](https://github.com/massdo)) lets you run Repomix right inside your editor with just a few clicks. Run it on any folder, manage outputs seamlessly, and control everything through VSCode's intuitive interface. \n\nWant your output as a file or just the content? Need automatic cleanup? This extension has you covered. Plus, it works smoothly with your existing repomix.config.json.\n\nTry it now on the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=DorianMassoulier.repomix-runner)!\nSource code is available on [GitHub](https://github.com/massdo/repomix-runner).\n\n### Alternative Tools 🛠️\n\nIf you're using Python, you might want to check out `Gitingest`, which is better suited for Python ecosystem and data\nscience workflows:\nhttps://github.com/cyclotruc/gitingest\n\n## 📊 Usage\n\nTo pack your entire repository:\n\n```bash\nrepomix\n```\n\nTo pack a specific directory:\n\n```bash\nrepomix path/to/directory\n```\n\nTo pack specific files or directories\nusing [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax):\n\n```bash\nrepomix --include \"src/**/*.ts,**/*.md\"\n```\n\nTo exclude specific files or directories:\n\n```bash\nrepomix --ignore \"**/*.log,tmp/\"\n```\n\nTo pack a remote repository:\n\n```bash\nrepomix --remote https://github.com/yamadashy/repomix\n\n# You can also use GitHub shorthand:\nrepomix --remote yamadashy/repomix\n\n# You can specify the branch name, tag, or commit hash:\nrepomix --remote https://github.com/yamadashy/repomix --remote-branch main\n\n# Or use a specific commit hash:\nrepomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695\n\n# Another convenient way is specifying the branch's URL\nrepomix --remote https://github.com/yamadashy/repomix/tree/main\n\n# Commit's URL is also supported\nrepomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1\n\n```\n\nTo compress the output:\n\n```bash\nrepomix --compress\n\n# You can also use it with remote repositories:\nrepomix --remote yamadashy/repomix --compress\n```\n\nTo initialize a new configuration file (`repomix.config.json`):\n\n```bash\nrepomix --init\n```\n\nOnce you have generated the packed file, you can use it with Generative AI tools like ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.\n\n### Docker Usage 🐳\n\nYou can also run Repomix using Docker.  \nThis is useful if you want to run Repomix in an isolated environment or prefer using containers.\n\nBasic usage (current directory):\n\n```bash\ndocker run -v .:/app -it --rm ghcr.io/yamadashy/repomix\n```\n\nTo pack a specific directory:\n\n```bash\ndocker run -v .:/app -it --rm ghcr.io/yamadashy/repomix path/to/directory\n```\n\nProcess a remote repository and output to a `output` directory:\n\n```bash\ndocker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix --remote https://github.com/yamadashy/repomix\n```\n\n### Prompt Examples\n\nOnce you have generated the packed file with Repomix, you can use it with AI tools like ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more.\nHere are some example prompts to get you started:\n\n#### Code Review and Refactoring\n\nFor a comprehensive code review and refactoring suggestions:\n\n```\nThis file contains my entire codebase. Please review the overall structure and suggest any improvements or refactoring opportunities, focusing on maintainability and scalability.\n```\n\n#### Documentation Generation\n\nTo generate project documentation:\n\n```\nBased on the codebase in this file, please generate a detailed README.md that includes an overview of the project, its main features, setup instructions, and usage examples.\n```\n\n#### Test Case Generation\n\nFor generating test cases:\n\n```\nAnalyze the code in this file and suggest a comprehensive set of unit tests for the main functions and classes. Include edge cases and potential error scenarios.\n```\n\n#### Code Quality Assessment\n\nEvaluate code quality and adherence to best practices:\n\n```\nReview the codebase for adherence to coding best practices and industry standards. Identify areas where the code could be improved in terms of readability, maintainability, and efficiency. Suggest specific changes to align the code with best practices.\n```\n\n#### Library Overview\n\nGet a high-level understanding of the library\n\n```\nThis file contains the entire codebase of library. Please provide a comprehensive overview of the library, including its main purpose, key features, and overall architecture.\n```\n\nFeel free to modify these prompts based on your specific needs and the capabilities of the AI tool you're using.\n\n### Community Discussion\n\nCheck out our [community discussion](https://github.com/yamadashy/repomix/discussions/154) where users share:\n\n- Which AI tools they're using with Repomix\n- Effective prompts they've discovered\n- How Repomix has helped them\n- Tips and tricks for getting the most out of AI code analysis\n\nFeel free to join the discussion and share your own experiences! Your insights could help others make better use of\nRepomix.\n\n### Output File Format\n\nRepomix generates a single file with clear separators between different parts of your codebase.  \nTo enhance AI comprehension, the output file begins with an AI-oriented explanation, making it easier for AI models to\nunderstand the context and structure of the packed repository.\n\n#### XML Format (default)\n\nThe XML format structures the content in a hierarchical manner:\n\n```xml\nThis file is a merged representation of the entire codebase, combining all repository files into a single document.\n\n\u003cfile_summary\u003e\n  (Metadata and usage AI instructions)\n\u003c/file_summary\u003e\n\n\u003cdirectory_structure\u003e\nsrc/\ncli/\ncliOutput.ts\nindex.ts\n\n(...remaining directories)\n\u003c/directory_structure\u003e\n\n\u003cfiles\u003e\n\u003cfile path=\"src/index.js\"\u003e\n  // File contents here\n\u003c/file\u003e\n\n(...remaining files)\n\u003c/files\u003e\n\n\u003cinstruction\u003e\n(Custom instructions from `output.instructionFilePath`)\n\u003c/instruction\u003e\n```\n\nFor those interested in the potential of XML tags in AI contexts:  \nhttps://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags\n\n\u003e When your prompts involve multiple components like context, instructions, and examples, XML tags can be a\n\u003e game-changer. They help Claude parse your prompts more accurately, leading to higher-quality outputs.\n\nThis means that the XML output from Repomix is not just a different format, but potentially a more effective way to feed\nyour codebase into AI systems for analysis, code review, or other tasks.\n\n#### Markdown Format\n\nTo generate output in Markdown format, use the `--style markdown` option:\n\n```bash\nrepomix --style markdown\n```\n\nThe Markdown format structures the content in a hierarchical manner:\n\n````markdown\nThis file is a merged representation of the entire codebase, combining all repository files into a single document.\n\n# File Summary\n\n(Metadata and usage AI instructions)\n\n# Repository Structure\n\n```\nsrc/\n  cli/\n    cliOutput.ts\n    index.ts\n```\n\n(...remaining directories)\n\n# Repository Files\n\n## File: src/index.js\n\n```\n// File contents here\n```\n\n(...remaining files)\n\n# Instruction\n\n(Custom instructions from `output.instructionFilePath`)\n````\n\nThis format provides a clean, readable structure that is both human-friendly and easily parseable by AI systems.\n\n#### Plain Text Format\n\nTo generate output in plain text format, use the `--style plain` option:\n\n```bash\nrepomix --style plain\n```\n\n```text\nThis file is a merged representation of the entire codebase, combining all repository files into a single document.\n\n================================================================\nFile Summary\n================================================================\n(Metadata and usage AI instructions)\n\n================================================================\nDirectory Structure\n================================================================\nsrc/\n  cli/\n    cliOutput.ts\n    index.ts\n  config/\n    configLoader.ts\n\n(...remaining directories)\n\n================================================================\nFiles\n================================================================\n\n================\nFile: src/index.js\n================\n// File contents here\n\n================\nFile: src/utils.js\n================\n// File contents here\n\n(...remaining files)\n\n================================================================\nInstruction\n================================================================\n(Custom instructions from `output.instructionFilePath`)\n```\n\n### Command Line Options\n\n#### Basic Options\n- `-v, --version`: Show tool version\n\n#### Output Options\n- `-o, --output \u003cfile\u003e`: Specify the output file name\n- `--stdout`: Output to stdout instead of writing to a file (cannot be used with `--output` option)\n- `--style \u003cstyle\u003e`: Specify the output style (`xml`, `markdown`, `plain`)\n- `--parsable-style`: Enable parsable output based on the chosen style schema. Note that this can increase token count.\n- `--compress`: Perform intelligent code extraction, focusing on essential function and class signatures to reduce token count\n- `--output-show-line-numbers`: Show line numbers in the output\n- `--copy`: Additionally copy generated output to system clipboard\n- `--no-file-summary`: Disable file summary section output\n- `--no-directory-structure`: Disable directory structure section output\n- `--remove-comments`: Remove comments from supported file types\n- `--remove-empty-lines`: Remove empty lines from the output\n- `--header-text \u003ctext\u003e`: Custom text to include in the file header\n- `--instruction-file-path \u003cpath\u003e`: Path to a file containing detailed custom instructions\n- `--include-empty-directories`: Include empty directories in the output\n- `--include-diffs`: Include git diffs in the output (includes both work tree and staged changes separately)\n- `--no-git-sort-by-changes`: Disable sorting files by git change count (enabled by default)\n\n#### Filter Options\n- `--include \u003cpatterns\u003e`: List of include patterns (comma-separated)\n- `-i, --ignore \u003cpatterns\u003e`: Additional ignore patterns (comma-separated)\n- `--no-gitignore`: Disable .gitignore file usage\n- `--no-default-patterns`: Disable default patterns\n\n#### Remote Repository Options\n- `--remote \u003curl\u003e`: Process a remote Git repository\n- `--remote-branch \u003cname\u003e`: Specify the remote branch name, tag, or commit hash (defaults to repository default branch)\n\n#### Configuration Options\n- `-c, --config \u003cpath\u003e`: Path to a custom config file\n- `--init`: Create config file\n- `--global`: Use global config\n\n#### Security Options\n- `--no-security-check`: Disable security check\n\n#### Token Count Options\n- `--token-count-encoding \u003cencoding\u003e`: Specify token count encoding used by OpenAI's [tiktoken](https://github.com/openai/tiktoken) tokenizer (e.g., `o200k_base` for GPT-4o, `cl100k_base` for GPT-4/3.5). See [tiktoken model.py](https://github.com/openai/tiktoken/blob/main/tiktoken/model.py#L24) for encoding details.\n\n#### MCP\n- `--mcp`: Run as a [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server\n\n#### Other Options\n- `--top-files-len \u003cnumber\u003e`: Number of top files to display in the summary\n- `--verbose`: Enable verbose logging\n- `--quiet`: Disable all output to stdout\n\nExamples:\n\n```bash\n# Basic usage\nrepomix\n\n# Custom output\nrepomix -o output.xml --style xml\n\n# Output to stdout\nrepomix --stdout \u003e custom-output.txt\n\n# Send output to stdout, then pipe into another command (for example, simonw/llm)\nrepomix --stdout | llm \"Please explain what this code does.\"\n\n# Custom output with compression\nrepomix --compress\n\n# Process specific files\nrepomix --include \"src/**/*.ts\" --ignore \"**/*.test.ts\"\n\n# Remote repository with branch\nrepomix --remote https://github.com/user/repo/tree/main\n\n# Remote repository with commit\nrepomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1\n\n# Remote repository with shorthand\nrepomix --remote user/repo\n```\n\n### Updating Repomix\n\nTo update a globally installed Repomix:\n\n```bash\n# Using npm\nnpm update -g repomix\n\n# Using yarn\nyarn global upgrade repomix\n```\n\nUsing `npx repomix` is generally more convenient as it always uses the latest version.\n\n### Remote Repository Processing\n\nRepomix supports processing remote Git repositories without the need for manual cloning. This feature allows you to\nquickly analyze any public Git repository with a single command.\n\nTo process a remote repository, use the `--remote` option followed by the repository URL:\n\n```bash\nrepomix --remote https://github.com/yamadashy/repomix\n```\n\nYou can also use GitHub's shorthand format:\n\n```bash\nrepomix --remote yamadashy/repomix\n```\n\nYou can specify the branch name, tag, or commit hash:\n\n```bash\n# Using --remote-branch option\nrepomix --remote https://github.com/yamadashy/repomix --remote-branch main\n\n# Using branch's URL\nrepomix --remote https://github.com/yamadashy/repomix/tree/main\n```\n\nOr use a specific commit hash:\n\n```bash\n# Using --remote-branch option\nrepomix --remote https://github.com/yamadashy/repomix --remote-branch 935b695\n\n# Using commit's URL\nrepomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1\n```\n\n### Code Compression\n\nThe `--compress` option utilizes [Tree-sitter](https://github.com/tree-sitter/tree-sitter) to perform intelligent code extraction, focusing on essential function and class signatures while removing implementation details. This can help reduce token count while retaining important structural information.\n\n```bash\nrepomix --compress\n```\n\nFor example, this code:\n\n```typescript\nimport { ShoppingItem } from './shopping-item';\n\n/**\n * Calculate the total price of shopping items\n */\nconst calculateTotal = (\n  items: ShoppingItem[]\n) =\u003e {\n  let total = 0;\n  for (const item of items) {\n    total += item.price * item.quantity;\n  }\n  return total;\n}\n\n// Shopping item interface\ninterface Item {\n  name: string;\n  price: number;\n  quantity: number;\n}\n```\n\nWill be compressed to:\n\n```typescript\nimport { ShoppingItem } from './shopping-item';\n⋮----\n/**\n * Calculate the total price of shopping items\n */\nconst calculateTotal = (\n  items: ShoppingItem[]\n) =\u003e {\n⋮----\n// Shopping item interface\ninterface Item {\n  name: string;\n  price: number;\n  quantity: number;\n}\n```\n\n\u003e [!NOTE]\n\u003e This is an experimental feature that we'll be actively improving based on user feedback and real-world usage\n\n### MCP Server Integration\n\nRepomix supports the [Model Context Protocol (MCP)](https://modelcontextprotocol.io), allowing AI assistants to directly interact with your codebase. When run as an MCP server, Repomix provides tools that enable AI assistants to package local or remote repositories for analysis without requiring manual file preparation.\n\n```bash\nrepomix --mcp\n```\n\n#### Configuring MCP Servers\n\nTo use Repomix as an MCP server with AI assistants like Claude, you need to configure the MCP settings:\n\n**For VS Code:**\n\nYou can install the Repomix MCP server in VS Code using one of these methods:\n\n1. **Using the Install Badge:**\n\n  [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square\u0026logo=visualstudiocode\u0026logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=repomix\u0026config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)\n  [![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install_Server-24bfa5?style=flat-square\u0026logo=visualstudiocode\u0026logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=repomix\u0026config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D\u0026quality=insiders)\n\n2. **Using the Command Line:**\n\n  ```bash\n  code --add-mcp '{\"name\":\"repomix\",\"command\":\"npx\",\"args\":[\"-y\",\"repomix\",\"--mcp\"]}'\n  ```\n\n  For VS Code Insiders:\n  ```bash\n  code-insiders --add-mcp '{\"name\":\"repomix\",\"command\":\"npx\",\"args\":[\"-y\",\"repomix\",\"--mcp\"]}'\n  ```\n\n**For Cline (VS Code extension):**\n\nEdit the `cline_mcp_settings.json` file:\n```json\n{\n  \"mcpServers\": {\n    \"repomix\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"repomix\",\n        \"--mcp\"\n      ]\n    }\n  }\n}\n```\n\n**For Cursor:**\n\nIn Cursor, add a new MCP server from `Cursor Settings` \u003e `MCP` \u003e `+ Add new global MCP server` with a configuration similar to Cline.\n\n**For Claude Desktop:**\n\nEdit the `claude_desktop_config.json` file with similar configuration to Cline's config.\n\nOnce configured, your AI assistant can directly use Repomix's capabilities to analyze codebases without manual file preparation, making code analysis workflows more efficient.\n\n#### Available MCP Tools\n\nWhen running as an MCP server, Repomix provides the following tools:\n\n1. **pack_codebase**: Package a local code directory into a consolidated file for AI analysis\n  - Parameters:\n    - `directory`: Absolute path to the directory to pack\n    - `compress`: (Optional, default: true) Whether to perform intelligent code extraction\n    - `includePatterns`: (Optional) Comma-separated list of include patterns\n    - `ignorePatterns`: (Optional) Comma-separated list of ignore patterns\n\n2. **pack_remote_repository**: Fetch, clone and package a GitHub repository\n  - Parameters:\n    - `remote`: GitHub repository URL or user/repo format (e.g., yamadashy/repomix)\n    - `compress`: (Optional, default: true) Whether to perform intelligent code extraction\n    - `includePatterns`: (Optional) Comma-separated list of include patterns\n    - `ignorePatterns`: (Optional) Comma-separated list of ignore patterns\n\n3. **read_repomix_output**: Read the contents of a Repomix output file in environments where direct file access is not possible\n  - Parameters:\n    - `outputId`: ID of the Repomix output file to read\n  - Features:\n    - Specifically designed for web-based environments or sandboxed applications\n    - Retrieves the content of previously generated outputs using their ID\n    - Provides secure access to packed codebase without requiring file system access\n\n4. **file_system_read_file**: Read a file using an absolute path with security validation\n  - Parameters:\n    - `path`: Absolute path to the file to read\n  - Security features:\n    - Implements security validation using [Secretlint](https://github.com/secretlint/secretlint)\n    - Prevents access to files containing sensitive information\n    - Validates absolute paths to prevent directory traversal attacks\n\n5. **file_system_read_directory**: List contents of a directory using an absolute path\n  - Parameters:\n    - `path`: Absolute path to the directory to list\n  - Features:\n    - Shows files and directories with clear indicators (`[FILE]` or `[DIR]`)\n    - Provides safe directory traversal with proper error handling\n    - Validates paths and ensures they are absolute\n\n## ⚙️ Configuration\n\nCreate a `repomix.config.json` file in your project root for custom configurations.\n\n```bash\nrepomix --init\n```\n\nHere's an explanation of the configuration options:\n\n| Option                           | Description                                                                                                                  | Default                |\n|----------------------------------|------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| `output.filePath`                | The name of the output file                                                                                                  | `\"repomix-output.xml\"` |\n| `output.style`                   | The style of the output (`xml`, `markdown`, `plain`)                                                                         | `\"xml\"`                |\n| `output.parsableStyle`           | Whether to escape the output based on the chosen style schema. Note that this can increase token count.                      | `false`                |\n| `output.compress`                | Whether to perform intelligent code extraction to reduce token count                                                         | `false`                |\n| `output.headerText`              | Custom text to include in the file header                                                                                    | `null`                 |\n| `output.instructionFilePath`     | Path to a file containing detailed custom instructions                                                                       | `null`                 |\n| `output.fileSummary`             | Whether to include a summary section at the beginning of the output                                                          | `true`                 |\n| `output.directoryStructure`      | Whether to include the directory structure in the output                                                                     | `true`                 |\n| `output.removeComments`          | Whether to remove comments from supported file types                                                                         | `false`                |\n| `output.removeEmptyLines`        | Whether to remove empty lines from the output                                                                                | `false`                |\n| `output.showLineNumbers`         | Whether to add line numbers to each line in the output                                                                       | `false`                |\n| `output.copyToClipboard`         | Whether to copy the output to system clipboard in addition to saving the file                                                | `false`                |\n| `output.topFilesLength`          | Number of top files to display in the summary. If set to 0, no summary will be displayed                                     | `5`                    |\n| `output.includeEmptyDirectories` | Whether to include empty directories in the repository structure                                                             | `false`                |\n| `output.git.sortByChanges`       | Whether to sort files by git change count (files with more changes appear at the bottom)                                     | `true`                 |\n| `output.git.sortByChangesMaxCommits` | Maximum number of commits to analyze for git changes                                                                     | `100`                  |\n| `output.git.includeDiffs`       | Whether to include git diffs in the output (includes both work tree and staged changes separately)                          | `false`                |\n| `include`                        | Patterns of files to include (using [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax))  | `[]`                   |\n| `ignore.useGitignore`            | Whether to use patterns from the project's `.gitignore` file                                                                 | `true`                 |\n| `ignore.useDefaultPatterns`      | Whether to use default ignore patterns                                                                                       | `true`                 |\n| `ignore.customPatterns`          | Additional patterns to ignore (using [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax)) | `[]`                   |\n| `security.enableSecurityCheck`   | Whether to perform security checks on files                                                                                  | `true`                 |\n| `tokenCount.encoding`            | Token count encoding used by OpenAI's [tiktoken](https://github.com/openai/tiktoken) tokenizer (e.g., `o200k_base` for GPT-4o, `cl100k_base` for GPT-4/3.5). See [tiktoken model.py](https://github.com/openai/tiktoken/blob/main/tiktoken/model.py#L24) for encoding details. | `\"o200k_base\"`         |\n\nThe configuration file supports [JSON5](https://json5.org/) syntax, which allows:\n- Comments (both single-line and multi-line)\n- Trailing commas in objects and arrays\n- Unquoted property names\n- More relaxed string syntax\n\nExample configuration:\n\n```json5\n{\n  \"output\": {\n    \"filePath\": \"repomix-output.xml\",\n    \"style\": \"xml\",\n    \"parsableStyle\": true,\n    \"compress\": false,\n    \"headerText\": \"Custom header information for the packed file.\",\n    \"fileSummary\": true,\n    \"directoryStructure\": true,\n    \"removeComments\": false,\n    \"removeEmptyLines\": false,\n    \"showLineNumbers\": false,\n    \"copyToClipboard\": true,\n    \"topFilesLength\": 5,\n    \"includeEmptyDirectories\": false,\n    \"git\": {\n      \"sortByChanges\": true,\n      \"sortByChangesMaxCommits\": 100\n    }\n  },\n  \"include\": [\n    \"**/*\"\n  ],\n  \"ignore\": {\n    \"useGitignore\": true,\n    \"useDefaultPatterns\": true,\n    // Patterns can also be specified in .repomixignore\n    \"customPatterns\": [\n      \"additional-folder\",\n      \"**/*.log\"\n    ],\n  },\n  \"security\": {\n    \"enableSecurityCheck\": true\n  },\n  \"tokenCount\": {\n    \"encoding\": \"o200k_base\"\n  },\n}\n```\n\n### Global Configuration\n\nTo create a global configuration file:\n\n```bash\nrepomix --init --global\n```\n\nThe global configuration file will be created in:\n\n- Windows: `%LOCALAPPDATA%\\Repomix\\repomix.config.json`\n- macOS/Linux: `$XDG_CONFIG_HOME/repomix/repomix.config.json` or `~/.config/repomix/repomix.config.json`\n\nNote: Local configuration (if present) takes precedence over global configuration.\n\n### Include and Ignore\n\n#### Include Patterns\n\nRepomix now supports specifying files to include\nusing [glob patterns](https://github.com/mrmlnc/fast-glob?tab=readme-ov-file#pattern-syntax). This allows for more\nflexible and powerful file selection:\n\n- Use `**/*.js` to include all JavaScript files in any directory\n- Use `src/**/*` to include all files within the `src` directory and its subdirectories\n- Combine multiple patterns like `[\"src/**/*.js\", \"**/*.md\"]` to include JavaScript files in `src` and all Markdown\n  files\n\n#### Ignore Patterns\n\nRepomix offers multiple methods to set ignore patterns for excluding specific files or directories during the packing\nprocess:\n\n- **.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.\n- **Default patterns**: Repomix includes a default list of commonly excluded files and directories (e.g., node_modules,\n  .git, binary files). This feature can be controlled with the `ignore.useDefaultPatterns` setting or the `--no-default-patterns` cli option. Please\n  see [defaultIgnore.ts](src/config/defaultIgnore.ts) for more details.\n- **.repomixignore**: You can create a `.repomixignore` file in your project root to define Repomix-specific ignore\n  patterns. This file follows the same format as `.gitignore`.\n- **Custom patterns**: Additional ignore patterns can be specified using the `ignore.customPatterns` option in the\n  configuration file. You can overwrite this setting with the `-i, --ignore` command line option.\n\nPriority Order (from highest to lowest):\n\n1. Custom patterns `ignore.customPatterns`\n2. `.repomixignore`\n3. `.gitignore` and `.git/info/exclude` (if `ignore.useGitignore` is true and `--no-gitignore` is not used)\n4. Default patterns (if `ignore.useDefaultPatterns` is true and `--no-default-patterns` is not used)\n\nThis approach allows for flexible file exclusion configuration based on your project's needs. It helps optimize the size\nof the generated pack file by ensuring the exclusion of security-sensitive files and large binary files, while\npreventing the leakage of confidential information.\n\nNote: Binary files are not included in the packed output by default, but their paths are listed in the \"Repository\nStructure\" section of the output file. This provides a complete overview of the repository structure while keeping the\npacked file efficient and text-based.\n\n### Custom Instruction\n\nThe `output.instructionFilePath` option allows you to specify a separate file containing detailed instructions or\ncontext about your project. This allows AI systems to understand the specific context and requirements of your project,\npotentially leading to more relevant and tailored analysis or suggestions.\n\nHere's an example of how you might use this feature:\n\n1. Create a file named `repomix-instruction.md` in your project root:\n\n```markdown\n# Coding Guidelines\n\n- Follow the Airbnb JavaScript Style Guide\n- Suggest splitting files into smaller, focused units when appropriate\n- Add comments for non-obvious logic. Keep all text in English\n- All new features should have corresponding unit tests\n\n# Generate Comprehensive Output\n\n- Include all content without abbreviation, unless specified otherwise\n- Optimize for handling large codebases while maintaining output quality\n```\n\n2. In your `repomix.config.json`, add the `instructionFilePath` option:\n\n```json5\n{\n  \"output\": {\n    \"instructionFilePath\": \"repomix-instruction.md\",\n    // other options...\n  }\n}\n```\n\nWhen Repomix generates the output, it will include the contents of `repomix-instruction.md` in a dedicated section.\n\nNote: The instruction content is appended at the end of the output file. This placement can be particularly effective\nfor AI systems. For those interested in understanding why this might be beneficial, Anthropic provides some insights in\ntheir documentation:  \nhttps://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips\n\n\u003e Put long-form data at the top: Place your long documents and inputs (~20K+ tokens) near the top of your prompt, above\n\u003e your query, instructions, and examples. This can significantly improve Claude's performance across all models.\n\u003e Queries at the end can improve response quality by up to 30% in tests, especially with complex, multi-document inputs.\n\n### Comment Removal\n\nWhen `output.removeComments` is set to `true`, Repomix will attempt to remove comments from supported file types. This\nfeature can help reduce the size of the output file and focus on the essential code content.\n\nSupported languages include:  \nHTML, CSS, JavaScript, TypeScript, Vue, Svelte, Python, PHP, Ruby, C, C#, Java, Go, Rust, Swift, Kotlin, Dart, Shell,\nand YAML.\n\nNote: The comment removal process is conservative to avoid accidentally removing code. In complex cases, some comments\nmight be retained.\n\n## 🔍 Security Check\n\nRepomix includes a security check feature that uses [Secretlint](https://github.com/secretlint/secretlint) to detect\npotentially sensitive information in your files. This feature helps you identify possible security risks before sharing\nyour packed repository.\n\nThe security check results will be displayed in the CLI output after the packing process is complete. If any suspicious\nfiles are detected, you'll see a list of these files along with a warning message.\n\nExample output:\n\n```\n🔍 Security Check:\n──────────────────\n2 suspicious file(s) detected:\n1. src/utils/test.txt\n2. tests/utils/secretLintUtils.test.ts\n\nPlease review these files for potentially sensitive information.\n```\n\nBy default, Repomix's security check feature is enabled. You can disable it by setting `security.enableSecurityCheck` to\n`false` in your configuration file:\n\n```json\n{\n  \"security\": {\n    \"enableSecurityCheck\": false\n  }\n}\n```\n\nOr using the `--no-security-check` command line option:\n\n```bash\nrepomix --no-security-check\n```\n\n\u003e [!NOTE]\n\u003e Disabling security checks may expose sensitive information. Use this option with caution and only when necessary, such\n\u003e as when working with test files or documentation that contains example credentials.\n\n## 🤖 Using Repomix with GitHub Actions\n\nYou can also use Repomix in your GitHub Actions workflows. This is useful for automating the process of packing your codebase for AI analysis.\n\nBasic usage:\n\n```yaml\n- name: Pack repository with Repomix\n  uses: yamadashy/repomix/.github/actions/repomix@main\n  with:\n    output: repomix-output.xml\n    style: xml\n```\n\nUse `--style` to generate output in different formats:\n\n```yaml\n- name: Pack repository with Repomix\n  uses: yamadashy/repomix/.github/actions/repomix@main\n  with:\n    output: repomix-output.md\n    style: markdown\n```\n\nPack specific directories with compression:\n\n```yaml\n- name: Pack repository with Repomix\n  uses: yamadashy/repomix/.github/actions/repomix@main\n  with:\n    directories: src tests\n    include: \"**/*.ts,**/*.md\"\n    ignore: \"**/*.test.ts\"\n    output: repomix-output.txt\n    compress: true\n```\n\nUpload the output file as an artifact:\n\n```yaml\n- name: Pack repository with Repomix\n  uses: yamadashy/repomix/.github/actions/repomix@main\n  with:\n    directories: src\n    output: repomix-output.txt\n    compress: true\n\n- name: Upload Repomix output\n  uses: actions/upload-artifact@v4\n  with:\n    name: repomix-output\n    path: repomix-output.txt\n```\n\nComplete workflow example:\n\n```yaml\nname: Pack repository with Repomix\n\non:\n  workflow_dispatch:\n  push:\n    branches: [ main ]\n  pull_request:\n    branches: [ main ]\n\njobs:\n  pack-repo:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout code\n        uses: actions/checkout@v4\n\n      - name: Pack repository with Repomix\n        uses: yamadashy/repomix/.github/actions/repomix@main\n        with:\n          output: repomix-output.xml\n\n      - name: Upload Repomix output\n        uses: actions/upload-artifact@v4\n        with:\n          name: repomix-output.xml\n          path: repomix-output.xml\n          retention-days: 30\n```\n\nSee the complete workflow example [here](https://github.com/yamadashy/repomix/blob/main/.github/workflows/pack-repository.yml).\n\n### Action Inputs\n\n| Name | Description | Default |\n|------|-------------|---------|\n| `directories` | Space-separated list of directories to process (e.g., `src tests docs`) | `.` |\n| `include` | Comma-separated glob patterns to include files (e.g., `**/*.ts,**/*.md`) | `\"\"` |\n| `ignore` | Comma-separated glob patterns to ignore files (e.g., `**/*.test.ts,**/node_modules/**`) | `\"\"` |\n| `output` | Relative path for the packed file (extension determines format: `.txt`, `.md`, `.xml`) | `repomix-output.xml` |\n| `compress` | Enable smart compression to reduce output size by pruning implementation details | `true` |\n| `style` | Output style (`xml`, `markdown`, `plain`) | `xml` |\n| `additional-args` | Extra raw arguments for the repomix CLI (e.g., `--no-file-summary --no-security-check`) | `\"\"` |\n| `repomix-version` | Version of the npm package to install (supports semver ranges, tags, or specific versions like `0.2.25`) | `latest` |\n\n### Action Outputs\n\n| Name | Description |\n|------|-------------|\n| `output_file` | Path to the generated output file. Can be used in subsequent steps for artifact upload, LLM processing, or other operations. The file contains a formatted representation of your codebase based on the specified options. |\n\n## 📚 Using Repomix as a Library\n\nIn addition to using Repomix as a CLI tool, you can also use it as a library in your Node.js applications.\n\n### Installation\n\n```bash\nnpm install repomix\n```\n\n### Basic Usage\n\n```javascript\nimport { runCli, type CliOptions } from 'repomix';\n\n// Process current directory with custom options\nasync function packProject() {\n  const options = {\n    output: 'output.xml',\n    style: 'xml',\n    compress: true,\n    quiet: true\n  } as CliOptions;\n  \n  const result = await runCli(['.'], process.cwd(), options);\n  return result.packResult;\n}\n```\n\n### Process Remote Repository\n\n```javascript\nimport { runCli, type CliOptions } from 'repomix';\n\n// Clone and process a GitHub repo\nasync function processRemoteRepo(repoUrl) {\n  const options = {\n    remote: repoUrl,\n    output: 'output.xml',\n    compress: true\n  } as CliOptions;\n  \n  return await runCli(['.'], process.cwd(), options);\n}\n```\n\n### Using Core Components\n\nIf you need more control, you can use the low-level APIs:\n\n```javascript\nimport { searchFiles, collectFiles, processFiles, TokenCounter } from 'repomix';\n\nasync function analyzeFiles(directory) {\n  // Find and collect files\n  const { filePaths } = await searchFiles(directory, { /* config */ });\n  const rawFiles = await collectFiles(filePaths, directory);\n  const processedFiles = await processFiles(rawFiles, { /* config */ });\n  \n  // Count tokens\n  const tokenCounter = new TokenCounter('o200k_base');\n  \n  // Return analysis results\n  return processedFiles.map(file =\u003e ({\n    path: file.path,\n    tokens: tokenCounter.countTokens(file.content)\n  }));\n}\n```\n\nFor more examples, check the source code at [website/server/src/remoteRepo.ts](https://github.com/yamadashy/repomix/blob/main/website/server/src/remoteRepo.ts) which demonstrates how repomix.com uses the library.\n\n## 🤝 Contribution\n\nWe welcome contributions from the community! To get started, please refer to our [Contributing Guide](CONTRIBUTING.md).\n\n### Contributors\n\n\u003ca href=\"https://github.com/yamadashy/repomix/graphs/contributors\"\u003e\n  \u003cimg alt=\"contributors\" src=\"https://contrib.rocks/image?repo=yamadashy/repomix\"/\u003e\n\u003c/a\u003e\n\n## 🔒 Privacy Policy\n\n### Repomix CLI Tool\n\n- **Data Collection**: The Repomix CLI tool does **not** collect, transmit, or store any user data, telemetry, or repository information.\n- **Network Usage**: Repomix CLI operates fully offline after installation. The only cases where an internet connection is needed are:\n  - Installation via npm/yarn.\n  - Using the `--remote` flag to process remote repositories.\n  - Checking for updates (manually triggered).\n- **Security Considerations**: Since all processing is local, Repomix CLI is safe to use with private and internal repositories.\n\n### Repomix Website ([repomix.com](https://repomix.com/))\n\n- **Data Collection**: The Repomix website uses **Google Analytics** to collect usage data, such as page views and user interactions. This helps us understand how the website is used and improve the user experience.\n\n### Liability Disclaimer\n\nRepomix (both the CLI tool and the website) is provided \"as is\" without any warranties or guarantees.  \nWe do not take responsibility for how the generated output is used, including but not limited to its accuracy, legality, or any potential consequences arising from its use.\n\n## 📜 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n\u003cp align=\"center\"\u003e\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#repo-content-pjax-container\" target=\"_blank\"\u003e\n    Back To Top\n  \u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamadashy%2Frepomix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyamadashy%2Frepomix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyamadashy%2Frepomix/lists"}