支援的鉤子
特色鉤子 ¶
以下是一些提供 pre-commit 整合的精選儲存庫。
這些都相當受歡迎,並且通常在大部分的設定中都能良好運作!
此清單並非詳盡無遺
由 pre-commit 團隊提供
- pre-commit/pre-commit-hooks:一些與語言無關的鉤子,普遍適用!
- pre-commit/pygrep-hooks:一些基於正則表達式的快速鉤子,用於一些快速的語法檢查
- pre-commit/sync-pre-commit-deps:根據其他已安裝的鉤子同步 pre-commit 鉤子依賴項
- pre-commit/mirrors-*:一些常用工具的 pre-commit 鏡像
適用於 Python 專案
- asottile/pyupgrade:自動升級語法至較新版本的語言
- asottile/(其他):由 pre-commit 創建者提供的其他一些儲存庫
- psf/black:毫不妥協的 Python 程式碼格式化工具
- hhatto/autopep8:自動修復 PEP8 違規
- astral-sh/ruff-pre-commit:適用於 Python 的 ruff 程式碼檢查和格式化工具
- google/yapf:高度可配置的 Python 格式化工具
- PyCQA/flake8:適用於 Python 的程式碼檢查框架
- PyCQA/isort:適用於 Python 的導入排序工具
- PyCQA/(其他):其他一些 Python 程式碼品質工具
- adamchainz/django-upgrade:自動升級您的 Django 專案程式碼
適用於 Shell 腳本
- shellcheck-py/shellcheck-py:在您的腳本上運行 shellcheck
- openstack/bashate:bash 程式的程式碼風格強制執行
適用於網頁
- biomejs/pre-commit:以 Rust 編寫的快速格式化/修復工具
- standard/standard:程式碼檢查/修復工具
- shssoichiro/oxipng:優化 png 檔案
適用於設定檔
- python-jsonschema/check-jsonschema:使用 jsonschema 檢查許多常見的設定
- rhysd/actionlint:檢查您的 GitHub Actions 工作流程檔案
- google/yamlfmt:適用於 yaml 檔案的格式化工具
- adrienverge/yamllint:適用於 YAML 檔案的程式碼檢查工具
適用於文字/文件/散文
- crate-ci/typos:查找並修復常見的印刷錯誤
- thlorenz/doctoc:在 Markdown 檔案中生成目錄
- amperser/proselint:適用於散文的程式碼檢查工具。
- markdownlint/markdownlint:Markdown 程式碼檢查工具
- codespell-project/codespell:檢查程式碼中的常見拼寫錯誤
適用於檢查提交訊息
適用於秘密掃描/安全性
適用於其他程式語言
- realm/SwiftLint:強制執行 Swift 風格和慣例
- nicklockwood/SwiftFormat:適用於 Swift 的格式化工具
- AleksaC/terraform-py:格式化和驗證 terraform 語法
- rubocop/rubocop:適用於 Ruby 的靜態分析和格式化
- bufbuild/buf:適用於 Protocol Buffers 的工具
- sqlfluff/sqlfluff:適用於 SQL 的模組化程式碼檢查和自動格式化工具
- aws-cloudformation/cfn-lint:aws CloudFormation 程式碼檢查工具
- google/go-jsonnet:適用於 jsonnet 的程式碼檢查/格式化工具
- JohnnyMorganz/StyLua:一個固執己見的 Lua 程式碼格式化工具
- Koihik/LuaFormatter:適用於 Lua 程式碼的格式化工具
- mrtazz/checkmake:Makefile 語法的程式碼檢查工具
尋找鉤子 ¶
建議使用您慣用的搜尋工具來尋找可在您的專案中使用的現有鉤子。
例如,以下是一些您可能會發現使用 sourcegraph 搜尋時有用的範例
- 在 Python 檔案上運行的鉤子:
file:^\.pre-commit-hooks\.yaml$ "types: [python]"
- 在 Shell 檔案上運行的鉤子:
file:^\.pre-commit-hooks\.yaml$ "types: [shell]"
- 熱門專案中的 pre-commit 設定:
file:^\.pre-commit-config\.yaml$
您也可能會發現 GitHub 的搜尋 也很有用,儘管其查詢和排序功能相當有限,而且需要登入
新增到此頁面 ¶
此頁面的先前版本是鉤子的清單,維護列出工具的品質很麻煩。
此頁面並非詳盡無遺
您可以發送 拉取請求 來擴展此清單,但是您 *必須* 遵循一些要求,否則您的拉取請求將在沒有評論的情況下被關閉
- 該工具必須已經相當受歡迎(>500 顆星)
- 該工具必須使用託管語言(沒有
system
/script
/docker
鉤子) - 該工具必須對檔案進行操作