我的项目马上要 3k star 啦 🎉

2025 年 12 月 22 日
 j0hnj

TLDR: prek 是用 Rust 重写的 pre-commit 工具,支持自动管理多种语言编写的 hook ,欢迎大家 star: https://github.com/j178/prek

距离第一次发帖 airflow 正在迁移到我写的 pre-commit 替代品 已经过去 4 个月了,这段时间 prek 经历了很多不可思议的「第一次」,今天想和大家更新一下项目的最新进展。

功能完善

这几个月主要专注于功能的完善和性能优化:

核心功能

性能与安全

社区认可

让我最有成就感的是项目得到了社区的广泛认可:

重量级用户

Apache Airflow 深度集成了 prek ,还在官方系列文章里专门写了一篇介绍:Modern Python Monorepo for Apache Airflow - Part 3

大佬推荐

社区采用

已经有不少知名项目迁移或正在迁移中:

数据表现

感想

开源真的很有意思,你永远不知道下一个用户会是谁。那些曾经仰望的大佬,也会在你的项目里出现!

如果你还在用 Python 版本的 pre-commit ,不妨试试 prek ,欢迎建议和反馈!

项目地址: https://github.com/j178/prek

2839 次点击
所在节点    分享创造
9 条回复
cryptovae
2025 年 12 月 22 日
确实好强,上次看你发这个帖子时好像才 100 多个 star ,就在几个月前
bxb100
2025 年 12 月 22 日
@cryptovae airflow 吃螃蟹后觉得顶呱呱, 然后社区对 pre-commit 作者早有不满, 最后成全了 prek 的一世英名
j0hnj
2025 年 12 月 22 日
@bxb100 感谢大佬贡献的 docker 和 docker_image 支持!😁
bxb100
2025 年 12 月 22 日
@j0hnj 惭愧, 我就一混 PR 的
Razio
2025 年 12 月 22 日
我看文章里面写的 [Meet Jo, the creator of prek. What started as a weekend / hobby project]

哥们,但我看你 github 明明都快全勤了,你太猛了,好强
zqr10159
2025 年 12 月 22 日
正好打算在我们项目里用,对这个不太了解啊,咨询一下楼主。我们项目仓库里是同时有前后端的代码,如何让所有克隆我们仓库的人在提交时必须运行 prek 来对前后端执行检查呢?前端是 angular 的,后端是 java ,麻烦楼主指点一下。https://github.com/apache/hertzbeat
j0hnj
2025 年 12 月 22 日
@zqr10159 首先需要在仓库中添加 `.pre-commit-config.yaml` 文件,并配置相应的检查 hook 。

关于”如何强制所有克隆仓库的人在提交时运行 pre-commit 检查”,实际上无法做到强制要求。只有在开发者本地执行 `prek install` 安装 git hook 之后,提交时才会自动触发 prek 检查。

推荐的最佳实践是:在 CI 流程中也添加 prek 检查步骤。这样当贡献者的 PR 触发 CI 检查失败时,他们会意识到需要在本地执行 `prek install`,以便在提交前就能快速发现并修复问题,而不是等到提交 PR 后才发现问题,提高开发效率。
zqr10159
2025 年 12 月 22 日
@j0hnj 好的感谢哈,之前用某个前端项目时候遇到了使用 husky 这种强制 git hooks 的项目来着,所以想问问有没有类似的
zqr10159
2025 年 12 月 23 日
@j0hnj https://github.com/rudikershaw/git-build-hook 搜了一下不知道这个能不能用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1180426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX