惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
博客园_首页
罗磊的独立博客
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
Last Week in AI
Last Week in AI
D
DataBreaches.Net
Jina AI
Jina AI
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
D
Docker
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
H
Help Net Security
T
The Blog of Author Tim Ferriss

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Hermes Agent Codebase Packing Tool Usage Guide (repomix-r...
Sopaco · 2026-06-22 · via DEV Community

Sopaco

This is the official recommended usage guide for repomix-rs — repomix-rs is a high-performance Rust rewriting of the original Repomix (TypeScript), fully compatible with the original usage pattern, and Faster, Safer, and better suited for AI Agent scenarios.


What is repomix-rs?

repomix-rs is a tool that packages an entire codebase into a single, AI-friendly file. It works seamlessly with all major LLM application scenarios including Hermes Agent, Claude, ChatGPT, and Gemini. Through repomix-rs, your codebase is presented to AI in a structured, token-controllable format, enabling AI to perform code reviews, documentation generation, and vulnerability audits more accurately.

Compared to the original Repomix, repomix-rs rewrites all core logic in Rust, bringing a qualitative leap in performance, security, and embedding capabilities.

Feature repomix-rs (Rust) Original Repomix (TypeScript)
Core Language Rust TypeScript
Runtime Speed Millisecond-level (parallel file scanning) Second-level (single-threaded Node.js)
Memory Safety Compile-time guaranteed Runtime checking
Built-in MCP Support ✅ Official MCP Server included ❌ Additional configuration required
Secretlint Integration
Tree-sitter ✅ 10 languages ✅ 10 languages
Token Counting tiktoken-rs (o200k_base) tiktoken (JS)
Remote Repository Packing ✅ git clone + cleanup
Parallel Processing rayon + tokio No parallelism

🦀 Rust: The Infrastructure Choice for the AI Era

Have you noticed a trend? More and more developer ecosystem infrastructure is moving from TypeScript/Node.js to Rust. This is no accident — Rust's language characteristics are a perfect match for the demands of the AI era:

🔍 Why are developers choosing Rust?

  1. Compile-time performance assurance — Zero-cost abstractions + no GC pauses
  2. Memory safety — Compile-time elimination of BufferOverflow / Use-After-Free
  3. Cross-platform single binary — Compile once, run anywhere
  4. The core choice for the MCP era — The AI Agent ecosystem is forming a new technical standard

🌟 Rust Replacement Cases: From Bun to Vite

Bun Case: The Rust Replacement for Node.js

Rust-based high-performance runtime Bun uses Rust to rewrite the JavaScript engine, delivering:

  • Startup speed: Node.js ~2s → Bun ~0.1s
  • Execution speed: JavaScript ~2x → Bun ~5-10x
  • Memory footprint: Node.js ~600MB → Bun ~200-500MB

Bun's success proves the feasibility of Rust as a JS engine底层, and repomix-rs leverages Rust's high-performance characteristics to achieve a repomix rewrite.

Vite Case: Rust Rewriting of Frontend Build

How Vite ditched Webpack and used Rust to refactor frontend builds Webpack was the ruler of frontend builds, but it suffered from:

  • Slow startup: 5-30s
  • Memory usage: 500-2000MB
  • Node.js single-thread bottleneck

The Vue.js team decided to ditch Webpack and rewrite Vite in Rust:

  • Startup speed: 5-30s → ~0.5s
  • Memory usage: 500-2000MB → ~200MB
  • Concurrent processing: Event loop → Multi-threaded

Vite's success proves that Rust is the core choice for the next generation of frontend build engines.


Quick Start: No Installation Required, Just Run

Open your terminal, navigate to the project root directory, and execute any of the following:

# Method 1: Run with npx (no global installation needed)
npx repomix-rs .

# Method 2: Install globally then run directly
npm install -g repomix-rs
repomix .

# After the terminal outputs a result, send it to Hermes with: "Please read this first"

After execution, an output file (default repomix-output.xml) will be generated in the current directory. Drag that file into the Hermes Agent chat window and send the message: "Please read this project structure file first".

💡 Why repomix-rs?

In AI Agent scenarios like Hermes Agent, we recommend the Rust version repomix-rs over the TypeScript original:

  • Smaller image size: Rust binary ~15MB vs Node.js runtime 50+MB
  • Faster startup: Rust ~0.05s vs Node.js ~200ms
  • Smaller memory footprint: Rust ~50MB vs Node.js ~150MB
  • Better native MCP support: repomix-rs includes a built-in MCP Server

This is a technology choice problem — The success of Bun and Vite has already proven:
In the AI era, Rust is the better infrastructure choice.


Remote Repository Direct Packing

No cloning required — one command to pack a remote GitHub repository:

npx repomix-rs --remote https://github.com/username/project-name

Specify a branch (safer):

npx repomix-rs --remote https://github.com/username/project-name --branch main

repomix-rs's remote packing is based on the system git command. The first run pulls the full repository snapshot.
If git is unavailable, this step is skipped with a warning and the main process continues uninterrupted.


Fine-Grained Control: Which Files to Include, Which to Exclude

Create a .repomixrc configuration file:

{
  "include": ["src/**/*", "tests/**/*", "pyproject.toml", "README.md"],
  "exclude": ["**/*.log", "**/dist/**", "**/.git/**", "node_modules/**"]
}

Enable compression (extracts function signatures, compression ratio up to 50%-90%):

npx repomix-rs --compress --remove-comments --remove-empty-lines .

Include only specific language files and ignore test directories:

npx repomix-rs --include "*.rs,*.toml,Cargo.*" --ignore "target/**,tests/**" .


Output Format Selection

repomix-rs supports four output formats, switchable via the --style parameter:

npx repomix-rs --style markdown --output output.md .
npx repomix-rs --style json --output output.json .
npx repomix-rs --style plain --output output.txt .


How to Connect to Hermes Agent (Critical Steps)

Hermes Agent does not automatically scan attachment content — it must be triggered manually. The correct process is:

  1. Run npx repomix-rs . to generate the packed file
  2. Drag repomix-output.xml (or .md / .txt) into the Hermes Agent chat window
  3. Send the prompt: "Please read this project structure file first"
  4. Wait for Hermes to reply "Context loaded" before asking specific questions

Note: Hermes only supports .md / .xml / .txt plain text files.
If you accidentally send a compressed archive or binary file, the AI side will not be able to parse it.


Running as an MCP Server (Recommended for Advanced Users)

repomix-rs includes a built-in MCP Server that can be directly embedded into any AI Agent supporting the Model Context Protocol (including Hermes Agent, Cursor, and Claude Desktop):

repomix --mcp

After startup, the following MCP tools are exposed:

Tool Name Purpose
pack_codebase Pack a local codebase directory
pack_remote_repository Fetch and pack a remote Git repository
read_repomix_output Read a previously generated repomix output file
grep_repomix_output Search content within the output file

Cursor / Claude Desktop Configuration

Claude Desktop (macOS)

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "repomix": {
      "command": "repomix",
      "args": ["--mcp"]
    }
  }
}

Cursor

Go to Settings → MCP → Add new global MCP server:

Command: repomix
Args: --mcp


Performance Comparison: Original vs repomix-rs

Scenario Original Repomix (Node.js) repomix-rs (Rust) Speedup
Small-to-medium projects (< 500 files) ~3-8 seconds ~0.3-0.8 seconds 5-10×
Medium projects (500-5,000 files) ~30-120 seconds ~2-8 seconds 15-40×
Large projects (5,000+ files) Risk of OOM Stable completion Unbounded
Remote repository packing Slow (Node.js clone) Extremely fast (git + rayon) 10-20×

Why repomix-rs Instead of the Original Repomix?

  1. Unmatched speed — Rust zero-cost abstractions + rayon parallelism + tokio async I/O; packing the same repository takes only 1/10th the time of the original, or even less.
  2. Native MCP Support — One command repomix --mcp directly integrates with Hermes, Claude, Cursor, and more with no additional wrapper layer needed.
  3. Safer dependency tree — Rust binaries require no Node.js runtime; simple deployment, low CVE risk.
  4. Fully compatible with original CLI — Parameter names, config file formats, and output formats are nearly identical; zero learning curve when switching.
  5. More accurate token countingtiktoken-rs uses OpenAI's official o200k_base encoding, consistent with GPT-4o, with far less counting bias than the JS version.

Frequently Asked Questions

Q: What's the difference between npx repomix-rs and npx repomix?

A: npx repomix-rs invokes repomix-rs (Rust implementation), which is faster and more stable; npx repomix invokes the original TypeScript implementation. Their command-line parameters are largely compatible.

Q: Can repomix-rs handle my Node.js project?

A: Absolutely — it is language-agnostic. repomix-rs identifies file types through file extensions and glob rules.

Q: How do I verify that exclude rules are working?

A: After generating the output, run a grep check: grep -i "secrets\|password\|API_KEY" repomix-output.xml. If sensitive words appear, check whether your glob rules are correct (e.g., **/.env, not .env).

Q: Does repomix-rs support Windows?

A: Yes, Windows x64 precompiled binaries have been released. The npm package also covers Linux/macOS/Windows.


📢 Quick Start with repomix-rs

👉 https://github.com/sopaco/repomix-rs

This guide is adapted from the original Hermes Agent Repomix usage guide, with all content migrated to repomix-rs.

repomix-rs project: https://github.com/sopaco/repomix-rs
npm package name: repomix-rs, CLI command: repomix