@evilmartians/lefthook-installer

中文文档
2.2.2发布于 2026/10/13MITCommonJS零依赖近 30 天下载 3206

简单的钩子管理器

中文使用文档
文档目录17 节
  1. 安装
  2. 使用量
  3. 为什么是左撇子
  4. 并行执行
  5. 文件的灵活列表
  6. 光标和正则表达式过滤器
  7. 在子目录中执行
  8. 运行脚本
  9. 标记
  10. 支持嵌入器
  11. 本地配置
  12. 直接控制
  13. 你的任务
  14. 控制输出
  15. 指南
  16. 实例
  17. 文章

Build Status codecov

左脚

一个为Node.js,Ruby,Python等多类项目的Git钩子管理器.

  • 快点. 它用"去"写,可以并行运行命令.
  • 权相相相. 它允许控制执行和将文件传递给命令.
  • 很简单. 它是单一的无依赖二进制,可以在任何环境中工作.

📖 导言员额

Evil Martians logo 左脚 由 邪恶的火星人美国的设计和工程顾问 开发工具、AI和网络安全启动。 。 。 .

安装

与 走开 (>= 1.27):

go install github.com/evilmartians/lefthook/[email protected]
  • 或者作为一个工具
go get -tool github.com/evilmartians/lefthook/[email protected]

与 国家预防机制数字 :

npm install lefthook --save-dev

对于 鲁比数字 :

gem install lefthook

对于 蟒数字 :

pipx install lefthook

安装指南 以更多方式安装左上角 : 时间, (中文(简体) ), 酿酒, (中文(简体) ), 旋转还有其他.

使用量

配置你的钩子,安装一次然后忘记它:依靠下面的魔法.

TL; DR 数据

# Configure your hooks
vim lefthook.yml

# Install them to the git project
lefthook install

# Enjoy your work with git
git add -A && git commit -m '...'

更多细节

为什么是左撇子

  • 并行执行

让你更快. 文档

pre-push:
  parallel: true
  • 文件的灵活列表

如果你想要自己的名单. 自定义 财务报告和审定财务报表 预建 实例.

pre-commit:
  jobs:
    - name: lint frontend
      run: yarn eslint {staged_files}

    - name: lint backend
      run: bundle exec rubocop --force-exclusion -- {all_files}

    - name: stylelint frontend
      files: git diff --name-only HEAD @{push}
      run: yarn stylelint {files}
  • 光标和正则表达式过滤器

如果您想要过滤文件列表 。 您可以找到更多 Glob 模式示例 这里。 。 。 .

pre-commit:
  jobs:
    - name: lint backend
      glob: "*.rb" # glob filter
      exclude:
        - "*/application.rb"
        - "*/routes.rb"
      run: bundle exec rubocop --force-exclusion -- {all_files}
  • 在子目录中执行

如果您要在相对路径中执行命令

pre-commit:
  jobs:
    - name: lint backend
      root: "api/" # Careful to have only trailing slash
      glob: "*.rb" # glob filter
      run: bundle exec rubocop -- {all_files}
  • 运行脚本

如果单行命令不够,可以执行文件. 文档

commit-msg:
  jobs:
    - script: "template_checker"
      runner: bash
  • 标记

如果你想控制一组命令. 文档

pre-push:
  jobs:
    - name: audit packages
      tags:
        - frontend
        - linters
      run: yarn lint

    - name: audit gems
      tags:
        - backend
        - security
      run: bundle audit
  • 支持嵌入器

若入多克环境. 文档

pre-commit:
  jobs:
    - script: "good_job.js"
      runner: docker run -it --rm <container_id_or_name> {cmd}
  • 本地配置

如果您是前端/后端的开发者, 想要跳过不必要的命令或覆盖 Docker 中的东西 . 文档

# lefthook-local.yml
pre-push:
  exclude_tags:
    - frontend
  jobs:
    - name: audit packages
      skip: true
  • 直接控制

如果你想直接运行钩子组.

$ lefthook run pre-commit
  • 你的任务

如果您想要直接运行特定的一组命令 .

fixer:
  jobs:
    - run: bundle exec rubocop --force-exclusion --safe-auto-correct -- {staged_files}
    - run: yarn eslint --fix {staged_files}
$ lefthook run fixer
  • 控制输出

你可以控制左侧的指纹 产出 选项.

output:
  - execution
  - failure

指南

实例

检查 实例

文章

版本与发布记录

@evilmartians/lefthook-installer 共发布 185 个版本,首次发布于 2022/06/08;过去 12 个月发布了 31 个版本。

版本发布日期距今
2.2.2latest2026/10/131 个月前
2.2.12026/10/081 个月前
2.2.02026/10/081 个月前
2.1.172026/10/051 个月前
2.1.162026/10/021 个月前
2.1.152026/09/301 个月前

关于 @evilmartians/lefthook-installer 的常见问题

@evilmartians/lefthook-installer 是什么?

简单的钩子管理器

如何安装 @evilmartians/lefthook-installer?

在项目目录运行 npm install @evilmartians/lefthook-installer,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 lefthook,可以用 npx lefthook 直接运行。

@evilmartians/lefthook-installer 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/evilmartians__lefthook-installer 是否存在。

@evilmartians/lefthook-installer 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@evilmartians/lefthook-installer 可以商用吗?

@evilmartians/lefthook-installer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@evilmartians/lefthook-installer 的下载量有多少?

根据 npm 官方下载统计,@evilmartians/lefthook-installer 在 2026/10/14 – 2026/11/12 这 30 天内被下载 3,206 次,日均约 107 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@evilmartians/lefthook-installer 还在维护吗?

最新版本 2.2.2 发布于 2026/10/13(1 个月前);至今共发布 185 个版本,其中过去 12 个月发布了 31 个;首次发布于 2022/06/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。