Skip to content

Command Line Options

Basic Options

  • -v, --version: Show version information and exit

CLI Input/Output Options

  • --verbose: Enable detailed debug logging (shows file processing, token counts, and configuration details)
  • --quiet: Suppress all console output except errors (useful for scripting)
  • --stdout: Write packed output directly to stdout instead of a file (suppresses all logging)
  • --stdin: Read file paths from stdin, one per line (specified files are processed directly)
  • --copy: Copy the generated output to system clipboard after processing
  • --token-count-tree [threshold]: Show file tree with token counts; optional threshold to show only files with ≥N tokens (e.g., --token-count-tree 100)
  • --top-files-len <number>: Number of largest files to show in summary (default: 5, e.g., --top-files-len 20)

Repomix Output Options

  • -o, --output <file>: Output file path (default: repomix-output.xml, use "-" for stdout)
  • --style <style>: Output format: xml, markdown, json, or plain (default: xml)
  • --parsable-style: Escape special characters to ensure valid XML/Markdown (needed when output contains code that breaks formatting)
  • --compress: Extract essential code structure (classes, functions, interfaces) using Tree-sitter parsing
  • --output-show-line-numbers: Prefix each line with its line number in the output
  • --no-file-summary: Omit the file summary section from output
  • --no-directory-structure: Omit the directory tree visualization from output
  • --no-files: Generate metadata only without file contents (useful for repository analysis)
  • --remove-comments: Strip all code comments before packing
  • --remove-empty-lines: Remove blank lines from all files
  • --truncate-base64: Truncate long base64 data strings to reduce output size
  • --header-text <text>: Custom text to include at the beginning of the output
  • --instruction-file-path <path>: Path to file containing custom instructions to include in output
  • --include-empty-directories: Include folders with no files in directory structure
  • --no-git-sort-by-changes: Don't sort files by git change frequency (default: most changed files first)
  • --include-diffs: Add git diff section showing working tree and staged changes
  • --include-logs: Add git commit history with messages and changed files
  • --include-logs-count <count>: Number of recent commits to include with --include-logs (default: 50)

File Selection Options

  • --include <patterns>: Include only files matching these glob patterns (comma-separated, e.g., "src/**/.js,.md")
  • -i, --ignore <patterns>: Additional patterns to exclude (comma-separated, e.g., "*.test.js,docs/**")
  • --no-gitignore: Don't use .gitignore rules for filtering files
  • --no-default-patterns: Don't apply built-in ignore patterns (node_modules, .git, build dirs, etc.)

Remote Repository Options

  • --remote <url>: Clone and pack a remote repository (GitHub URL or user/repo format)
  • --remote-branch <name>: Specific branch, tag, or commit to use (default: repository's default branch)

Configuration Options

  • -c, --config <path>: Use custom config file instead of repomix.config.json
  • --init: Create a new repomix.config.json file with defaults
  • --global: With --init, create config in home directory instead of current directory

Security Options

  • --no-security-check: Skip scanning for sensitive data like API keys and passwords (use with caution; may expose secrets in output)

Token Count Options

  • --token-count-encoding <encoding>: Tokenizer model for counting: o200k_base (GPT-4o), cl100k_base (GPT-3.5/4), etc. (default: o200k_base)

MCP Options

  • --mcp: Run as Model Context Protocol server for AI tool integration

Examples

bash
# Basic usage
repomix

# Custom output file and format
repomix -o my-output.md --style markdown
repomix -o my-output.json --style json

# Output to stdout
repomix --stdout > custom-output.txt

# Send output to stdout, then pipe into another command (for example, simonw/llm)
repomix --stdout | llm "Please explain what this code does."

# Custom output with compression
repomix --compress

# Process specific files with patterns
repomix --include "src/**/*.ts,*.md" --ignore "*.test.js,docs/**"

# Remote repository with branch
repomix --remote https://github.com/user/repo/tree/main

# Remote repository with commit
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1

# Remote repository with shorthand
repomix --remote user/repo

# Using stdin for file list
find src -name "*.ts" -type f | repomix --stdin
git ls-files "*.js" | repomix --stdin
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin

# Git integration
repomix --include-diffs  # Include git diffs for uncommitted changes
repomix --include-logs   # Include git logs (last 50 commits by default)
repomix --include-logs --include-logs-count 10  # Include last 10 commits
repomix --include-diffs --include-logs  # Include both diffs and logs

# Token count analysis
repomix --token-count-tree
repomix --token-count-tree 1000  # Only show files/directories with 1000+ tokens

Released under the MIT License.