命令行选项
基本选项
-v, --version: 显示版本信息并退出
CLI输入/输出选项
--verbose: 启用详细调试日志(显示文件处理、令牌计数和配置详细信息)--quiet: 抑制除错误外的所有控制台输出(用于脚本编写)--stdout: 将打包输出直接写入标准输出而不是文件(抑制所有日志记录)--stdin: 从标准输入逐行读取文件路径(指定的文件直接处理)--copy: 处理后将生成的输出复制到系统剪贴板--token-count-tree [threshold]: 显示带有令牌计数的文件树;可选阈值仅显示≥N令牌的文件(例如:--token-count-tree 100)--top-files-len <number>: 摘要中显示的最大文件数(默认:5,例如:--top-files-len 20)
Repomix输出选项
-o, --output <file>: 输出文件路径(默认:repomix-output.xml,使用"-"输出到标准输出)--style <type>: 输出格式:xml、markdown、json或plain(默认:xml)--parsable-style: 转义特殊字符以确保有效的XML/Markdown(当输出包含破坏格式的代码时需要)--compress: 使用Tree-sitter解析提取基本代码结构(类、函数、接口)--output-show-line-numbers: 为输出中的每行添加行号前缀--no-file-summary: 从输出中省略文件摘要部分--no-directory-structure: 从输出中省略目录树可视化--no-files: 仅生成元数据而不包含文件内容(用于仓库分析)--remove-comments: 打包前剥离所有代码注释--remove-empty-lines: 从所有文件中删除空行--truncate-base64: 截断长base64数据字符串以减少输出大小--header-text <text>: 在输出开头包含的自定义文本--instruction-file-path <path>: 包含要在输出中包含的自定义指令的文件路径--include-empty-directories: 在目录结构中包含没有文件的文件夹--include-full-directory-structure: 即使使用 --include 模式,也在目录结构部分显示完整的仓库树--no-git-sort-by-changes: 不按git更改频率排序文件(默认:最常更改的文件优先)--include-diffs: 添加显示工作树和暂存更改的git diff部分--include-logs: 添加包含消息和更改文件的git提交历史--include-logs-count <count>: 与--include-logs一起包含的最新提交数(默认:50)
文件选择选项
--include <patterns>: 仅包含与这些glob模式匹配的文件(逗号分隔,例如:"src/**/.js,.md")-i, --ignore <patterns>: 要排除的附加模式(逗号分隔,例如:"*.test.js,docs/**")--no-gitignore: 不使用.gitignore规则过滤文件--no-default-patterns: 不应用内置忽略模式(node_modules、.git、构建目录等)
远程仓库选项
--remote <url>: 克隆并打包远程仓库(GitHub URL或user/repo格式)--remote-branch <name>: 要使用的特定分支、标签或提交(默认:仓库的默认分支)
配置选项
-c, --config <path>: 使用自定义配置文件而不是repomix.config.json--init: 使用默认设置创建新的repomix.config.json文件--global: 与--init一起使用,在主目录而不是当前目录中创建配置
安全选项
--no-security-check: 跳过扫描API密钥和密码等敏感数据
令牌计数选项
--token-count-encoding <encoding>: 用于计数的分词器模型:o200k_base(GPT-4o)、cl100k_base(GPT-3.5/4)等(默认:o200k_base)
MCP选项
--mcp: 作为AI工具集成的Model Context Protocol服务器运行
示例
bash
# 基本使用
repomix
# 自定义输出文件和格式
repomix -o my-output.xml --style xml
# 输出到标准输出
repomix --stdout > custom-output.txt
# 输出到标准输出,然后管道到另一个命令(例如,simonw/llm)
repomix --stdout | llm "请解释这段代码的作用。"
# 使用压缩的自定义输出
repomix --compress
# Git集成功能
repomix --include-logs # 包含git日志(默认50个提交)
repomix --include-logs --include-logs-count 10 # 包含最近10个提交
repomix --include-diffs --include-logs # 同时包含差异和日志
# 使用模式处理特定文件
repomix --include "src/**/*.ts,*.md" --ignore "*.test.js,docs/**"
# 带分支的远程仓库
repomix --remote https://github.com/user/repo/tree/main
# 带提交的远程仓库
repomix --remote https://github.com/user/repo/commit/836abcd7335137228ad77feb28655d85712680f1
# 使用简写的远程仓库
repomix --remote user/repo
# 使用stdin的文件列表
find src -name "*.ts" -type f | repomix --stdin
git ls-files "*.js" | repomix --stdin
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin
# 令牌计数分析
repomix --token-count-tree
repomix --token-count-tree 1000 # 仅显示拥有1000+令牌的文件/目录