Un nouvel outil open source nommé hk fait son apparition dans l’écosystème des développeurs. Ce gestionnaire de hooks Git se positionne comme une alternative rapide, puissante et flexible pour automatiser les vérifications avant chaque commit ou push.

Des fonctionnalités pensées pour les équipes

Selon sa documentation officielle, hk se distingue par plusieurs atouts. Il est décrit comme « propre, efficace et conçu pour la performance » ("clean, efficient, and built to perform"). L’outil permet de sécuriser les modifications indexées (staged changes) tout en laissant les modifications non indexées intactes, une fonctionnalité baptisée « batten down the hatches ».

hk propose également une « boîte à outils bien garnie » ("tackle box") comprenant des linters et des formateurs préconfigurés. Sa configuration est présentée comme « type-safe et lisible », facilitant la lecture et la maintenance des fichiers de réglages.

Intégration avec les outils existants

L’une des promesses de hk est son interopérabilité avec les environnements de développement. Il s’intègre notamment avec mise-en-place (mise), un gestionnaire de versions et d’outils, via la commande « mise use hk ». Cette intégration est présentée comme un avantage pour les équipes qui souhaitent centraliser leurs dépendances.

L’outil gère aussi le verrouillage des fichiers ("smart file locking"), ce qui permet à plusieurs membres d’une même équipe de travailler simultanément sans conflit.

Un format de configuration moderne

Pour décrire les hooks, hk utilise un format de configuration basé sur pkl (Apple's configuration language), ce qui offre des garanties de typage et une meilleure expérience développeur. La documentation inclut une introduction à pkl pour faciliter la prise en main.

Hooks pris en charge

Le gestionnaire prend en charge une large gamme de hooks Git : pre-commit, commit-msg, post-checkout, post-commit, post-merge, post-rewrite, pre-push, pre-rebase, prepare-commit-msg, entre autres. Chaque hook peut être exécuté individuellement via des commandes dédiée (par exemple « hk run pre-commit »).

Licence et maintenance

Le projet est distribué sous licence MIT et maintenu par jdx, avec l’aide de contributeurs listés sur le dépôt GitHub officiel. Une communauté Discord est également accessible pour les discussions et le support.

Installation rapide

L’installation peut se faire via un script en une ligne, ou par l’intermédiaire de gestionnaires de paquets comme mise. La documentation fournit également des instructions pour l’initialisation dans un projet existant.

Benchmarks et performances

Bien qu’il soit encore récent, hk met en avant des benchmarks sur son site, comparant ses performances à d’autres gestionnaires de hooks. Ces informations sont disponibles dans une section dédiée.

Un outil pensé pour la productivité

Avec sa philosophie de simplicité et d’efficacité, hk entend réduire les frictions dans les workflows de développement. La fonction de migration depuis pre-commit est également proposée, facilitant la transition pour les équipes qui utilisent déjà un autre gestionnaire.

En résumé, hk se présente comme un gestionnaire de hooks Git moderne, offrant une configuration rigoureuse, des linters intégrés et une bonne intégration avec les outils existants. Les équipes de développement à la recherche d’une alternative performante pourront l’évaluer dans leurs projets.