nargo-hooks
Nargo 框架的 Git Hooks 管理工具,守护代码提交的第一道质量防线。
📖 简介
nargo-hooks 提供了高性能、易配置的 Git Hooks 自动化管理方案。它允许开发者通过简单的配置文件(nargo.config.json)来定义提交前的检查逻辑(如 Lint, Test, Audit),并以毫秒级的响应速度拦截不符合规范的代码提交,确保代码库的健壮性。
✨ 核心特性
- 原生 Hook 安装: 自动接管
.git/hooks目录,通过轻量级的 shell 脚本将 Git 事件转发至 Nargo 原生引擎。 - 跨平台支持: 针对 Unix 和 Windows 环境进行了优化,确保在不同操作系统下都能稳定运行。
- 配置驱动: 无需编写复杂的 shell 脚本,通过 JSON/TOML 配置即可编排复杂的钩子流水线。
- 高性能拦截: 直接基于 Rust 构建,相比传统的 Node.js 钩子工具(如 husky),启动速度提升了一个数量级。
🏗️ 核心逻辑
- NargoHooks: 提供
install,uninstall和run等核心静态方法,管理钩子的生命周期。 - Hook 脚本生成: 自动检测当前执行路径,生成指向 Nargo 二进制文件的重定向脚本。
- 参数透传: 支持将 Git 原生参数(如提交信息、文件列表)完整透传给下游的检查任务。
🔗 相关项目
- nargo-config: 为钩子执行提供配置支持。
- nargo-linter: 常作为
pre-commit钩子的核心检查项。