This release expands hk's built-in linter library with several new tools, particularly for Nix and infrastructure-as-code workflows, along with a handful of useful fixes.
Highlights
New --pr flag for checking PR-changed files — You can now run hk check --pr to automatically check only the files that have changed in your current pull request compared to the base branch. This makes it easy to run targeted checks during code review without processing your entire codebase. #660
New tmpdir step option — Steps can now specify tmpdir = true to run in an isolated temporary directory, useful for tools that need a clean working environment. Thanks @thejcannon! #663
ty builtin — Added support for ty, Astral's new Python type checker. Thanks @joonas! #566
New Built-in Linters
Thanks to @matdibu for contributing five new builtins:
- cmake_format — Format CMake files #672
- deadnix — Find unused code in Nix files #670
- hclfmt — Format HCL/Terraform files #675
- nil — Nix language server for diagnostics #669
- nixf_diagnose — Additional Nix diagnostics #671
The ruff_format and tombi builtins now use --quiet mode for cleaner output. #667 #676
Bug Fixes
- typos now respects exclusions when using
--force-exclude— Thanks @CallumKerson! #659 - check-case-conflict no longer reports false positives from duplicate file entries — Thanks @safinn! #678
- yamllint now runs in strict mode for more reliable error detection #673
- Fixed ignore patterns not being respected when recursing into directories — Thanks @thejcannon! #661
- Fixed Nix flake builds when git submodules are included — Thanks @jeffutter! #681
New Contributors
Welcome to our new contributors! 🎉
Full documentation: https://hk.jdx.dev/
Changelog
1.36.0 - 2026-02-09
🚀 Features
--quiet by @matdibu in #667
--quiet by @matdibu in #676
🐛 Bug Fixes
tags instead of
in sea shanty by @jdx in 12e17f8
🛡️ Security
🔍 Other Changes
📦️ Dependency Updates
New Contributors