chore: import upstream snapshot with attribution
Update Schema / Update configuration json schema (push) Has been cancelled
Memory Benchmark / Memory Test (Full Analysis) (push) Has been cancelled
CI Quality / Lint GitHub Actions (actionlint) (push) Has been cancelled
CI Quality / Lint GitHub Actions (zizmor) (push) Has been cancelled
CI Quality / Check typos (push) Has been cancelled
CI / Test coverage (push) Has been cancelled
CI / Test (22.x, windows-latest) (push) Has been cancelled
CI / Test (24.x, macos-latest) (push) Has been cancelled
CI / Test (24.x, ubuntu-latest) (push) Has been cancelled
CI / Test (24.x, windows-latest) (push) Has been cancelled
CI / Test (26.x, macos-latest) (push) Has been cancelled
CI / Test (26.x, ubuntu-latest) (push) Has been cancelled
CI / Test (26.x, windows-latest) (push) Has been cancelled
CI / Test with Bun (latest, macos-latest) (push) Has been cancelled
CI / Test with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Test with Bun (latest, windows-latest) (push) Has been cancelled
CI / Build and run (22.x, macos-latest) (push) Has been cancelled
CI / Build and run (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (22.x, windows-latest) (push) Has been cancelled
autofix.ci / autofix (push) Has been cancelled
CI Browser Extension / Lint Browser Extension (push) Has been cancelled
CI Browser Extension / Test Browser Extension (push) Has been cancelled
Memory Benchmark / Memory Test (push) Has been cancelled
CI Website / Lint Website Client (push) Has been cancelled
CI Website / Lint Website Server (push) Has been cancelled
CI Website / Test Website Server (push) Has been cancelled
CI Website / Bundle Website Server (push) Has been cancelled
CI / Lint Biome (push) Has been cancelled
CI / Lint oxlint (push) Has been cancelled
CI / Lint TypeScript (push) Has been cancelled
CI / Lint Secretlint (push) Has been cancelled
CI / Test (22.x, macos-latest) (push) Has been cancelled
CI / Test (22.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, macos-latest) (push) Has been cancelled
CI / Build and run (24.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (24.x, windows-latest) (push) Has been cancelled
CI / Build and run (26.x, macos-latest) (push) Has been cancelled
CI / Build and run (26.x, ubuntu-latest) (push) Has been cancelled
CI / Build and run (26.x, windows-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, macos-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, ubuntu-latest) (push) Has been cancelled
CI / Build and run with Bun (latest, windows-latest) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Docker / build (linux/amd64, ubuntu-latest) (push) Has been cancelled
Docker / build (linux/arm/v7, ubuntu-24.04-arm) (push) Has been cancelled
Docker / build (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled
Docker / merge (push) Has been cancelled
Pack repository with Repomix / pack-repo (push) Has been cancelled
Performance Benchmark History / Benchmark (macos-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (ubuntu-latest) (push) Has been cancelled
Performance Benchmark History / Benchmark (windows-latest) (push) Has been cancelled
Performance Benchmark History / Store Results (push) Has been cancelled
Test Repomix Action / Test Node.js 22 (push) Has been cancelled
Test Repomix Action / Test Node.js 24 (push) Has been cancelled
Test Repomix Action / Test Node.js 26 (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 12:39:37 +08:00
commit 719032b19f
1156 changed files with 170098 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
# Default owner for everything in the repo
* @yamadashy
+1
View File
@@ -0,0 +1 @@
github: yamadashy
@@ -0,0 +1,22 @@
name: 🚀 Feature Request
description: Suggest an idea or improvement for Repomix
labels:
- enhancement
- triage
body:
- type: markdown
attributes:
value: |
Thank you for helping improve Repomix!
We appreciate your feedback and will review your request as soon as possible.
- type: textarea
id: description
attributes:
label: Description
description: "A clear and concise description of the feature youd like to see."
placeholder: |
e.g. Add support for a `.repomixignore` file to exclude certain paths when packing.
validations:
required: true
+46
View File
@@ -0,0 +1,46 @@
name: 🐛 Bug Report
description: Report an unexpected behavior or error in Repomix
labels:
- triage
body:
- type: markdown
attributes:
value: |
Thank you for reporting an issue! We appreciate your help in making Repomix better.
If you need real-time support, feel free to join our [Discord server](https://discord.gg/wNYzTwZFku).
Please provide as much detail as possible.
- type: textarea
id: description
attributes:
label: Description
description: "Please provide a concise description of what happened."
placeholder: |
e.g. Running `repomix --version` prints an error instead of the version.
validations:
required: true
- type: dropdown
id: usage_context
attributes:
label: Usage Context
description: "Where did you encounter this issue?"
options:
- Repomix CLI
- repomix.com
- type: input
id: repomix_version
attributes:
label: Repomix Version
description: "Output of `repomix --version`"
placeholder: "e.g. v0.3.5"
- type: input
id: node_version
attributes:
label: Node.js Version
description: "Output of `node --version`"
placeholder: "e.g. v22.0.0"
+6
View File
@@ -0,0 +1,6 @@
blank_issues_enabled: true
contact_links:
- name: "💬 Discord Community"
about: "Join our Discord server for support and discussion"
url: "https://discord.gg/wNYzTwZFku"
+117
View File
@@ -0,0 +1,117 @@
name: "Repomix Action"
description: "Pack repository contents into a single file that is easy for LLMs to process"
author: "Kazuki Yamada <koukun0120@gmail.com>"
branding:
icon: archive
color: orange
inputs:
directories:
description: "Space-separated list of directories to process (defaults to '.')"
required: false
default: "."
include:
description: "Comma-separated glob patterns to include"
required: false
default: ""
ignore:
description: "Comma-separated glob patterns to ignore"
required: false
default: ""
output:
description: "Relative path to write packed file"
required: false
default: "repomix-output.xml"
compress:
description: "Set to 'false' to disable smart compression"
required: false
default: "true"
style:
description: "Output style (xml, markdown, plain)"
required: false
default: "xml"
additional-args:
description: "Any extra raw arguments to pass directly to the repomix CLI"
required: false
default: ""
repomix-version:
description: "Version (or tag) of the npm package to install defaults to latest"
required: false
default: "latest"
node-version:
description: "Node.js version to use (defaults to 24)"
required: false
default: "24"
runs:
using: "composite"
steps:
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ inputs.node-version }}
- name: Install project dependencies
shell: bash
run: |
# Install project dependencies if package.json exists
# This ensures repomix.config.ts can import from local source
if [ -f "package.json" ]; then
npm install
fi
- name: Install Repomix
shell: bash
env:
REPOMIX_VERSION: ${{ inputs.repomix-version }}
run: |
npm install --global "repomix@${REPOMIX_VERSION}"
- name: Run Repomix
id: build
shell: bash
env:
INPUT_DIRECTORIES: ${{ inputs.directories }}
INPUT_INCLUDE: ${{ inputs.include }}
INPUT_IGNORE: ${{ inputs.ignore }}
INPUT_COMPRESS: ${{ inputs.compress }}
INPUT_STYLE: ${{ inputs.style }}
INPUT_OUTPUT: ${{ inputs.output }}
INPUT_ADDITIONAL_ARGS: ${{ inputs.additional-args }}
run: |
set -e
# Using an array for safer command execution
# Safely split directories input into an array, handling spaces correctly
IFS=' ' read -r -a ARGS <<< "${INPUT_DIRECTORIES}"
if [ -n "${INPUT_INCLUDE}" ]; then
ARGS+=(--include "${INPUT_INCLUDE}")
fi
if [ -n "${INPUT_IGNORE}" ]; then
ARGS+=(--ignore "${INPUT_IGNORE}")
fi
if [ "${INPUT_COMPRESS}" = "true" ]; then
ARGS+=(--compress)
fi
if [ -n "${INPUT_STYLE}" ]; then
ARGS+=(--style "${INPUT_STYLE}")
fi
ARGS+=(--output "${INPUT_OUTPUT}")
# Only add additional args if not empty
if [ -n "${INPUT_ADDITIONAL_ARGS}" ]; then
# Use safer parsing for additional arguments
IFS=' ' read -r -a ADDITIONAL_ARGS <<< "${INPUT_ADDITIONAL_ARGS}"
ARGS+=("${ADDITIONAL_ARGS[@]}")
fi
echo "Running: repomix ${ARGS[*]}"
repomix "${ARGS[@]}"
echo "output_file=${INPUT_OUTPUT}" >> "$GITHUB_OUTPUT"
outputs:
output_file:
description: "Path to the file generated by Repomix"
value: ${{ steps.build.outputs.output_file }}
@@ -0,0 +1,7 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="92" height="28" xml:space="preserve">
<rect width="92" height="28" fill="#F6F8FA" stroke="rgba(27, 31, 36, 0.15)" rx="6"/>
<path fill="#BF3989" fill-rule="evenodd" d="M17.25 8.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.565 20.565 0 0 0 21 19.393a20.561 20.561 0 0 0 3.135-2.211C25.92 15.644 27.5 13.65 27.5 11.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.75.75 0 0 1-1.442 0c-.42-1.47-1.656-2.456-3.029-2.456zM21 20.25l-.345.666-.002-.001-.006-.003-.018-.01a7.643 7.643 0 0 1-.31-.17 22.075 22.075 0 0 1-3.434-2.414C15.045 16.731 13 14.35 13 11.5 13 8.836 15.086 7 17.25 7c1.547 0 2.903.802 3.75 2.02C21.847 7.802 23.203 7 24.75 7 26.914 7 29 8.836 29 11.5c0 2.85-2.045 5.231-3.885 6.818a22.08 22.08 0 0 1-3.744 2.584l-.018.01-.006.003h-.002L21 20.25zm0 0 .345.666a.752.752 0 0 1-.69 0L21 20.25z"/>
<text x="36" y="19" fill="#24292F" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'" font-size="12">Sponsor</text>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+1
View File
@@ -0,0 +1 @@
../.agents/rules/base.md
@@ -0,0 +1,5 @@
---
applyTo: '**'
---
Please make sure to check the rules written in `.agents/rules/base.md` as they contain important project-specific guidelines and instructions.
+6
View File
@@ -0,0 +1,6 @@
<!-- Please include a summary of the changes -->
## Checklist
- [ ] Run `npm run test`
- [ ] Run `npm run lint`
+22
View File
@@ -0,0 +1,22 @@
It appears I've been fashionably late to the release notes soirée. It's like we've been living under a rock from v0.1.1 to v0.1.14. But they, better late than never, as they say in the world of procrastinating developers.
## New Features
### Output Style Options
- Introducing the `output.style` configuration option:
- `plain`: The classic output format.
- `xml`: An XML-structured output for enhanced parsing.
This addition aims to provide more flexibility in how Repopack structures its output.
For those interested in the potential of XML tags in AI contexts:
https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/use-xml-tags
## How to Use
Add `output.style` to your configuration and select either `plain` or `xml`. The choice is yours, based on your project needs.
---
Your feedback is the wind beneath Repopack's wings. Feel free to report bugs or request features.
Thank you for your continued support.
+9
View File
@@ -0,0 +1,9 @@
Our CLI has learned the art of style. It's now fluent in both plain and XML.
## What's New
- Added `--style` option to CLI
- Choose between `plain` and `xml` output styles
- Usage: `repopack --style xml`
Happy packing!
+18
View File
@@ -0,0 +1,18 @@
It's focusing on security improvements and output refinements.
## Improvements
### Security Enhancements: Exclude Suspicious Files
- Implemented a filter to exclude potentially sensitive files from the output.
- This improvement prevents the inclusion of suspicious files, enhancing overall security.
## Fixes
### Prevent Recursive Output Issues
- Modified the `getFilePaths` function in `src/core/packager.ts` to exclude the output file from processing.
- This fix resolves a recursive issue where the output file was being included in itself.
## Changes
### XML Escaping Removal
- Removed XML escaping for file paths and contents in repository files.
- This change improves readability and AI comprehension of the generated output.
Note: This update assumes that input data (file paths, contents, etc.) does not contain characters that would break XML syntax. If there's a possibility of such characters, we may implement a more robust solution in the future, such as using CDATA sections for file contents.
+20
View File
@@ -0,0 +1,20 @@
It's focusing on improved file filtering capabilities and overall performance enhancements.
## New Features
### Support `include` (#22, #30)
- Introduced the `--include` CLI option for specifying files to include using glob patterns.
- Added support for `include` patterns in the configuration file.
To pack specific files or directories using glob patterns:
```bash
repopack --include "src/**/*.ts,**/*.md"
```
Special thanks to @IsaacSante for their contributions.
## Improvements
### Performance Optimization
- Replaced the `ignore` package with `globby` for more efficient file filtering.
+13
View File
@@ -0,0 +1,13 @@
## Changes
### gitignore Syntax Compliance
- Fixed handling of `.gitignore` and `.repopackignore` files to properly comply with gitignore syntax.
- This ensures more accurate and consistent file filtering based on your ignore patterns.
### Change File Filtering Logic
- Migrated custom ignore pattern processing from gitignore syntax to glob patterns.
## Notes
- This update may affect which files are included/excluded in the packed output. We recommend reviewing your ignore patterns to ensure desired behavior.
- If you're using a custom configuration, make sure to update your `ignore.customPatterns` to use glob patterns instead of gitignore syntax.
+8
View File
@@ -0,0 +1,8 @@
## Improvements
### Enhanced ignore files support (#34, #35)
- Updated the file filtering logic to consider `.gitignore`, `.repopackignore` files in all directories, not just the root.
- This change ensures that all ignore files, regardless of their location in the project structure, are properly respected during the file filtering process.
## Notes
- This update improves the handling of ignore files in your project structure. You may notice changes in which files are included or excluded if you have ignore files in subdirectories.
+15
View File
@@ -0,0 +1,15 @@
This update brings a significant new feature that enhances the tool's utility for working with large language models.
## New Features
### Token Counting Support (#39)
Thanks to the fantastic contribution from @joshellington, Repopack now includes token counting functionality:
- Added token counts for individual files and the entire repository
- Updated CLI output to display token information in the summary and top files list
This feature is particularly useful for users working within context limits of large language models like GPT-4.
A huge thank you to @joshellington for this valuable contribution!
+22
View File
@@ -0,0 +1,22 @@
This update introduces a new interactive configuration setup and includes several improvements to enhance user experience.
## New Features
### Interactive Configuration Setup (#45)
- Added a new `--init` command to Repopack
- Users can now interactively create a basic `repopack.config.json` file
- The setup prompts for:
- Output file path
- Output style (plain or XML)
<img width="633" alt="image" src="https://github.com/user-attachments/assets/e3a2bba3-053a-491c-ae42-36bd24cc4395">
This new feature simplifies the process of getting started with Repopack, especially for new users.
---
To update, simply run:
```bash
npm update -g repopack
```
+15
View File
@@ -0,0 +1,15 @@
This update focuses on significant performance improvements through the implementation of parallel processing.
## What's New
### Parallel Processing (#50)
- Implemented parallel processing in key components of Repopack
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+20
View File
@@ -0,0 +1,20 @@
This update introduces global configuration support, allowing for more consistent settings across projects.
## What's New
### Global Configuration Support (#51, #52)
- Added support for global configuration files
- Implemented `repopack --init --global` command to create a global config
- Global config locations:
- Windows: `%LOCALAPPDATA%\Repopack\repopack.config.json`
- macOS/Linux: `$XDG_CONFIG_HOME/repopack/repopack.config.json` or `~/.config/repopack/repopack.config.json`
- Local configs still take precedence when present
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+13
View File
@@ -0,0 +1,13 @@
## Bug Fixes
- Fixed issue where Repopack could process its own output file (#53)
---
To update:
```
npm update -g repopack
```
Thank you for using Repopack!
+15
View File
@@ -0,0 +1,15 @@
## Bug Fixes
### Fix `output.showLineNumbers` (#54)
- Resolved the issue where line numbers were not being added to processed content when `output.showLineNumbers` was enabled
- Implemented padding for line numbers to ensure proper alignment
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+14
View File
@@ -0,0 +1,14 @@
## Bug Fixes
### Fix concurrency issue in environments where CPU count is unavailable (#56, #57)
- Resolved the issue where Repopack would fail in environments where `os.cpus().length` returns 0 (e.g., some Termux on Android setups)
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+13
View File
@@ -0,0 +1,13 @@
## Security Updates
### Update micromatch to address security vulnerability (#58)
- Updated `micromatch` from version 4.0.7 to 4.0.8
- This update includes a critical security fix for CVE-2024-4067
---
To update, simply run:
```
npm update -g repopack
```
+16
View File
@@ -0,0 +1,16 @@
## Bug Fixes
### Simplify Python comment removal to preserve f-strings and other content (#55, #59)
- Changed the comment removal strategy for Python files to only remove single-line comments starting with '#'
- Preserved all other content, including string literals, f-strings, and docstrings
- Resolved the issue where f-strings and other important code elements were being incorrectly removed
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+33
View File
@@ -0,0 +1,33 @@
This update introduces remote repository processing, allowing users to analyze any public Git repository without manual cloning.
## What's New
### Remote Repository Processing Support (#61)
- Added `--remote` option to process remote Git repositories
- Supports full URLs and GitHub shorthand format (e.g., `user/repo`)
#### Usage Examples
Process a GitHub repository:
```bash
repopack --remote https://github.com/user/repo.git
```
Use GitHub shorthand:
```bash
repopack --remote user/repo
```
Process a GitLab repository:
```bash
repopack --remote https://gitlab.com/user/repo.git
```
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+16
View File
@@ -0,0 +1,16 @@
This release focuses on improving performance and user experience, particularly when processing large repositories.
## Bug Fixes
### Fixed an issue where the application appeared to hang (#63, #65)
- Fixed an issue where the application appeared to hang during the security check process on large repositories.
- Reduced the impact on the event loop to prevent hanging when processing a large number of files.
- Implemented more frequent console updates during file processing and security checks.
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+19
View File
@@ -0,0 +1,19 @@
This release brings improvements to the `--init` process.
## Improvements
### Enhanced `repopack --init` Process (#67)
- Separated the creation processes for `repopack.config.json` and `.repopackignore` files, allowing users more granular control over their setup.
These improvements make it easier for new users to get started with Repopack and provide a smoother configuration experience for all users.
---
To update, simply run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+18
View File
@@ -0,0 +1,18 @@
This release focuses on improving the default ignore patterns, particularly for subdirectories.
## Improvements
### Enhanced Default Ignore Patterns (#68)
- Fixed an issue where dependency directories in subdirectories (particularly `node_modules`) were not being ignored correctly.
- Updated default ignore patterns include more comprehensive patterns:
- Included additional common dependency directories for various languages (e.g., `vendor`, `.bundle`, `.gradle`, `target`).
---
To update, run:
```
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better!
+30
View File
@@ -0,0 +1,30 @@
This release introduces experimental support for custom instruction files, allowing users to provide more detailed context and guidelines for AI analysis of their projects.
## What's New
### Custom Instruction File Support (#40, #46)
- Added `output.instructionFilePath` option to configuration
- Updated output generators to include project instructions in the output
We are introducing this feature experimentally and plan to continuously evaluate and improve it based on user feedback and real-world usage. Your insights and experiences with this new feature will be invaluable as we refine and enhance it in future updates.
Note: Custom instructions are appended at the end of the output file for optimal AI processing
For more details, see:
https://github.com/yamadashy/repopack?tab=readme-ov-file#custom-instruction
## Internal Changes
### Handlebars Integration
- Integrated Handlebars templating engine for more flexible and maintainable output generation
---
To update, simply run:
```bash
npm update -g repopack
```
As always, we appreciate your contributions to make Repopack even better!
+31
View File
@@ -0,0 +1,31 @@
This release introduces a new configuration option that allows users to control the security check feature, providing more flexibility in how Repopack handles sensitive information detection.
## What's New
### Configurable Security Check (#74, #75)
- Added new configuration option `security.enableSecurityCheck` (default: `true`)
- Users can now disable the security check when needed, such as when working with cryptographic libraries or known false positives
## How to Use
To **disable** the security check, add the following to your `repopack.config.json`:
```json
{
"security": {
"enableSecurityCheck": false
}
}
```
**Note:** Disabling the security check may expose sensitive information. Use this option with caution and only when necessary.
---
To update, simply run:
```bash
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better! If you encounter any issues or have suggestions regarding this new feature, please let us know through our GitHub issues.
+19
View File
@@ -0,0 +1,19 @@
This release introduces significant improvements to Python comment removal.
## Improvements
### Enhanced Python Comment Removal (#81, #60, #55)
- Improved handling of Python comments and docstrings
- Better support for complex scenarios including nested quotes and multi-line strings
We'd like to extend our sincere thanks to @thecurz and @KrunchMuffin for their valuable contributions to this release!
---
To update, simply run:
```bash
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better! If you encounter any issues or have suggestions regarding these new features, please let us know through our GitHub issues.
+35
View File
@@ -0,0 +1,35 @@
This release introduces a new Markdown output style, providing users with an additional option for formatting their repository content.
## What's New
### Markdown Output Style (#86, #87)
- Added new 'markdown' output style option
- Users can now generate output in Markdown format, alongside existing plain text and XML options
## How to Use
To use the new Markdown output style, use the `--style markdown` option:
```bash
repopack --style markdown
```
Or update your `repopack.config.json`:
```json
{
"output": {
"style": "markdown"
}
}
```
---
To update, simply run:
```bash
npm update -g repopack
```
As always, we appreciate your feedback and contributions to make Repopack even better! If you encounter any issues or have suggestions regarding this new feature, please let us know through our GitHub issues.
+20
View File
@@ -0,0 +1,20 @@
This release focuses on improving the stability of Repopack by enhancing error handling for tiktoken-related issues.
## Improvements
### Enhanced Error Handling for Token Counting (#89, #91)
- Improved error handling for tiktoken-related issues in the token counting process
- Added warning logs for files that fail token counting
## How to Update
To update to the latest version, simply run:
```bash
npm update -g repopack
```
---
We appreciate your feedback and contributions to make Repopack even better! If you encounter any issues or have suggestions, please let us know through our GitHub issues.
+32
View File
@@ -0,0 +1,32 @@
This release introduces improvements to file handling and output formatting, enhancing Repopack's functionality and user experience.
## Improvements
### Enhanced Markdown Support (#86, #95)
- Improved code block formatting in Markdown output:
- Added language identifiers to code blocks for better syntax highlighting
- Extended support for various file extensions to improve language detection
- Dynamic output file extension:
- The extension of the output file now changes based on the selected style (e.g., `.md` for Markdown, `.xml` for XML)
- This behavior only applies when no specific output file path is provided by the user
### Enhanced Exclusion of Package Manager Lock Files (#90, #94)
- Improved exclusion of common package manager lock files:
- npm: `package-lock.json`
- Yarn: `yarn.lock`
- pnpm: `pnpm-lock.yaml`
- These files are now automatically excluded from the packed output, including those in subdirectories
## How to Update
To update to the latest version, run:
```bash
npm update -g repopack
```
---
We value your feedback and contributions in making Repopack better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+30
View File
@@ -0,0 +1,30 @@
This release brings improvements to the initialization process and adds Homebrew installation support for macOS users.
## Improvements
### Improved Initialization Process (#96)
- Reordered prompts to ask for output style before file path
- Added Markdown as a new output style option during initialization
### Homebrew Installation Support (https://github.com/Homebrew/homebrew-core/pull/192391)
- Added Homebrew installation instructions for macOS users
## How to Update/Install
To update to the latest version, run:
```bash
npm install -g repopack
```
For macOS users, you can now install Repopack using Homebrew:
```bash
brew install repopack
```
---
We value your feedback and contributions in making Repopack better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+22
View File
@@ -0,0 +1,22 @@
This release focuses on optimizing file processing and improving overall code efficiency.
## Improvements
### Optimize File Processing (#112, #122)
- Improved the efficiency of string parsing operations
- Enhanced whitespace handling for better performance
We'd like to extend our sincere thanks to @Mefisto04 for their valuable contributions to this release!
## How to Update
To update to the latest version, run:
```bash
npm update -g repopack
```
---
We value your feedback and contributions in making Repopack better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+21
View File
@@ -0,0 +1,21 @@
This release addresses a bug fix related to configuration validation for the Markdown output style.
## Bug Fixes
### Fixed Configuration Validation for Markdown Style (#126)
- Resolved an issue where using 'markdown' in the configuration file would trigger an invalid configuration error
We'd like to extend our sincere thanks to @r-dh for identifying and fixing this issue!
## How to Update
To update to the latest version, run:
```bash
npm update -g repopack
```
---
We value your feedback and contributions in making Repopack better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+29
View File
@@ -0,0 +1,29 @@
This release brings several enhancements, focusing on improved performance, streamlined output generation, better error handling, and added convenience for developers. We've also addressed a few bugs and updated dependencies for better compatibility and security.
## Improvements
* **Streamlined Output Generation**: The output generation process has been refactored for better maintainability and efficiency. This reduces code duplication and simplifies adding new output styles in the future. Thanks @iNerdStack!
* **Optimized File Searching**: Improved error handling and efficiency in the file searching process, providing more informative error messages and faster execution. Thanks @Mefisto04!
* **Enhanced Process Concurrency**: More accurate calculation of CPU cores to optimize concurrency during file processing, leading to faster packing times. Thanks @twlite!
* **Async Timeout for Sleep**: Replaced the previous sleep implementation with `setTimeout` to avoid blocking the event loop, enhancing responsiveness. Thanks @twlite!
## Bug Fixes
* **Markdown Configuration Validation**: Resolved an issue where using 'markdown' in the configuration file would trigger an invalid configuration error. Thanks @r-dh!
## Internal Changes
* **Brew Formula Auto-Update**: Homebrew formula will now be automatically updated with each tagged release, simplifying installation and updates for macOS users. Thanks @r-dh!
* **Corrected License Link in README**: Fixed a broken link to the license in the README file. Thanks @Kaushik080!
### How to Update
To update to the latest version, run:
```bash
npm update -g repopack
```
We appreciate all contributions and feedback from our community! If you encounter any issues or have suggestions, please open an issue on GitHub.
+30
View File
@@ -0,0 +1,30 @@
This release adds important migration notices as we prepare to transition from Repopack to Repomix.
## Important: Project Renamed to Repomix
Due to legal considerations, this project has been renamed from "Repopack" to "Repomix". We are committed to ensuring a smooth transition for all users.
### How to Migrate
We strongly recommend migrating to the new package. Install Repomix using either:
```bash
npx repomix
```
or
```bash
npm install -g repomix
```
#### Optional: Uninstall Repopack
After confirming Repomix works for your needs, you can optionally uninstall Repopack:
```bash
npm uninstall -g repopack
```
---
Thank you for being part of the Repopack community. We look forward to continuing to serve you as Repomix! If you have any questions about the migration, please feel free to create an issue on our GitHub repository.
+49
View File
@@ -0,0 +1,49 @@
This release introduces our rename from Repopack to Repomix, along with automated migration functionality to ensure a smooth transition for all users.
## Important: Project Renamed to Repomix
Due to legal considerations, this project has been renamed from "Repopack" to "Repomix". We are committed to ensuring a smooth transition for all users.
### What's New
#### Automated Migration Support (v0.2.1)
- Added functionality to automatically detect and migrate existing Repopack configurations
- Handles migration of:
- Configuration files (`repopack.config.json``repomix.config.json`)
- Ignore files (`.repopackignore``.repomixignore`)
- Instruction files (`repopack-instruction.md``repomix-instruction.md`)
- Both local and global configurations
- Preserves all user settings during migration
#### Project Rename Changes (v0.2.0)
- Updated all project files and references to use the new name
- Updated npm package name to `repomix`
- Updated documentation to reflect the new name
- Added support for legacy output file detection
### How to Migrate
We strongly recommend migrating to the new package. Install Repomix using either:
```bash
npx repomix
```
or
```bash
npm install -g repomix
```
The tool will automatically detect your existing Repopack configuration files and offer to migrate them to the new format.
#### Optional: Uninstall Repopack
After confirming Repomix works for your needs, you can optionally uninstall Repopack:
```bash
npm uninstall -g repopack
```
---
Thank you for being part of our community. We look forward to continuing to serve you as Repomix! If you have any questions about the migration, please feel free to create an issue on our GitHub repository.
+34
View File
@@ -0,0 +1,34 @@
This release introduces Docker support, making Repomix more accessible and easier to use in containerized environments. It also includes an important breaking change regarding Node.js version support.
## What's New
### Docker Support 🐳 (#221, #222)
- Added official Docker support for running Repomix.
You can now run Repomix using Docker:
```bash
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix
```
For more detailed Docker usage instructions and examples, please see our [Docker documentation](https://github.com/yamadashy/repomix?tab=readme-ov-file#docker-usage).
Thanks to @gaby for this valuable contribution that makes Repomix more accessible to containerized environments.
## Maintenance
### Node.js Version Support (#225)
- Dropped support for Node.js 16.x as it has reached End of Life.
- **Required Action**: Please upgrade to Node.js 18.x or later
Thanks to @chenrui333 for helping maintain our Node.js compatibility:
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
----
As always, we appreciate your feedback and contributions to make Repomix even better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+41
View File
@@ -0,0 +1,41 @@
This release focuses on enhancing usability, flexibility, and remote repository handling. We've aimed to make Repomix more intuitive, particularly for those working with remote repositories or using custom configurations.
## What's New
### Support Commit SHA in --remote-branch Option (#195, #212)
- The `--remote-branch` option now supports specific commit hashes, not just branch names or tags.
- This allows users to checkout the remote repository to a specific state using a SHA, providing finer control over remote repository fetching.
For more details, please see [Remote Repository Processing](https://github.com/yamadashy/repomix?tab=readme-ov-file#remote-repository-processing) in the README.
Thank you to @tranquochuy645 for this valuable contribution!
## Bug Fixes
### Fixed an issue where instruction file is not found when using a custom config file (#231)
- The instruction file path is now resolved relative to the current working directory (CWD) instead of the location of the config file.
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
or if you use Homebrew
```bash
brew upgrade repomix
```
or if you use docker 🐳
```bash
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix:0.2.11
```
---
We appreciate your feedback and contributions in making Repomix better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+38
View File
@@ -0,0 +1,38 @@
This release introduces new CLI flags to provide users with more control over the structure and content of Repomix output.
## Features
### Added CLI Flags for Output Control (#236)
This release adds new CLI flags that allow users to control the output:
- `--no-file-summary`: Disables the file summary section in the output.
- `--no-directory-structure`: Disables the directory structure section in the output.
- `--remove-comments`: Enables comment removal from supported file types.
- `--remove-empty-lines`: Enables removal of empty lines from the output.
These flags provide more granular control over the output, and can be used to override configurations from the config file.
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
or if you use Homebrew
```bash
brew upgrade repomix
```
or if you use docker 🐳
```bash
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix:0.2.12
```
---
We appreciate your feedback and contributions to make Repomix even better!
+31
View File
@@ -0,0 +1,31 @@
This release marks a significant milestone for Repomix with the launch of our official website and the opening of our community Discord server! While the code changes are relatively minor, this release introduces essential resources for users to learn more about Repomix and connect with other members.
## What's New
### Official Website Launched! 🌐
- We're excited to announce the launch of the official Repomix website!
- Visit [repomix.com](https://repomix.com/) to explore interactive demos.
- The website provides a convenient way to try Repomix online and understand its features.
### Community Discord Server Opened! 💬
- Join our new community Discord server!
- We've created a dedicated space for users to connect, ask questions, share projects, and collaborate on new ideas.
- Join the server here: [https://discord.gg/wNYzTwZFku](https://discord.gg/wNYzTwZFku)
- This is our first time running a Discord server, so any feedback is welcome! If you're experienced with Discord, please share your best practices with us!
## Try It Out and Share Your Feedback
We encourage you to explore the new website and join our Discord server. Your feedback is invaluable as we continue to improve Repomix.
- Visit the website: [https://repomix.com/](https://repomix.com/)
- Join the Discord server: [https://discord.gg/wNYzTwZFku](https://discord.gg/wNYzTwZFku)
## Internal Changes
While this release is significant due to the website and Discord launch, the actual code changes are mostly internal and related to preparing for the website's launch.
---
Thank you for your continued support of Repomix! We look forward to seeing you on the website and in our Discord community!
+30
View File
@@ -0,0 +1,30 @@
This release focuses on improving both CLI experience and web interface functionality, along with some important infrastructure updates.
## Updates
### Token counting configurable
- Enhanced token counting with configurable encoding (default: cl100k_base)
- Add config `tokenCount.encoding`
### CLI Improvements
- Added a subtle announcement about our web version in the CLI completion message
- Helps users discover our online version at [repomix.com](https://repomix.com)
- The frequency of this announcement will be adjusted based on user feedback
- Removed repository URL from output files for cleaner output
## Fixes
- Fixed an issue where output paths weren't properly ignored in certain scenarios
- Special thanks to @massdo for identifying and fixing this issue
## Internal Changes
- Updated minimum Node.js engine requirement to >=18.20.0
- Thanks to @massdo for implementing this update
---
To update to the latest version, run:
```bash
npm update -g repomix
```
As always, we appreciate your feedback and contributions! If you encounter any issues or have suggestions, please let us know through our [GitHub issues](https://github.com/yamadashy/repomix/issues).
+36
View File
@@ -0,0 +1,36 @@
This release fixes Node.js compatibility issues and adds comprehensive documentation to the website.
## Bug Fixes 🐛
### Enhanced Node.js Compatibility (#274, #277)
- Fixed an issue where Repomix wasn't working properly on Node.js 19
- Downgraded cli-spinners dependency to ensure compatibility
- Now using version 2.9.2 which has better version support
- Extended Node.js version support:
- Minimum required version lowered from 18.20.0 to 18.0.0
- This change enables support for the entire Node.js 18.x LTS series
## Documentation 📚
### New Website Documentation (#269, #271, #265)
- Added comprehensive documentation at [repomix.com/guide/](https://repomix.com/guide/)
- Detailed installation and usage instructions
- Advanced configuration examples
- Best practices and tips
Special thanks to @mostypc123 for their first contribution to Repomix!
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
We welcome community involvement and appreciate all contributions that help make Repomix better.
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+52
View File
@@ -0,0 +1,52 @@
This release adds a new clipboard copy feature and includes several internal improvements to our CI process.
## What's New
### Copy to Clipboard Feature (#152, #160)
- Added new `--copy` option to copy the output to system clipboard
- Output can now be both saved to file and copied to clipboard in one command
- Configurable through `repomix.config.json` using `output.copyToClipboard` option
We'd like to thank @vznh for implementing this feature in their first contribution to Repomix!
## Internal Changes
### CI Improvements
- Switched to official actionlint Docker image for more reliable CI checks (@szepeviktor in #156)
- Re-added Homebrew bump workflow for automated formula updates (@chenrui333 in #151)
## How to Use
Copy output to clipboard using CLI:
```bash
repomix --copy
```
Or configure it in `repomix.config.json`:
```json
{
"output": {
"copyToClipboard": true
}
}
```
## How to Update
To update to the latest version, run:
```bash
npm install -g repomix
```
For macOS users:
```bash
brew upgrade repomix
```
---
We value your feedback and contributions in making Repomix better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
📢 Join our community discussion and share your experience with Repomix: https://github.com/yamadashy/repomix/discussions/154
+26
View File
@@ -0,0 +1,26 @@
This release includes important fixes for Git Worktree support and repository name validation, improving Repomix's compatibility and stability.
## Bug Fixes 🐛
### Git Worktree Support (#279)
- Fixed an issue where Repomix fails when processing repositories created using `git worktree`
- Now correctly handles `.git` as a reference file in worktree repositories
Special thanks to @slavashvets for discovering and fixing this issue!
### Repository Name Validation
- Fixed an issue where `--remote` option would fail when using GitHub shorthand names containing dots (e.g., `user/repo.name`)
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
We welcome community involvement and appreciate all contributions that help make Repomix better.
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+34
View File
@@ -0,0 +1,34 @@
This release introduces significant improvements to output formatting and documentation, featuring a new parsable style option for enhanced XML handling.
# What's New 🚀
## Enhanced Output Style Control (#287)
- Added new `parsableStyle` option for better output handling:
- Ensures output strictly follows the specification of the chosen format
- Provides properly escaped XML output with fast-xml-parser
- Dynamically adjusts markdown code block delimiters to avoid content conflicts
- Available via CLI flag `--parsable-style` or in configuration file
Special thanks to @atollk for their first contribution!
# Documentation 📚
## README Enhancements (#296)
- Updated Homebrew installation documentation to include Linux support
Special thanks to @chenrui333 for their continued contributions!
## Website Multi-Language Support (#293)
- Enhanced multi-language support in [repomix.com](https://repomix.com)
# How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+33
View File
@@ -0,0 +1,33 @@
This release introduces significant improvements to large file handling and expands the Repomix ecosystem with new tools and community channels.
# Improvements ⚡
## Improved Large File Handling (#302)
- Added a file size limit check (50MB) to prevent memory issues
- Graceful error handling for large files with clear user guidance:
Special thanks to @slavashvets for their continued contributions!
# Ecosystem Growth 🤝
## New VS Code Extension (#300)
A community-created VS Code extension "Repomix Runner" is now available:
- Run Repomix directly from VS Code
- Extension by @massdo: [View on VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=DorianMassoulier.repomix-runner)
Thank you @massdo for bringing Repomix to VS Code and expanding our tooling ecosystem!
## Official Social Media
- Launched official Repomix X (Twitter) account: [@repomix_ai](https://x.com/repomix_ai)
- Follow for updates, tips, and community highlights
# How to Update
```bash
npm update -g repomix
```
---
Join our growing community on [Discord](https://discord.gg/BF8GxZHE2C) and follow us on [X](https://x.com/repomix_ai) for updates!
+30
View File
@@ -0,0 +1,30 @@
This release adds significant performance improvements for large repositories, making Repomix faster and more efficient when needed.
# Improvements ⚡
## Parallel Processing Enhancement (#309)
- Implemented worker threads using [Piscina](https://github.com/piscinajs/piscina) for parallel processing
### Benchmark Results
- `yamadashy.repomix`: No significant change
- Before: 868.73 millis
- After: 671.26 millis
- `facebook/react`: 29x faster
- Before: 123.31 secs
- After: 4.19 secs
- `vercel/next.js`: 58x faster
- Before: 17.85 mins
- After: 17.27 secs
Note: While Repomix is not primarily designed for processing large repositories, and speed is not a primary goal, faster processing can provide a better user experience when working with larger codebases.
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+34
View File
@@ -0,0 +1,34 @@
This release significantly enhances configuration flexibility with comprehensive CLI flag support and expands default ignore patterns for better project scaffolding.
# What's New 🚀
## CLI Flags Revolution (#324)
- New command-line configuration now available.
```
- `--no-gitignore`: Disable .gitignore file usage
- `--no-default-patterns`: Disable default patterns
- `--header-text <text>`: Custom text to include in the file header
- `--instruction-file-path <path>`: Path to a file containing detailed custom instructions
- `--include-empty-directories`: Include empty directories in the output
```
Special recognition to @massdo for driving ecosystem growth.
# Improvements ⚡
## Enhanced Ignore Patterns (#318, #322)
- Expanded default ignores for Rust projects:
- `target/`, `Cargo.lock`, build artifacts
- PHP, Ruby, Go, Elixir, Haskell: package manager lock files
To @boralg for helping curate Rust-specific patterns!
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+41
View File
@@ -0,0 +1,41 @@
This release brings significant improvements to output formatting and introduces flexible remote repository handling capabilities along with enhanced logging features.
# Improvements ⚡
## Remote Repository Enhancement (#335)
- Added branch/tag parsing directly from repository URLs:
```bash
repomix --remote https://github.com/yamadashy/repomix/tree/0.1.x
```
Functions identically to:
```bash
repomix --remote https://github.com/yamadashy/repomix --remote-branch 0.1.x
```
Special thanks to @huy-trn for implementing this user-friendly feature!
## Enhanced Output Formatting (#328, #329, #330)
- Added "End of Codebase" marker for better clarity in output
- Improved output header accuracy:
- Better representation of codebase scope
- Clear indication when using `--include` or `--ignore` options
Special thanks to @gitkenan for adding the "End of Codebase" marker and reporting the header issue!
## Path Pattern Support (#337)
- Added support for special characters in paths:
- Handles parentheses in include patterns (e.g., `src/(categories)/**/*`)
- Improved escaping for `[]` and `{}`
- Essential for Next.js route groups and similar frameworks
Thank you @matheuscoelhomalta for improving path pattern support!
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+49
View File
@@ -0,0 +1,49 @@
This release brings feature enhancements, documentation improvements, and website updates, along with contributions from new community members.
# What's New 🚀
## Multiple Directory Support (#338)
- Added ability to process multiple directories at once
Special thanks to @rchatrath7 for implementing this feature!
## CLI Quiet Mode Option (#347)
- Added new `--quiet` option:
- Disables all stdout output
- Perfect for programmatic usage when using Repomix as a library
# Improvements ⚡
## Output Enhancement (#341, #348)
- Removed generation timestamp for cleaner output
- This change reduces API costs by approximately 20-40% when using OpenAI/Anthropic APIs by preventing cache misses
Special thanks to @PaperBoardOfficial for this improvement!
## Website Enhancements: Git URL Parsing Support (#343)
- Enhanced repository URL parsing capabilities:
- Direct support for branch URLs (`/tree/branch`)
- Direct support for commit URLs (`/commit/hash`)
For more details on remote repository features, see [Remote Repository Processing](https://github.com/yamadashy/repomix?tab=readme-ov-file#remote-repository-processing).
# Documentation 📚
## Documentation (#344, #345)
- Added [German translation](https://repomix.com/de/) for website
- Added local development instructions for website
- Updated supported AI model list (ChatGPT, DeepSeek, Perplexity, Gemini, Gemma, Llama, Grok, and more)
- Improved existing translations
Special thanks to @SpyC0der77 for keeping our documentation consistent!
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+52
View File
@@ -0,0 +1,52 @@
This release brings advanced code analysis capabilities through Tree-sitter integration, along with contributions from community members.
# What's New 🚀
## Code Compression with Tree-sitter (#336)
- Added intelligent code compression feature for optimizing LLM prompts
- Implemented language-specific Tree-sitter queries for accurate code parsing
- Supports multiple languages including JavaScript/TypeScript, Python, Rust, Go, C/C++, C#, Ruby, Java, PHP, and Swift
> [!NOTE]
> This is an experimental feature that we'll be actively improving based on user feedback and real-world usage
> Known issue: https://github.com/yamadashy/repomix/issues/359
### Example
Using compression via CLI:
```bash
repomix --compress
```
Before:
```typescript
const calculateTotal = (items: ShoppingItem[]) => {
let total = 0;
for (const item of items) {
total += item.price * item.quantity;
}
return total;
}
interface Item {
name: string;
price: number;
quantity: number;
}
```
After compression:
```typescript
const calculateTotal = (items: ShoppingItem[]) => {
interface Item {
```
Special thanks to @huy-trn for the initial implementation of this feature! His groundwork with Tree-sitter integration laid the foundation for this powerful enhancement to Repomix.
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+28
View File
@@ -0,0 +1,28 @@
This release introduces a major new feature for file uploads, along with improvements to library usage and default ignore patterns.
# What's New 🚀
## Website: File Upload Support (#353, #310)
- Added support for uploading ZIP files directly through the web interface (https://repomix.com/)
<img width="962" alt="image" src="https://github.com/user-attachments/assets/58069431-7e45-487b-94df-c3eeb2ef8695" />
Special thanks to @PaperBoardOfficial for implementing this significant feature!
# Improvements ⚡
## Enhanced Default Ignore Patterns (#364)
- Improved subdirectory matching in default ignore patterns using `**/`
## Library Usage Enhancement (#363)
- Added additional exports to support using Repomix as a library
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+27
View File
@@ -0,0 +1,27 @@
This release introduces enhanced security features and improved error handling, making Repomix more robust and user-friendly.
## Improvements
### Enhanced File System Permission Handling (#165)
- Added comprehensive permission checks for directory scanning
- Improved error messages with clear remediation steps, especially for macOS security restrictions
- Added detailed guidance in CLI output when permission issues are encountered
### Node.js 23 Support (#166)
- Added full support for Node.js 23
### Improved Error Handling and Validation (#167, #171)
- Implemented robust configuration validation system
- Added clear, actionable error messages for configuration issues
- Enhanced error recovery and reporting across core functionalities
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
---
We value your feedback and contributions in making Repomix better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+22
View File
@@ -0,0 +1,22 @@
This release addresses a file system permission issue and adds support for more flexible configuration formats.
# Improvements ⚡
## Configuration Flexibility (#346, #366)
- Added support for JSON5 in configuration files
- More flexible and developer-friendly configuration format
- Allows comments and trailing commas
# Bug Fixes 🐛
## File System Handling (#372, #374)
- Removed unnecessary write permission check on source directories
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+76
View File
@@ -0,0 +1,76 @@
The code compression feature introduced in [v0.2.28](https://github.com/yamadashy/repomix/releases/tag/v0.2.28) has been enhanced! 🚀
# Improvements ⚡
## Enhanced Code Compression (#380)
- Now includes comments and import statements in compression output:
- Preserves both single-line and multi-line comments
- Keeps import/require statements for better code context
- Complete type definition support for TypeScript, Python, and Go:
- Full inclusion of interface and type definitions
- Enhanced function signature preservation:
- Captures complete function signatures including arguments spanning multiple lines
- Ensures accurate preservation of all function parameters
### Example
Using compression via CLI:
```bash
repomix --compress
```
Before:
```typescript
import { ShoppingItem } from './shopping-item';
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
let total = 0;
for (const item of items) {
total += item.price * item.quantity;
}
return total;
}
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
```
After compression:
```typescript
import { ShoppingItem } from './shopping-item';
----
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
----
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}
```
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+21
View File
@@ -0,0 +1,21 @@
This release addresses two important issues to improve code handling and file output capabilities.
# Bug Fixes 🐛
## TypeScript Import Handling for Compressed Output (#382)
- Fixed an issue where named imports were partially excluded when using compress mode
- Now properly preserves all import statements including named imports like `import { Component } from 'module'`
## Directory Structure Support for Output Files (#378, #383)
- Fixes related issue (#378) where nested output paths would fail, especially with remote repositories
- Now automatically creates parent directories when writing to nested output paths
# How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+25
View File
@@ -0,0 +1,25 @@
This release fixes an important configuration issue affecting negative boolean options in Repomix.
## Bug Fixes 🐛
### Configuration Handling Fix (#385, #389)
- Fixed an issue where setting `false` values in the config file for certain options (like `"fileSummary": false`) was not being respected
- Properly handles all `--no-*` style CLI options when specified in the config file
- Affected options include:
- `fileSummary`
- `directoryStructure`
- `gitignore`
- `defaultPatterns`
- `securityCheck`
Special thanks to @mapleroyal for reporting this issue!
## How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our [GitHub issues](https://github.com/yamadashy/repomix/issues) or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+29
View File
@@ -0,0 +1,29 @@
This release adds folder upload capability to the website, improves gitignore handling, and includes documentation updates.
## What's New 🚀
### Website Folder Upload (#387, #377)
* Added folder upload option to the https://repomix.com
* Supports drag & drop or folder browser selection
Thank you @PaperBoardOfficial for implementing folder upload on our website!
## Improvements ⚡️
### Enhanced Gitignore Support (#391, #375)
* Now uses the contents of `.git/info/exclude` when `useGitignore` is set to true
* Allows for local-only file exclusions without modifying the shared `.gitignore`
* Fixes issue #375
Thanks to @motlin for improving gitignore support!
## How to Update
```
npm update -g repomix
```
--------
As always if you encounter any issues or have suggestions please let us know through our GitHub issues or join our Discord community https://discord.gg/wNYzTwZFku for support.
+54
View File
@@ -0,0 +1,54 @@
This release adds MCP server support, improves ignore pattern handling on the website, and includes dependency updates.
## What's New 🚀
### MCP Server Support (#399)
* Added initial implementation of the [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server
* Allows AI assistants to directly interact with your codebase without manual file preparation
* Provides two powerful tools:
* `pack_codebase`: Package local code directories for AI analysis
* `pack_remote_repository`: Fetch, clone and package GitHub repositories
We've also submitted Repomix to the MCP marketplace:
- https://github.com/cline/mcp-marketplace/issues/64
To use Repomix as an MCP server with Cline (VS Code extension), edit the `cline_mcp_settings.json` file:
```json
{
"mcpServers": {
"repomix": {
"command": "npx",
"args": [
"-y",
"repomix",
"--mcp"
]
}
}
}
```
<img width="520" alt="image" src="https://github.com/user-attachments/assets/c698e8ba-91bb-4207-b0fe-ba0a56871975" />
For more details, please refer to the documentation:
https://github.com/yamadashy/repomix#mcp-integration
## Improvements ⚡️
### Enhanced Ignore Pattern Support (#396)
* Now allows special characters like `!` `(` `)` in ignore patterns via the website
**Known Issue**: There's currently an issue where negation patterns (`!`) don't work correctly. See [Issue #400](https://github.com/yamadashy/repomix/issues/400) for details.
Thank you @eastlondoner for your first contribution to the project!
## How to Update
```
npm update -g repomix
```
--------
As always if you encounter any issues or have suggestions please let us know through our GitHub issues or join our Discord community https://discord.gg/wNYzTwZFku for support.
+36
View File
@@ -0,0 +1,36 @@
This release introduces enhanced directory handling capabilities and includes several improvements to core functionality, making Repomix more versatile and reliable.
## What's New
### Empty Directory Support (#180, #161)
- Added new option `includeEmptyDirectories` to include empty directories in repository structure
To include empty directories in your output, add the following to your `repomix.config.json`:
```json
{
"output": {
"includeEmptyDirectories": true
}
}
```
We'd like to thank @iNerdStack for implementing this feature in their contribution to Repomix!
## Improvements
### Statistics Formatting Enhancement (#177)
- Added number formatting for improved readability
- Fixed token calculation for more accurate reporting
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
---
We value your feedback and contributions in making Repomix better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+36
View File
@@ -0,0 +1,36 @@
This release brings significant enhancements to Model Context Protocol (MCP) integration and improves file handling capabilities.
## Improvements ⚡
### Enhanced MCP Integration (#419, #415, #409, #413)
- Added file and directory reading capabilities with integrated [Secretlint](https://github.com/secretlint/secretlint) security checks
- Introduced result retrieval tools for Claude Desktop and Cursor AI assistants
**Pack local repo with compress:**
```bash
Please pack this with compress in repomix.
<path>
```
![MCP Integration - Command Example](https://github.com/user-attachments/assets/6eb70126-ed60-4d5e-956d-1454ab7bfd41)
**Read detailed results:**
![MCP Integration - Results View](https://github.com/user-attachments/assets/db536a6d-c164-4426-9993-25fbff21ffa5)
For more MCP details, please refer to the documentation:
https://github.com/yamadashy/repomix#mcp-integration
### Extended File Format Support (#407)
- Added support for Bun lockfile format (`bun.lockb`)
Special thanks to @jiftoo for their first contribution!
## How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+37
View File
@@ -0,0 +1,37 @@
This release introduces Git-based file sorting and enhances file compression capabilities.
## What's New 🚀
### Git-based File Sorting (#356, #421)
* Added ability to sort files by Git commit frequency
* Prioritizes frequently modified files in the output
* Can be controlled via CLI options or configuration
* Use `--no-git-sort-by-changes` flag to disable Git-based sorting
* Configure in repomix.config.json:
```json
{
"output": {
"git": {
"sortByChanges": true,
"sortByChangesMaxCommits": 100
}
}
}
```
Special thanks to @SpyC0der77 for suggesting this feature!
## Improvements ⚡️
### Enhanced Compress Mode (#420)
* Added Vue.js and CSS file support for compress mode
## How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+16
View File
@@ -0,0 +1,16 @@
## Bug Fixes
### Fixed Missing Dependency (#186)
- Added missing `minimatch` dependency
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
---
We value your feedback and contributions in making Repomix better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+29
View File
@@ -0,0 +1,29 @@
This release introduces remote repository features and security check improvements.
## What's New
### Enhanced Remote Repository Support (#196, #199)
- Added new `--remote-branch` option for cloning specific branches
Example usage:
```bash
# Clone a specific branch
repomix --remote user/repo --remote-branch develop
```
Special thanks to @tranquochuy645 for their first contribution, adding the remote branch feature!
### Security Check Improvements (#191, #201)
- Added `--no-security-check` command line option for more control over security checking
- Enables bypassing security checks when needed (e.g., when working with cryptographic libraries)
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
---
We value your feedback and contributions in making Repomix better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+28
View File
@@ -0,0 +1,28 @@
This release focuses on improving code quality and performance, particularly when processing large codebases.
## Improvements
### JSON Configuration Improvements (#209, #214)
- Added support for inline and block comments in repomix.config.json
Special thanks to @ivanionut for improving JSON configuration handling with their first contribution!
### Enhanced File Processing Performance (#208, #223)
- Optimized file processing efficiency when removeComments and removeEmptyLines are enabled
## Internal Changes
### Code Reorganization (#217)
- Refactored packager.ts into smaller, single-purpose functions
- Improved code maintainability while preserving functionality
Special thanks to @mikelovesrobots for the excellent refactoring work on their first contribution! The changes have made the codebase more maintainable for future development.
To update to the latest version, run:
```bash
npm update -g repomix
```
---
As always, we appreciate your feedback and contributions to make Repomix even better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
+35
View File
@@ -0,0 +1,35 @@
This release introduces new configuration options to control the output of the file summary and directory structure sections, providing more flexibility in customizing the output.
## What's New
### Customizable File Summary and Directory Structure Output (#206, #224)
- Added `output.fileSummary` option (default: `true`): Controls whether to include the file summary section at the beginning of the output.
- Added `output.directoryStructure` option (default: `true`): Controls whether to include the directory structure in the output.
These options allow you to tailor the output to your specific needs. For example:
- You can omit the file summary and directory structure to reduce token usage when interacting with LLMs.
- You can include only necessary sections to generate output optimized for specific AI models.
**Example Configuration:**
```json5
{
"output": {
"fileSummary": false,
"directoryStructure": true,
// ... other settings
}
}
```
To update to the latest version, run:
```bash
npm update -g repomix
```
---
As always, we appreciate your feedback and contributions to make Repomix even better! If you encounter any issues or have suggestions, please share them through our GitHub issues.
View File
+22
View File
@@ -0,0 +1,22 @@
> [!IMPORTANT]
> The default output format has been changed to XML in this release.
This version has been bumped to 0.3.0 not because of a major update, but due to a breaking change in the default output format. It represents an important improvement for anyone installing Repomix for the first time.
## Breaking Changes 🔄
### Default Output Format Changed to XML (#422)
- The default output format has been changed to XML
- XML format provides better parsing accuracy for AI models (especially Claude)
- Other formats (Markdown, Plain Text) remain available via the `--style` option
## How to Update
```bash
npm update -g repomix
```
---
If you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+42
View File
@@ -0,0 +1,42 @@
This release introduces enhancements including improved comment removal support for C++, code compression features for Solidity, and MCP improvements.
## Improvements ⚡️
### C++ Comment Removal Enhancement (#435)
- Added support for comment removal `--remove-comments` in C++ file extensions:
- .h, .hpp (header files)
- .cpp, .cc, .cxx (source files)
Special thanks to @AdijeShen for this valuable contribution in expanding C++ support!
### Solidity Support Enhancement (#436)
- Added compression support `--compress` for Solidity files
- Implemented comment removal `--remove-comments` functionality
### MCP Resource Enhancement (#426, #434)
- Enhanced read_repomix_output tool functionality:
- Now includes output as a resource
### Default Ignore Pattern Enhancement (#428)
- Added `uv.lock` to the default ignore list
## Documentation 📚
### French Documentation (#429)
- Added comprehensive French guides for installation and usage
https://repomix.com/fr/
## How to Update
To update to the latest version, run:
```bash
npm update -g repomix
```
---
If you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+46
View File
@@ -0,0 +1,46 @@
Repomix v0.3.2 brings various improvements including website functionality improvements, better CLI usability, and improved glob pattern handling reliability.
## What's New 🚀
### Website Compression Functionality (#448)
- Improved processing efficiency on the [repomix.com](https://repomix.com/), enabling smoother processing of large repositories directly from the browser.
<img width="233" alt="image" src="https://github.com/user-attachments/assets/19d72c83-7eea-492e-a2ec-d6ed93f0f846" />
## Improvements ⚡
### Semantic Suggestion System for CLI (#452)
Added functionality that automatically suggests correct options when incorrect option names are entered.
Special thanks to @pranshugupta01 for this thoughtful usability enhancement that makes the CLI experience much more intuitive for users!
### Glob Pattern Handling Improvements
- Automatically removes extra whitespace from comma-separated glob patterns (#464)
- Consistently handles directory patterns with trailing slashes, making `folder/` and `folder` patterns behave the same way (#453)
- Improved brace expansion and whitespace handling in CLI pattern options for more accurate and predictable behavior with complex glob patterns (#469)
Special thanks to @pranshugupta01 for these meticulous pattern handling improvements that make file filtering more reliable and predictable!
## Documentation 📚
### VS Code Server Installation Docs (#439)
👇🏻 Click to open VS Code with the Repomix MCP server pre-configured:
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=repomix&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22repomix%22%2C%22--mcp%22%5D%7D)
Special thanks to @burkeholland for this excellent contribution that makes the integration with VS Code more seamless and user-friendly!
### Ensured consistency across all documentation regarding the default output format change to XML (#466)
Special thanks to @yoshi-taka for the careful attention to documentation consistency across the project!
## How to Update
```bash
npm install -g repomix@latest
```
---
If you encounter any issues or have suggestions, please let us know through [GitHub Issues](https://github.com/yamadashy/repomix/issues) or join our [Discord community](https://discord.gg/wNYzTwZFku).
+41
View File
@@ -0,0 +1,41 @@
Repomix v0.3.3 brings metadata-only output, expanded library support, Wayland clipboard compatibility, and various improvements for better usability and maintainability.
## What's New 🚀
### No Files Output Mode `--no-files` (#475, #491)
- Added the ability to generate output containing only metadata, excluding file contents, using the `--no-files` flag.
- Useful for fast analysis of large repositories or when you want to avoid including file bodies.
### Wayland Clipboard `wl-copy` Support (#484)
- Clipboard copy now works on Linux Wayland environments using `wl-copy`.
- The `--copy` option is now fully supported on Wayland.
Special thanks to @pmdyy for adding Wayland clipboard support!
### Expanded Core Exports for Library Usage (#504, #492)
- More core functions are now exported for direct use when integrating Repomix as a Node.js library.
Special thanks to @riqwan for contributing to the core export improvements!
> [!TIP]
> Want to use Repomix as a library in your Node.js project?
> See the official guide here: [Using Repomix as a Library](https://repomix.com/guide/development/using-repomix-as-a-library)
## Improvements ⚡
### Various Maintenance & Fixes (#496, #497, #499)
- Spellcheck now includes dot files.
- Fixed `.editorconfig` and EditorConfig violations.
Special thanks to @szepeviktor for maintenance improvements!
## How to Update
```bash
npm install -g repomix@latest
```
---
If you encounter any issues or have suggestions, please let us know through [GitHub Issues](https://github.com/yamadashy/repomix/issues) or join our [Discord community](https://discord.gg/wNYzTwZFku).
+49
View File
@@ -0,0 +1,49 @@
This release introduces git diff support, CLI output enhancements, GitHub Actions support, and website-based URL input history management. It also includes several documentation improvements and Node.js compatibility updates.
## What's New 🚀
### Git Diff Support (#533)
- Added git diff support with `--include-diffs` flag
- Includes git diffs in the output, covering both staged and unstaged changes for better context
Special thanks to @pmdyy for this contribution!
### CLI Output Enhancement (#534)
- Added `--stdout` option for CLI output
- Provides more flexibility for integrating Repomix in scripts and pipelines
```bash
# Send output to stdout, then pipe into another command (for example, simonw/llm)
repomix --stdout | llm "Please explain what this code does."
```
### GitHub Actions Support (#510, #528)
- Added GitHub Action for integrating Repomix into CI/CD workflows
See full usage at [repomix.com/guide/github-actions](https://repomix.com/guide/github-actions).
## Improvements ⚡
### MCP Tool Annotations Support (#537)
- Added support for Model Context Protocol (MCP) [tool annotations](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations)
### Website URL Input History (#527)
- Added input history management for repository URLs on the website
<img width="509" alt="image" src="https://github.com/user-attachments/assets/05615e8f-01d2-45fd-9fb0-71d7d2c93a66" />
### Node 24 Support
- Added support for Node.js v24 (#543)
## Documentation 📚
- Added Chinese (Traditional) documentation (#526)
## How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+56
View File
@@ -0,0 +1,56 @@
This release enhances header configuration control, adds JSON Schema validation, and improves Docker integration for the MCP server with comprehensive documentation updates.
## Improvements ⚡
### Enhanced `--no-file-summary` Option (#556)
- `--no-file-summary` now also suppresses the generation header
- Header text (`headerText`) is still displayed, maintaining custom messages
- Users can now control headers more flexibly and intuitively, showing custom headers while hiding Repomix-generated content
Special thanks to @joshwand for this significant improvement!
### JSON Schema Configuration Validation (#570)
- Added JSON schema for `repomix.config.json` validation
- Enables auto-completion and validation in supported editors
- Improves developer experience in VSCode and other editors with JSON schema support
```json
{
"$schema": "https://repomix.com/schemas/latest/schema.json",
"output": {
"filePath": "repomix-output.md",
"style": "markdown"
}
}
```
## Documentation 📚
### Docker Configuration for MCP Server (#559)
- Added Docker container support for running Repomix as an MCP server
```json
{
"mcpServers": {
"repomix-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/yamadashy/repomix",
"--mcp"
]
}
}
}
```
## How to Update
```bash
npm update -g repomix
```
---
As always, if you encounter any issues or have suggestions, please let us know through our GitHub issues or join our [Discord community](https://discord.gg/wNYzTwZFku) for support.
+67
View File
@@ -0,0 +1,67 @@
This release brings major enhancements to the MCP (Model Context Protocol) server and improved remote repository handling.
## What's New 🚀
### MCP Tool Grep Functionality (#590)
We've added a powerful `grep_repomix_output` tool to the Repomix MCP server! This feature enables AI assistants to perform advanced searches within packaged codebases. Additionally, the `read_repomix_output` tool now supports partial content retrieval.
<img width="754" alt="image" src="https://github.com/user-attachments/assets/cc656d86-b692-4e8b-be80-122b957a9a9d" />
This functionality allows AI assistants to efficiently search for specific patterns in codebases and retrieve results with surrounding context.
By combining the `grep_repomix_output` and `read_repomix_output` tools, repository analysis is now possible without fetching the entire output, making it particularly useful for analyzing medium to large-scale repositories.
For MCP setup instructions, see:
https://github.com/yamadashy/repomix?tab=readme-ov-file#mcp-server-integration
## Improvements ⚡
### CLI Help Group Feature Implementation (#578)
The CLI help display has been improved. Options are now organized into logical groups for better usability:
```bash
$ repomix -h
Usage: repomix [options] [directories...]
Repomix - Pack your repository into a single AI-friendly file
Arguments:
directories list of directories to process (default: ["."])
Basic Options
-v, --version show version information
Output Options
-o, --output <file> specify the output file name
--stdout output to stdout instead of writing to a file
--style <type> specify the output style (xml, markdown, plain)
--parsable-style by escaping and formatting, ensure the output is parsable as a
document of its type
--compress perform code compression to reduce token count
Filter Options
--include <patterns> list of include patterns (comma-separated)
-i, --ignore <patterns> additional ignore patterns (comma-separated)
...
```
### Enhanced Remote Repository Reference Handling (#583, #592)
Remote repository processing has become more robust with improved URL handling:
- The `--remote` option now handles URLs more precisely by reading refs to correctly distinguish between branch names and folder paths
- Proper identification and processing of remote branches and tags
- Better handling of repository paths and subdirectories
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+56
View File
@@ -0,0 +1,56 @@
This release brings major updates including browser extension support, extensive multilingual expansion, and enhanced mobile experience.
## What's New 🚀
### Browser Extension (#612)
Introducing a browser extension that provides instant access to Repomix from any GitHub repository! The Chrome extension adds a convenient "Repomix" button to GitHub repository pages.
[![image](https://github.com/user-attachments/assets/ca81bd58-f2a9-4184-ae43-18ed52294dad)](https://chromewebstore.google.com/detail/repomix/fimfamikepjgchehkohedilpdigcpkoa)
#### Installation
- Chrome Extension: [Repomix - Chrome Web Store](https://chromewebstore.google.com/detail/repomix/fimfamikepjgchehkohedilpdigcpkoa)
- Firefox Add-on: [Repomix - Firefox Add-ons](https://addons.mozilla.org/firefox/addon/repomix/)
#### Key Features
- One-click access to any GitHub repository
- More exciting features coming soon!
### Website: Open with your app (#616)
📱 You can now send Repomix output directly to Claude or Gemini on mobile!
Perfect when you're on the go and need to analyze a GitHub repo fast — just tap "Open with your app" to share it to your favorite chat app.
Try it on [repomix.com](https://repomix.com)!
https://github.com/user-attachments/assets/c2059c65-3891-4400-8d09-e976a268d93a
### `.jsonc` and `.json5` Configuration File Support (#620)
Added support for `.jsonc` and `.json5` configuration file extensions with priority ordering.
```json5
// repomix.jsonc or repomix.json5
{
// Comments are now supported!
"include": ["src/**"],
"exclude": ["**/*.test.js"]
}
```
## Documentation 📚
### Multilingual Support Expansion (#602, #603, #607)
Added three new languages to the website:
- **Indonesian (id)**: Bahasa Indonesia support
- **Vietnamese (vi)**: Tiếng Việt support
- **Hindi (hi)**: हिन्दी support
This brings our total language support to 12 languages.
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+18
View File
@@ -0,0 +1,18 @@
This release brings important improvements to CLI reliability and enhanced documentation for power users.
## What's New 🚀
### CLI Exit Code Enhancement (#632)
Repomix now properly sets exit codes when operations fail, significantly improving CI/CD integration and error handling workflows. This enhancement ensures that build pipelines and automation scripts can correctly detect and respond to Repomix failures.
Special thanks to @sakamossan for implementing this important feature!
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+98
View File
@@ -0,0 +1,98 @@
We're excited to announce the v1.0 release! 🎉
While v1.0 may seem like a major milestone, this release is actually no different from our regular version updates.
We've reached a point where core functionality is complete, performance is stable, and we have no plans for breaking changes—making this the right time for a major version.
Version 1.0 doesn't mean Repomix is perfect or complete.
We've received many feature requests and still have significant features planned for future releases.
None of this would have been possible without our contributors, users, and sponsors.
Thank you, and we look forward to continuing this journey together!
## New Features 🚀
### Enhanced stdin Support (#648, #650, #653, #680)
A new `--stdin` flag allows you to process file lists directly from the command line.
This enables more flexible integration with shell pipelines and scripts.
```bash
# Select files with find command
find src -name "*.ts" -type f | repomix --stdin
# Get tracked files with git
git ls-files "*.ts" | repomix --stdin
# Search files with specific content using ripgrep
rg -l "TODO|FIXME" --type ts | repomix --stdin
# Interactive file selection with fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
```
- Read file lists from stdin with the `--stdin` flag
- Apply include/ignore pattern filtering to stdin file lists
For more details, see the documentation: https://repomix.com/guide/usage#file-list-input-stdin
### Remote Repository Processing (`--remote`) Improvements (#658)
GitHub repository processing is now more reliable.
- Introduced archive download priority with git clone fallback mechanism
- Archive downloads work in environments without git commands and make `--remote` processing faster
## Improvements ⚡
### Conditional Summary Display (#682)
- Summary purpose display can now be conditionally controlled based on file selection
Special thanks to @eriknygren for this contribution!
### Performance Optimizations (#645, #654)
- Optimized token counting for top files display by calculating only the necessary files based on file size instead of processing all files
### Security Enhancements (#678)
- Stopped outputting secretlint results to the terminal. This prevents key leakage when coding agents and similar tools use repomix
## Bug Fixes 🐛
### Remote Repository Processing (#673, #684)
- Prevented unnecessary file copying in stdout mode and improved processing efficiency
## Breaking Changes ⚠️
### Node.js Requirements Update (#698)
- Ended support for Node.js 18, now requires Node.js 20 or higher
- This enables more stable operation and the use and addition of modern features
## Internal Changes 🔧
### Security and Maintenance Improvements (#651)
- Enhanced security by pinning GitHub Actions to commit SHAs
- Mitigated supply chain attack vectors and improved workflow reliability
Special thanks to @LordMelkor for this contribution!
### Dependency and Build Improvements (#649)
- Added `git-up` and `@secretlint/types` to fix pnpm build errors
Special thanks to @sztu-wtr for this contribution!
### Performance Optimizations (#677)
- Reduced overhead by using `node --run` instead of `npm run`
Special thanks to @yoshi-taka for this contribution!
## How to Update
```bash
npm update -g repomix
```
Or use the latest version directly:
```bash
npx repomix@latest
```
---
If you have any questions or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+33
View File
@@ -0,0 +1,33 @@
This release brings **Bun runtime support** to Repomix!
## What's New 🚀
### Bun Runtime Support (#716)
Repomix now officially supports Bun runtime! You can now use `bunx repomix@latest` to run Repomix with Bun's superior performance.
```bash
# Run with Bun
bunx repomix@latest
# Or explicitly with bun command
bun --bun repomix@latest
# Traditional: Run with Node.js
npx repomix@latest
```
We've also migrated from Piscina to Tinypool for worker thread management, achieving a 700KB reduction in bundle size while maintaining full API compatibility and performance.
## How to Update
```bash
# With npm
npm update -g repomix
# With Bun
bun add -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+64
View File
@@ -0,0 +1,64 @@
This release introduces Claude Agent Skills generation support, enabling you to create AI-ready reference packages from any codebase with a single command!
## What's New 🚀
### Claude Agent Skills Generation (#952, #998)
Added a new `--skill-generate` option that creates structured [Agent Skills](https://docs.anthropic.com/en/docs/claude-code/skills) packages for Claude Code. Skills are pre-packaged code references that help Claude understand and work with specific projects more effectively.
```bash
# Generate a skill from your codebase
repomix --skill-generate
# From remote repository with custom name
repomix --remote facebook/react --skill-generate react-reference
# Documentation-only skill
repomix --remote anthropics/claude-code-action --include "docs/**" --skill-generate
```
This is particularly useful for referencing implementations from open source projects—generate a skill from any repository, and Claude can reference those patterns while working on your code.
**Key Features:**
- **Interactive Location Selection**: Choose between Project Skills (`.claude/skills/`) for team sharing or Personal Skills (`~/.claude/skills/`) for individual use
- **Auto-naming**: Automatically generates skill names as `repomix-reference-<folder-name>`
- **Multi-file Output Structure**:
- `SKILL.md` - Entry point with usage guide
- `references/summary.md` - Purpose, format, and statistics
- `references/project-structure.md` - Directory tree with line counts
- `references/files.md` - All file contents
- `references/tech-stack.md` - Languages, frameworks, and dependencies
- **Tech Stack Detection**: Automatically detects languages, frameworks, dependencies, runtime versions (`.node-version`, `.tool-versions`), and configuration files
- **MCP Tool Support**: New `generate_skill` MCP tool for programmatic skill generation
Learn more in the [Agent Skills Generation documentation](https://repomix.com/guide/agent-skills-generation).
## Security 🔒
### npm Trusted Publishing Support (#974)
Repomix now uses npm's Trusted Publishing with OIDC authentication for package releases. This eliminates the need for long-lived npm tokens and adds provenance attestation to published packages.
<img width="142" height="87" alt="image" src="https://github.com/user-attachments/assets/7511038e-e3fc-47f1-9d8a-8d9b387304ef" />
**What this means for users:**
- Cryptographically verifiable proof that packages are built from this repository
- Enhanced supply chain security with `npm audit signatures` verification
- Protection against token leaks and unauthorized publishing
## Website Enhancements 🌐
### Privacy Policy Page (#981)
Added a dedicated [Privacy Policy page](https://repomix.com/guide/privacy) to the website, making privacy information more accessible. The page covers data handling for CLI, Website, Browser Extension, and includes a liability disclaimer.
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+35
View File
@@ -0,0 +1,35 @@
This release improves skill generation for remote repositories, making the `--skill-generate --remote` workflow more reliable and informative!
## Bug Fixes 🐛
### Fixed Project Name Generation for Remote Repositories (#1001)
Previously, the project name was incorrectly derived from the temp directory name (e.g., "Repomix HPkbgH"). Now it correctly extracts the repository name from the URL.
```bash
repomix --remote https://github.com/vitejs/vite --skill-generate
# Before: SKILL.md title was "Reference codebase for Repomix HPkbgH"
# After: SKILL.md title is "Reference codebase for Vite" ✨
```
### Fixed `.claude/` Directory Conflicts (#1001)
When the remote repository has its own `.claude/` directory (with commands, agents, etc.), only `.claude/skills/` is now copied to prevent conflicts with your existing configuration.
## Improvements ⚡
### Source URL in SKILL.md (#1001)
For remote repositories, the SKILL.md footer now includes the source URL for easy reference:
- Remote: `This skill was generated by Repomix from https://github.com/vitejs/vite`
- Local: No URL included (to avoid exposing personal paths)
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+36
View File
@@ -0,0 +1,36 @@
This release improves binary file detection, encoding detection, and comment removal reliability, making Repomix more robust when processing diverse codebases!
## Bug Fixes 🐛
### Fixed Comment Removal Hanging Issue (#975, #1009)
Replaced `strip-comments` with `@repomix/strip-comments`, a fork with enhanced language support and bug fixes.
Resolves the hanging issue when processing large files with `removeComments: true`
### Fixed Encoding Detection Issues (#869, #1007)
Removed the jschardet confidence check that was incorrectly skipping valid files.
- **Fixes #869** - Valid Python files no longer skipped with low confidence scores
- **Fixes #847** - HTML files with Thymeleaf syntax (`~{`) no longer incorrectly detected as binary
## Improvements ⚡
### Enhanced Binary File Detection (#1006)
Replaced `istextorbinary` with actively maintained alternatives:
- `is-binary-path`: Extension-based detection (47M weekly downloads)
- `isbinaryfile`: Content-based detection with zero dependencies
This ~20x improvement in binary extension coverage reduces unnecessary content checks for common binary formats.
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+40
View File
@@ -0,0 +1,40 @@
This release introduces the `--split-output` option for splitting large packed outputs into multiple files, making Repomix more practical for AI tools with file size limits!
## What's New 🚀
### Split Output for Large Codebases (#1013)
Added the `--split-output` option that automatically splits packed output into multiple numbered files when dealing with large codebases. This is particularly useful when working with AI tools that have file size limits (e.g., Google AI Studio's 1MB limit).
```bash
# Split output into files of max 1MB each
repomix --split-output 1mb
# Larger chunks for bigger context windows
repomix --split-output 20mb
# With decimal values
repomix --split-output 1.5mb
```
This generates numbered files like:
- `repomix-output.1.xml`
- `repomix-output.2.xml`
- `repomix-output.3.xml`
Size can be specified with units: `500kb`, `1mb`, `2mb`, `1.5mb`, etc. Decimal values are supported.
> [!NOTE]
> Files are grouped by top-level directory to maintain context. A single file or directory will never be split across multiple output files.
Special thanks to @Dango233 for this contribution! 🎉
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+67
View File
@@ -0,0 +1,67 @@
This release adds multi-root directory labels, non-interactive skill generation options, and improved reliability for remote repository operations!
## Improvements ⚡
### Multi-Root Directory Labels (#1024, #1023)
When packing multiple directories, the directory tree output now shows labeled sections to clarify which files belong to which root directory:
```bash
repomix src/cli src/config
```
Output now displays:
```
[cli]/
├── cliRun.ts
├── actions/
│ └── ...
[config]/
├── configLoad.ts
└── ...
```
Special thanks to @spandan-kumar for this contribution! 🎉
### Non-Interactive Skill Generation (#1022, #1012)
Added `--skill-output` and `--force` options to enable automated skill generation for CI/CD pipelines and scripts:
```bash
# Non-interactive execution for CI/automation
repomix --skill-generate --skill-output .codebuddy --force
# With remote repository
repomix --remote https://github.com/user/repo --skill-generate --skill-output ./skills/repo-ref -f
```
- `--skill-output <path>`: Specify skill output directory path directly, skipping the interactive location prompt
- `-f, --force`: Skip all confirmation prompts (currently: skill directory overwrite)
## Bug Fixes 🐛
### Fixed Remote Git Command Hangs (#1078, #1077)
Remote git operations now include a 30-second timeout and disable terminal prompts (`GIT_TERMINAL_PROMPT=0`). This prevents indefinite hangs when accessing inaccessible repositories (non-existent, private, or requiring auth).
Special thanks to @Pipboyguy for this contribution! 🎉
### Fixed CLI Output Visibility on Light Themes (#1088, #1057)
Removed hardcoded white color from CLI output to use the terminal's default foreground color. This fixes visibility issues on light-themed terminals like Solarized Light where white text was unreadable.
## Documentation 📚
### Library Bundling Guide (#1075)
Added documentation for [bundling Repomix as a library](https://github.com/yamadashy/repomix?tab=readme-ov-file#bundling), including guidance on handling WASM file dependencies for tree-sitter.
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+54
View File
@@ -0,0 +1,54 @@
This release brings significant performance improvements across the board—faster startup, optimized file collection, and reduced package size—along with a smoother CLI experience for remote repositories!
## What's New 🚀
### Auto-detect Remote URLs Without `--remote` Flag (#1145)
You can now pass GitHub URLs directly as positional arguments without the `--remote` flag:
```bash
# Before
repomix --remote https://github.com/user/repo
# Now also works!
repomix https://github.com/user/repo
```
The CLI automatically detects explicit remote URLs (GitHub, GitLab, Bitbucket, etc.) in positional arguments and treats them as remote repository targets.
## Improvements ⚡
### Node.js Module Compile Cache for Faster Startup (#1181)
Enabled Node.js V8 compile cache (available in Node.js 22.8.0+) for approximately **10% faster startup time**. The compiled module cache is stored automatically and speeds up subsequent launches.
### Optimized File Collection with UTF-8 Fast Path (#1155)
Improved file collection performance with two key optimizations:
- **UTF-8 fast path**: Skips expensive encoding detection for files that are valid UTF-8, which covers the vast majority of source code files
- **Promise pool**: Replaced worker threads with a lightweight promise pool for better concurrency control
### Streaming tar.gz Extraction for Remote Repositories (#1153)
Replaced ZIP archive download with **streaming tar.gz extraction** for remote repository operations:
- Better handling of large repositories
### Smaller npm Package (#1092)
Removed unused source maps from the npm package, reducing `lib/` size from **2.4MB to 1.2MB** (~50% reduction).
## Bug Fixes 🐛
### Skip Retry on Archive Extraction Error (#1149)
Fixed an issue where archive extraction errors would trigger unnecessary retries. Extraction errors are now treated as non-retryable, providing faster error feedback.
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+31
View File
@@ -0,0 +1,31 @@
This release fixes a false positive in base64 detection and brings a lighter clipboard dependency!
## Bug Fixes 🐛
### Fixed Base64 Detection False Positives (#1307, #1298)
The `truncateBase64` feature was incorrectly truncating XPath and path-like strings (e.g., `postTransactionAmounts/sharesOwnedFollowingTransaction/value`) that contained only letters and `/` characters.
Two improvements were made:
- Raised the minimum standalone base64 detection threshold from 60 to 256 characters
- Added a digits requirement to the heuristic — real base64-encoded binary data virtually always contains digits, while path-like strings typically don't
Special thanks to @NaustudentX14 for the detailed bug report! 🎉
## Improvements ⚡
### Migrated to tinyclip for Clipboard Operations (#1296)
Replaced `clipboardy` with `tinyclip`, a zero-dependency clipboard library. This removes 41 transitive dependencies and reduces clipboard-related install size from ~4 MB to ~24 KB.
Special thanks to @florian-lefebvre for their first contribution! 🎉
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+69
View File
@@ -0,0 +1,69 @@
This release is a major performance overhaul — packing the Repomix repository now takes **about 1.4 seconds (down from 3.3 seconds in v1.13.1) — roughly 2.4× faster, a 58% reduction**. Faster startup, lighter dependencies, and a smarter pipeline that overlaps work across stages.
## What's New 🚀
### Monorepo-Aware Tech Stack Detection (#1310, #1317)
The skill generator (`--skill-generate`) now detects dependency files in subdirectories and groups results by package directory. Monorepos with packages under `packages/*/package.json`, `apps/*/package.json`, etc. now produce a `tech-stacks.md` with a separate section per workspace, each listing its own languages, frameworks, dependencies, and runtime versions. Previously only the root-level dependency file was inspected.
## Improvements ⚡
The 58% pack-time reduction is the cumulative result of dozens of optimizations across startup, the pipeline, worker IPC, and remote downloads — no single change accounts for the full speedup. The most impactful changes are highlighted below.
### Replaced tiktoken WASM with gpt-tokenizer (#1350)
Token counting now uses [gpt-tokenizer](https://github.com/niieani/gpt-tokenizer), a pure-JavaScript tokenizer, in place of the previous WASM-based `tiktoken`. This eliminates ~200 ms of WASM initialization overhead from startup and works in environments where WASM is restricted. Token counts are preserved — `gpt-tokenizer` is configured to match `tiktoken`'s default behavior.
### Eliminated Child Process in Default Action (#1372)
The default `repomix` action no longer spawns a child process for the main pack flow. This removes process startup overhead — most noticeable on smaller repositories where startup was a meaningful fraction of total time.
### Wrapper-Extraction Fast Path for Token Counting (-13.2%) (#1457)
For non-parsable XML/Markdown/Plain output, Repomix now reuses per-file token counts and tokenizes only the output "wrapper" (header, separators, footer) instead of re-tokenizing the entire ~MB-scale output. This delivers a **~13% reduction in total pack time** on typical repositories.
### Pipeline Parallelization
The pack pipeline now overlaps stages that don't depend on each other:
- Security check and file processing run concurrently (#1359)
- Output generation overlaps with metrics calculation (#1359)
- Git sort data is prefetched alongside file search and collection (#1467)
- Wrapper tokenization runs in parallel with file metrics (#1469)
- CLI actions are lazy-loaded so each command imports only what it needs (#1346)
### Faster Startup
- Removed Zod from the startup path (#1306)
- Lazy-loaded `handlebars`, `fast-xml-builder`, and `@clack/prompts` (#1436)
- Lazy-loaded `jschardet` and `iconv-lite` for encoding detection (#1401)
- Removed `gpt-tokenizer` from the config schema's import chain (#1500)
- Skipped the worker pool when only lightweight transforms are needed (#1338)
- Eliminated a redundant `stat()` syscall in file reading (#1400)
### Worker & IPC Optimizations
- Batched token counting IPC (#1411)
- Batched security check tasks (#1380)
- Warmed up metrics worker threads in parallel (#1374)
- Capped security worker threads at 2 to reduce contention (#1409)
- Cached empty-directory paths across pipeline stages (#1356)
- Combined file and directory globby walks into a single traversal (#1506)
### Faster Remote Repository Downloads
- Used codeload.github.com URLs directly to skip the 302 redirect (#1375)
- Skipped binary files during tar extraction (#1392)
### `@secretlint/profiler` Overhead Removed (-6.5%)
Disabling the profiler in the security worker reduced pack time by ~6.5% (#1453). A follow-up patch to `perf_hooks.performance.mark` handles duplicate `@secretlint/profiler` singletons that survive across hoisted/nested copies (#1456).
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+61
View File
@@ -0,0 +1,61 @@
This release patches two security advisories and continues the performance work from v1.14.0 with a persistent token-count cache, plus expanded Dart parsing and Nix support. Updating to 1.14.1 is recommended for all users.
## Security 🔒
### Argument Injection via `--remote-branch` (GHSA-9mm9-rqhj-j5mx)
A crafted `--remote-branch` value could be passed to `git` as an option rather than a ref, enabling argument injection (CWE-88, High). Repomix now validates refs and inserts `--end-of-options` before the ref in `git fetch` and `git checkout`, so a branch value can never be interpreted as a git option.
Special thanks to @kakashi-kx (Abhijith S) for the responsible disclosure! 🎉
### MCP `attach_packed_output` Secret-Scan Bypass (GHSA-hwpp-h97w-2h3j)
The MCP `attach_packed_output` flow could register an arbitrary local file and read it back through `read_repomix_output` / `grep_repomix_output` without the secret scan that `file_system_read_file` applies (CWE-200, Moderate). Those tools now run the same secret scan on attach-sourced files before returning content, closing the bypass.
Special thanks to @dodge1218 for the responsible disclosure! 🎉
## Improvements ⚡
### Expanded Dart Code Parsing (#1515)
The Dart Tree-sitter query now captures mixins, typedefs, getters, setters, and factory constructors. Compressed output (`--compress`) for Dart files now preserves more of the file's structure.
### Content-Addressed Token-Count Disk Cache (#1562, #1580)
Token counts are now cached on disk, keyed by content hash. Re-packing a repository reuses counts for unchanged files instead of re-tokenizing them, and the eager metrics warm-up is skipped when the cache is already populated — speeding up repeated runs on the same repository.
### Faster Binary Detection (#1542)
Repomix now attempts a UTF-8 decode before the binary-file check, avoiding a pathological slow path in the protobuf detector on certain inputs.
### Node.js Support Update (#1556)
Node.js 20 is no longer supported and Node.js 26 is now supported. Repomix requires Node.js 22 or later.
### Available on nixpkgs
Repomix is available in [nixpkgs](https://search.nixos.org/packages?query=repomix), so Nix users can install it directly:
```bash
nix-shell -p repomix
```
## Development 🛠️
### Nix Flake with Development Shell (#1525)
Added a `flake.nix` providing a development shell (Node.js 24 + Git) for contributors using Nix:
```bash
nix develop
```
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+45
View File
@@ -0,0 +1,45 @@
This release is a bug-fix patch: it plugs a WebAssembly memory leak, extends comment removal to more JavaScript/TypeScript module files, and fixes the token count tree for underscore-prefixed directories and the directory tree on Windows. Updating to 1.16.1 is recommended for all users.
## Improvements ⚡
### Fixed a WebAssembly Memory Leak (#1681)
Parsed `web-tree-sitter` `Tree` objects were not released after use, leaking WebAssembly heap memory when parsing or compressing many files — noticeable on large repositories. Each tree is now freed right after parsing, keeping memory usage stable.
Special thanks to @isaka1022 for their first contribution! 🎉
### Comment Removal for More Module Files (#1683)
`--remove-comments` now strips comments from JavaScript/TypeScript module files that were previously skipped — `.mjs`, `.cjs`, `.mts`, `.cts`, and their JSX variants `.mjsx` / `.mtsx`.
```bash
repomix --remove-comments
```
Special thanks to @serhiizghama for this contribution! 🎉
### Token Count Tree: Count Underscore-Prefixed Directories (#1710)
Directories whose names start with an underscore (for example `__tests__` or `__mocks__`) were dropped from the `--token-count-tree` output and excluded from the token totals. They are now rendered and counted like any other directory.
```bash
repomix --token-count-tree
```
Special thanks to @serhiizghama for this contribution! 🎉
### Correct Directory Tree and File Ordering on Windows (#1712)
On Windows, the `<directory_structure>` section collapsed into a flat list of full paths and file sorting fell back to a plain string comparison, because already-normalized (`/`-separated) paths were being split on the OS separator (`\`). Paths are now normalized before splitting, so the tree nests correctly and files sort in directory-aware order on every platform.
Special thanks to @serhiizghama for this contribution! 🎉
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+47
View File
@@ -0,0 +1,47 @@
This release brings token optimization and MCP Structured Output support, making Repomix more efficient and reliable for AI integration!
## What's New 🚀
### Automatic Base64 Data Truncation for Token Savings (#733)
The new `truncateBase64` option automatically shortens long Base64-encoded data like embedded images.
```bash
# Enable the option
repomix --truncate-base64
# Enable in config file
{
"output": {
"truncateBase64": true
}
}
```
This feature significantly reduces token usage when processing repositories containing data URI images and other binary data.
- Data URI: `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB...`
- Base64 strings: `VGhlIHF1aWNrIGJyb3duIGZveCBqdW1w...`
Special thanks to @hand-dot for this contribution! 🎉
### MCP Structured Output Support (#719)
Now supports the MCP [Structured Output specification](https://modelcontextprotocol.io/specification/2025-06-18/server/tools#output-schema).
- Tool outputs are now strictly defined with JSON Schema, ensuring AI models can parse structured data reliably
## Documentation 📚
### Real-world Use Cases
Added "Real-World Use Cases" to the website. Features practical scenarios for actual development environments including bug investigation, security audits, documentation generation, and new member onboarding.
https://repomix.com/guide/use-cases
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any questions or suggestions, please let us know on [GitHub Issues](https://github.com/yamadashy/repomix/issues) or our [Discord community](https://discord.gg/wNYzTwZFku).
+24
View File
@@ -0,0 +1,24 @@
This release focuses on critical performance improvements and memory management optimization for large codebases.
## Improvements ⚡️
### Memory Management & Performance Optimization (#749, #748)
Comprehensive memory management overhaul for better performance with large codebases and long-running processes. Particularly beneficial when using Repomix as a library in applications that process multiple repositories.
- Worker process isolation: All heavy operations (file search, processing, metrics calculation) now run in isolated child processes to prevent memory accumulation
- Comprehensive resource cleanup: Improved worker pool management and automatic resource disposal across all operations
### Error Handling Improvements (#739, #746)
Enhanced error handling and performance optimizations to improve reliability:
- Better error messages and debugging information
- Improved template compilation error handling for large files
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+51
View File
@@ -0,0 +1,51 @@
This release introduces token count analysis tools and MCP server enhancements, making it easier to analyze and optimize your codebase processing.
## What's New 🚀
### Token Count Summarization (#747)
Added the powerful `--token-count-tree` option that displays token usage in a hierarchical tree view! This feature helps identify which files and directories consume the most tokens, making it easier to optimize your Repomix output.
```bash
repomix --token-count-tree
```
Displays a tree structure showing token usage:
```
🔢 Token Count Tree:
────────────────────
├── tsconfig.json (177 tokens)
├── typos.toml (80 tokens)
├── vitest.config.ts (89 tokens)
├── .agents/ (2874 tokens)
│ └── rules/ (2874 tokens)
│ ├── base.md (1988 tokens)
│ ├── browser-extension.md (453 tokens)
│ └── website.md (433 tokens)
```
You can also set a minimum threshold to only show files above a certain token count:
```bash
repomix --token-count-tree 1000
```
Special thanks to @gudber for this incredibly useful feature!
### MCP Server: Attach Packed Output Tool (#756)
Added the `attach_packed_output` tool to the MCP server, enabling AI assistants to import and analyze previously generated Repomix XML files.
This tool accepts either a directory containing `repomix-output.xml` or a direct path to an XML file, providing the same structured analysis capabilities as freshly packed repositories without the need to reprocess the codebase.
For detailed MCP documentation, see:
https://github.com/yamadashy/repomix?tab=readme-ov-file#available-mcp-tools
Special thanks to @petrarca for this valuable MCP enhancement!
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+78
View File
@@ -0,0 +1,78 @@
This release introduces git commit history integration and enhanced binary file detection, making Repomix more informative for AI analysis and user visibility!
## What's New 🚀
### Git Commit History Integration (#793)
Added the powerful `--include-logs` option that includes git commit history in the output to help AI systems understand development patterns and file change relationships.
```bash
# Include last 50 commits (default)
repomix --include-logs
# Include specific number of commits
repomix --include-logs --include-logs-count 10
# Via configuration file
{
"output": {
"git": {
"includeLogs": true,
"includeLogsCount": 25
}
}
}
```
### Binary File Detection Reporting (#752, #798)
Repomix now reports files detected as binary by content inspection, providing better visibility into excluded files.
```
📄 Binary Files Detected:
─────────────────────────
3 files detected as binary by content inspection:
1. config/corrupted.txt
2. data/malformed.json
3. logs/output.log
These files have been excluded from the output.
Please review these files if you expected them to contain text content.
```
This helps users understand why files with text extensions might be excluded when they contain binary data.
## Improvements ⚡
### Security Enhancements (#774)
- Secured git command execution with enhanced safety measures
Special thanks to @szepeviktor for these important security improvements!
## Internal Changes 🔧
### CI/CD Improvements (#778)
- Schema updates on main branch
Special thanks to @BBboy01 for their first contribution with schema updates!
## Website Enhancements 🌐
### URL Parameter Support (#764, #775)
The Repomix website now supports URL query string parameters, allowing users to:
- Bookmark configurations with preset options
- Share links with predefined settings
Example URLs with preset configurations:
- https://repomix.com/?format=markdown&include=**%2F*.ts&ignore=**%2F*.test.ts
- https://repomix.com/?repo=yamadashy%2Frepomix&format=markdown&include=**%2F*.ts&ignore=**%2F*.test.ts
This makes the web interface more user-friendly and shareable.
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+19
View File
@@ -0,0 +1,19 @@
This maintenance release focuses on improving the `--remote` option reliability.
## Improvements ⚡
### Remote Repository Processing (#777, #806)
The `--remote` option now automatically detects the default branch instead of assuming `main`:
- Works with repositories using `main`, `master`, or custom default branches
- No longer fails on repositories with non-standard default branch names
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+30
View File
@@ -0,0 +1,30 @@
This release fixes critical Go code processing issues and improves binary file reporting for better user experience!
## Bug Fixes 🐛
### Fix Go Code `--remove-comments` Processing (#814)
Fixed a critical hang issue when processing Go files containing backtick raw string literals in function calls. This specific pattern in Go syntax wasn't being handled correctly by our comment removal logic, causing infinite loops.
This made Repomix completely unusable for a few Go projects, as the process would hang indefinitely.
**Problematic pattern that caused hangs:**
```go
func example() {
fmt.Fprintln(out, heredoc.Doc(`
Multi-line raw string content
`))
}
```
### Binary File Detection Reporting (#815)
Fixed confusing relative path display in binary file detection reports. Now shows clear full paths to make it easier to identify excluded files.
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).
+65
View File
@@ -0,0 +1,65 @@
This release brings comprehensive JSON output format support with jq integration, making Repomix more efficient and versatile for AI analysis!
## What's New 🚀
### JSON Output Format Support (#837)
Added the powerful `--style json` option that generates structured, programmatically-friendly JSON output with hierarchical data structure and camelCase properties!
```bash
# Generate JSON output
repomix --style json
# Via configuration file
{
"output": {
"style": "json"
}
}
```
The JSON format provides a clean structure:
```json5
{
"fileSummary": { /* metadata and usage guidelines */ },
"directoryStructure": "src/\n cli/\n ...",
"files": {
"src/index.js": "// File contents here"
}
}
```
Perfect for programmatic processing with `jq`:
```bash
# Extract file list
cat repomix-output.json | jq -r '.files | keys[]'
# Get specific file content
cat repomix-output.json | jq -r '.files["src/index.js"]'
```
This JSON format is particularly easy to handle with `jq`, enabling AI agents to efficiently extract specific parts without processing the entire output.
For detailed JSON format documentation and more examples, see: https://repomix.com/guide/output#json-format
## Improvements ⚡
### CLI Help Text Enhancement (#831)
Improved CLI help text clarity and accuracy with corrected default values and better descriptions, making it easier for AI agents to handle Repomix more accurately when assisting users.
## Bug Fixes 🐛
### MCP Server Error Response Fix (#834)
Fixed MCP server error responses by removing redundant `structuredContent` that was incorrectly returning schema non-compliant content during errors.
Special thanks to @huy-trn for spotting this issue and providing the fix!
## How to Update
```bash
npm update -g repomix
```
---
As always, if you have any issues or suggestions, please let us know on GitHub issues or our [Discord community](https://discord.gg/wNYzTwZFku).

Some files were not shown because too many files have changed in this diff Show More