macOS
brew install hklocal Homebrew formula metadata
sudo port install hkMacPorts ports tree · devel/hk/Portfile · source: api.github.com
brew
Git hook and pre-commit lint manager. Version 1.50.0 via Homebrew; verified 2026-07-07.
install
brew install hklocal Homebrew formula metadata
sudo port install hkMacPorts ports tree · devel/hk/Portfile · source: api.github.com
scoop install main/hkScoop official bucket manifest trees · bucket/hk.json · source: api.github.com
overview
Git hook and pre-commit lint manager
history
hk is a Rust git-hook manager and project lint runner by jdx, designed around fast hook execution, tighter linter integration, and safe parallelism through read/write file locking.
The official README describes hk as a git hook manager and project linting tool with an emphasis on performance. Its About page explains the motivation: git hooks need to be fast or developers stop using them, and naive parallel execution can break when multiple formatters or linters modify the same files.
hk's configuration model uses Apple's Pkl language through hk.pkl files. The configuration documentation describes layered sources, including built-in defaults, user-level hkrc, project config, Git config, environment variables, and CLI flags.
hk is a young tool in the git-hook manager space. The GitHub repository was created in January 2025, early GitHub releases began in March 2025, and the documentation quickly oriented around global Git hook installation, per-project hk.pkl files, and integration with mise-en-place.
The input package facts show packaging through Homebrew, MacPorts, and Scoop, which is a practical footprint for a developer CLI aimed at local workstations rather than servers.
The intended workflow is to install hooks globally or per repository, run hk init to create hk.pkl, and then let Git events run configured lint and fix steps. hk check and hk fix provide explicit command-line entry points for running checks outside Git hooks.
The configuration docs emphasize precedence and local overrides: hk.local.pkl is for local changes that should not be committed, while ~/.config/hk/config.pkl can hold user-wide defaults.
hk matters to package nerds because it is part of the newer wave of developer workflow CLIs that try to make local checks fast enough to keep enabled. Its differentiator is not another hook file format by itself, but the combination of Pkl configuration, built-in linter definitions, libgit2 usage, mise integration, and locking around file modification.
It also reflects a packaging trend: single-purpose Rust CLIs distributed through Homebrew, Scoop, MacPorts, and direct release binaries for developers who want one binary in their path.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
hk.local.pkl.config/hk.local.pklhk.pkl.config/hk.pkl~/.config/hk/config.pklexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
generate-docs | cli | global executable | |
hk | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:hk |
|---|---|
| Version | 1.50.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/hk |
| Homepage | https://hk.jdx.dev |
| Repository | https://github.com/jdx/hk |
| Upstream docs | https://hk.jdx.dev/ |
| License | MIT |
| Source archive | https://github.com/jdx/hk.git |
| Last updated | 2026-07-07T02:25:20Z |
| Pulse | updated |
| Dependencies | openssl@3, pkl, usage |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | hk |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
hk
sudo port install hkmain/hk
scoop install main/hksource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.