资讯详情

hk 内置150+ linters全量清单:Prettier、ESLint、Ruff一步配置的快速参考

📅 2026/10/14 23:14:26 | 华诺云谱 👁 阅读
hk 内置150+ linters全量清单:Prettier、ESLint、Ruff一步配置的快速参考
【免费下载链接】hkgit hooks and project lints项目地址https://gitcode.com/gh_mirrors/hk2/hk点击查看免费下载hk 是一款并行运行的 Git hooks 与项目 linters 管理工具内置 163 个开箱即用的 linter 定义Builtins覆盖 Prettier、ESLint、Ruff、golangci-lint、rubocop、shellcheck 等主流工具。本文带你 3 分钟完成 Prettier ESLint Ruff 的一步配置并附上按语言分类的完整 linters 清单方便按需查找。 3 步上手从零到运行第一个 linterhk 的安装和初始化非常简单推荐通过 mise 安装mise use hk # 或者 brew install hk / cargo install hk --locked hk init # 自动探测项目工具生成 hk.pkl 配置 hk install # 安装 Git hooks hk check --all # 检查全仓库hk init会根据项目里的标志性文件如package.json、pyproject.toml、go.mod自动推断你使用的工具生成一份hk.pkl配置。想手动挑选工具时可以加--interactive参数。重要提示builtin 只描述“如何调用工具”不会替你安装工具本身。对应的可执行文件如prettier、ruff需要已安装在PATH中。hk 官方建议用 mise 统一管理这些依赖。验证配置可以只校验、不执行 linterhk validate 什么是 hk Builtins内置 linter 定义hk 把每个 linter 封装成一个可复用的 Pkl 步骤定义统一包含四个要素要素说明glob匹配哪些文件如**/*.tscheck只读检查命令非零退出即失败fix原地修复命令可选batch是否分批并行处理文件以 pkl/builtins/prettier.pkl 为例它定义了 Prettier 的默认 globJS/TS/CSS/MD 等 25 种扩展名、prettier --check检查命令和prettier --write修复命令并开启了batch并行优化prettier new Config.Step { batch true check new Config.CommandSpec { command new Config.Command { argv List(prettier, --check, {{files}}) } } fix new Config.CommandSpec { command new Config.Command { argv List(prettier, --write, {{files}}) } } }所有 builtin 定义都在 pkl/builtins/ 目录下每个 linter 一个.pkl文件。在命令行执行hk builtins可以随时列出全部可用名称。 按分类浏览163 个 linters 全量清单hk 的 linters 覆盖 25 个类别主要分布如下数据来自各.pkl的category元信息分类数量代表工具Special Purpose项目级检查28merge 冲突检测、大文件拦截、行尾换行、密匙扫描Infrastructure基础设施21Dockerfilehadolint、Terraform、GitHub ActionsactionlintJavaScript/TypeScript16prettier、eslint、biome、oxlint、tscGo14gofmt、golangci-lint、staticcheck、goimportsData Formats数据格式12yamllint、taploTOML、xmlfluffPython10ruff、black、mypy、flake8、pylintRuby9rubocop、reek、brakemanMarkdown7mado、markdownlint、mdschemaNix / Rust / Shell / Lua 等35nixfmt、cargo-clippy、rustfmt、shellcheck、shfmt完整的逐条清单含工具描述可查阅官方文档页 docs/builtins.md或直接阅读 pkl/builtins/ 源码目录。⚡ 高频 linter 快速参考表工具Pkl 属性名用途源码文件PrettierBuiltins.prettier代码格式化prettier.pklESLintBuiltins.eslintJS/TS 静态检查支持--fixeslint.pklRuffBuiltins.ruffPython lint 自动修复含 diff 模式优化ruff.pklBiomeBuiltins.biome高性能 JS/TS 格式化 lintbiome.pklgolangci-lintBuiltins.golangci_lintGo 聚合 lintergolangci_lint.pklcargo-clippyBuiltins.cargo_clippyRust 静态分析cargo_clippy.pklBlackBuiltins.blackPython 格式化black.pklshellcheck shfmtBuiltins.shellcheck/Builtins.shfmtShell 检查与格式化shellcheck.pklyamllintBuiltins.yamllintYAML 校验yamllint.pklgitleaksBuiltins.gitleaks仓库密匙扫描gitleaks.pkl Prettier ESLint Ruff 一步配置在hk.pkl中 import Builtins然后在steps里按需挂载即可。hk 会为顶层steps自动生成pre-commit、check、fix三个钩子amends package://github.com/jdx/hk/releases/download/v2.5.0/hk2.5.0#/Config.pkl import package://github.com/jdx/hk/releases/download/v2.5.0/hk2.5.0#/Builtins.pkl steps { [prettier] Builtins.prettier [eslint] Builtins.eslint [ruff] Builtins.ruff }日常使用hk check # 检查改动文件 hk fix # 应用可自动修复的问题 hk check --step ruff # 只跑某一个 linter微调 builtin 而不丢弃默认值——这是 hk 配置最优雅的地方用括号包裹再覆盖属性即可[prettier] (Builtins.prettier) { glob List(*.js, *.ts, *.json) // 覆盖默认 glob exclude List(**/generated/**) // 排除生成文件 depends eslint // 让 Prettier 在 ESLint 之后运行 }hk 官方还提供了可直接下载的完整示例配置 javascript-project.md —— ESLint 先于 PrettierTypeScript 检查挂在typesprofile 后 python-project.md —— Ruff lint formatmypy 按需启用 custom-linters.md —— 手写自定义 linter 步骤的完整示范 hk-example.pkl —— 仓库自带的多 linter 综合示例含batch、check_first等进阶参数 零依赖的内置工具装好 hk 就能用并非所有 builtin 都需要外部工具。trailing_whitespace、newlines、check_merge_conflict 这类步骤直接调用 hk 自带的hk util命令无需安装任何额外 linter是新人体验 hk 的最佳起点steps { [trailing_whitespace] Builtins.trailing_whitespace // 去除行尾空白 [newlines] Builtins.newlines // 确保文件以换行结尾 } 并行执行hk 与 husky 们的本质区别hk 的杀手锏是让多个 linter并行跑且互不踩踏内置读写文件锁保证两个步骤修改同一文件时不会冲突batch参数则把大文件集拆分成多批并行处理对单线程工具如 ESLint、Prettier 提速明显。hk check --plan # 预演看哪些步骤、哪些文件会被选中但不执行 hk check --why prettier # 解释某步骤为什么运行或被跳过执行过程在hk check面板中一览无余——每个 linter 步骤的状态与耗时清晰可见终端中的实际执行效果如下hk-demo.gif展示了 hook 触发后 linters 并行动作的完整过程❓ 常见问题Qhk 会自动帮我安装 Prettier、Ruff 吗不会。builtin 只负责“怎么调”工具本身请用包管理器或 mise 安装。参考 docs/builtins.md 中的 Tool availability 章节例如给本地安装的工具加prefix List(aube, exec)前缀。Q清单里找不到我要的工具怎么办hk 支持自定义步骤写一个含glob、check、fix的Step即可完整写法见 custom-linters.md。Q怎么在 CI 里跑用hk check --all检查整个仓库含符合条件的未跟踪文件配合hk check --all --plan --json可获得结构化输出。写在最后hk 用一份共享的 Pkl 配置把 150 个 linters 统一装进了 Git hooks、终端命令和 CI 三条路径。从 getting_started.md 完成初始化再到按需挑选 pkl/builtins/ 里的 linter整个项目的代码质量防线只需一个hk.pkl文件。赞分享【免费下载链接】hkgit hooks and project lints项目地址https://gitcode.com/gh_mirrors/hk2/hk点击查看免费下载相关推荐Upscayl代码质量ESLint与Prettier配置Upscayl代码质量ESLint与Prettier配置 引言开源项目的代码质量挑战 在AI图像超分辨率Super Resolution领域Upsca桌面应用AI 应用计算机视觉图像处理roadmap.sh代码质量Prettier与ESLint配置roadmap.sh代码质量Prettier与ESLint配置 在现代化的前端开发中代码质量和一致性是项目成功的关键因素。roadmap.sh作为一个大型的文档教程知识库CyberChef代码质量ESLint与Prettier配置CyberChef代码质量ESLint与Prettier配置 引言 在网络安全工具开发中代码质量直接关系到工具的安全性和可靠性。CyberChef作为一款功网络安全密码学前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑