prek
用Rust重写的pre-commit,更快、无依赖、兼容原配置。
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:prek。 它的用途是:用Rust重写的pre-commit,更快、无依赖、兼容原配置。 完整的 Skill 内容见:https://321skill.com/skills/prek/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
“帮我检查当前Git暂存区代码的格式和潜在问题。” 它会调用 prek 运行配置的钩子(如 black, isort, ruff),快速扫描代码并给出修改建议。或者,在提交代码前,
对AI说:“运行一下提交前检查。” 它会自动执行 `prek run` 来确保代码符合团队规范。
介绍
prek 是一个用 Rust 重写的 pre-commit 工具,旨在解决原版 pre-commit 在速度、依赖管理和磁盘空间占用上的痛点。它通过单一二进制文件实现,无需 Python 或其他运行时环境,显著提升了代码提交前钩子的执行效率。
使用方式与 pre-commit 高度兼容,开发者可以直接沿用现有的 .pre-commit-config.yaml 配置文件,通过 prek run 等命令即可无缝切换。它还集成了 uv 工具,用于更高效地管理 Python 虚拟环境和依赖。
该工具非常适合所有使用 pre-commit 进行代码质量管控的开发者,尤其是对构建速度和开发环境纯净度有较高要求的团队。对于维护大型项目或 monorepo 的团队,其内置的 workspace 模式和并发执行能力能带来显著效率提升。
建议初次使用时,可以先在现有项目上试用,验证其钩子兼容性。对于 monorepo 项目,可以探索其 workspace 模式以优化多项目间的钩子执行。
核心特点
核心区别在于:1. 单一二进制、零外部依赖,安装和运行速度远超基于Python的pre-commit;2. 原生支持monorepo工作区模式,可并发执行独立项目的钩子,提升大型代码库效率。
注意事项
作为较新的工具,其社区生态和第三方钩子支持广度可能暂时不如原版 pre-commit 成熟。
常见问题
prek 能和现有的 pre-commit 配置文件一起用吗?
完全可以,prek 完全兼容原版 pre-commit 的配置文件格式,可以直接使用。
prek 比 pre-commit 快多少?
根据官方基准测试,在多数场景下,prek 的执行速度比 pre-commit 快数倍,尤其是在冷启动和工具安装环节。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/prek/raw/index.md 读取 prek 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/prek/raw/index.md(查看排版版本)