Repomix-rs Explorer
Use repomix (the repomix-rs CLI) to pack a codebase into a single AI-friendly file, then analyze it with agent tools.
When to use
- Explore an unfamiliar local or remote repository
- Summarize structure, entry points, or module boundaries
- Find patterns (auth, routes, models, error handling) across many files
- Get token/file metrics before deciding what to read in detail
Use repomix-context-skill instead when a MindMesh index already exists at .mind-mesh/agent/repomix.md.
Installation
npm (recommended)
Package name is repomix-rs; the installed command is repomix.
# Global install — `repomix` available everywhere
npm install -g repomix-rs
# One-off run without global install
npx repomix-rs .
# Run the MCP server on stdio
npx -y repomix-rs --mcp
Supported platforms: Linux (x64, arm64), macOS (x64, arm64), Windows (x64). Node >= 18 required.
If both the original TypeScript
repomixandrepomix-rsare installed globally, the last install wins therepomixcommand. Usenpx repomix-rsornpx repomixexplicitly if both are present.
From source
# Install to ~/.cargo/bin/repomix
cargo install --path crates/cli
# Or build a release binary at ./target/release/repomix
cargo build --release
Prerequisites
Git-related features (--remote, --include-diffs, --include-logs, sort-by-changes, MCP pack_remote_repository) shell out to the git executable on PATH. If git is missing, these features are skipped with a warning rather than failing the pack.
Core commands
| Intent | Command |
|---|---|
| Pack current directory | repomix . |
| Pack a remote repository | repomix --remote https://github.com/owner/repo --output /tmp/<name>.xml |
| Pack with compression | repomix --compress . |
| Pack only specific files | repomix --include "**/*.{ts,tsx}" --ignore "tests/**" . |
| Markdown output | repomix --style markdown --output /tmp/<name>.md . |
| Include git diff/log | repomix --include-diffs --include-logs . |
| Start MCP server | repomix --mcp |
| Show all options | repomix --help |
Default output file is style-dependent (repomix-output.xml, .md, .json, or .txt). Always use --output to place the file where you expect.
Agent workflow
-
Pack
- Local:
repomix [ROOT] - Remote:
repomix --remote <URL> --output /tmp/<repo>.xml - Note the metrics printed by the command (files, characters, tokens, output path).
- Local:
-
Inspect structure
- Read the start of the output file for the file tree and metrics summary.
- For large outputs, read with
offset/limitrather than loading the whole file.
-
Search patterns
- Use the agent's
Greptool on the output file, not shellgrep. - Common patterns:
export.*function,export.*class,import.*from,router\.|route\.|endpoint,auth|login|jwt,model|schema|database,error|exception|try.*catch.
- Use the agent's
-
Read slices
- After locating a relevant
### pathor<file path="...">boundary, read that slice withoffset/limit.
- After locating a relevant
-
Summarize
- Report metrics, top-level structure, and findings.
- Cite output file paths and line numbers.
- Suggest next steps for deeper exploration or targeted edits.
Best practices
- Remote repos: always write to
/tmpor a temp directory to avoid polluting the current workspace. - Large repos: use
--compressto extract signatures via tree-sitter and reduce token count. - Narrow scope: use
--include/--ignorebefore reading large outputs. - Output path: explicitly pass
--outputso you know exactly where the pack lives. - Clean up: delete large
/tmpoutput files after analysis unless the user asks to keep them. - Security: suspicious files are detected and excluded automatically; trust the exclusion list in the output report.
Do not
- Use this skill for targeted file edits — pack, analyze, then switch to direct file tools.
- Read entire multi-megabyte output files into context; grep first, then read slices.
- Run
rmon project files unless you are certain they are temporary output files you created. - Confuse
repomix-rs(Rust, npm packagerepomix-rs) with the original TypeScriptrepomix(npm packagerepomix).
Error handling
| Symptom | Action |
|---|---|
repomix: command not found |
Install via npm install -g repomix-rs or use npx repomix-rs. |
| Remote clone fails | Verify the URL, network, and that git is on PATH. Try a local clone instead. |
| Output is too large | Re-run with --compress, narrower --include, or --split-output <tokens>. |
| Expected files missing | Check the file tree and ignored/excluded files section in the output report. |
| Git features missing | Ensure git is installed and the target is inside a git repository. |
Resources
- Run
repomix --helpfor the complete flag reference. - Repository: https://github.com/sopaco/repomix-rs
- npm package: https://www.npmjs.com/package/repomix-rs
