Skip to content

监视模式

Repomix 可以监视你的代码库,并在文件发生变更时自动重新打包。这样可以在你工作时保持输出文件始终是最新的,当你想为 AI 助手持续提供刷新后的快照时非常方便。

用法

使用 -w(或 --watch)标志启动监视模式:

bash
repomix --watch

Repomix 会先执行一次初始打包,然后持续运行并在每次变更时重新打包。你可以将监视模式与常用选项组合使用:

bash
# 监视特定的文件集合
repomix -w --include "src/**/*.ts"

# 使用自定义输出文件和格式进行监视
repomix --watch -o output.md --style markdown

Ctrl+C 即可停止监视。

工作原理

  • 初始打包:Repomix 会先打包一次代码库,然后报告它正在监视多少个文件。
  • 变更检测:新增、修改和删除文件都会触发重新打包。
  • 防抖:短时间内的密集变更(例如切换分支或一次性保存多个文件)会被合并处理。Repomix 会在最后一次变更后等待 300 ms 再重新打包,因此一连串的编辑只会产生一次重新构建。
  • 时间戳:每次重新构建后,Repomix 都会打印一个时间戳(Rebuilt at HH:MM:SS),以便你了解输出最近一次刷新的时间。

被忽略的文件

监视模式遵循与普通运行相同的忽略规则:.gitignore.repomixignore、内置的默认模式(例如 node_modules.git),以及你传入的任何 --ignore 模式。被忽略的目录不会被监视,这使得监视模式在大型项目上保持高效。

选项兼容性

监视模式仅适用于本地目录,因此无法与以下选项组合使用(无论你是在命令行还是在配置文件中设置它们):

  • --remote 或位置参数形式的远程仓库 URL,监视模式仅支持本地
  • --stdout--stdin,流式模式没有可供刷新的持久化输出文件
  • --split-output
  • --skill-generate
  • --copy,每次变更时重新打包会反复覆盖剪贴板

如果你将其中之一与 --watch 组合使用,Repomix 会退出并报错,说明该冲突。

相关资源

Released under the MIT License.