oh-my-harness - CLI générateur de hooks pour agents de code IA
(github.com/kyu1204)Bonjour. En utilisant Claude Code et Codex, trahi par les prompts (?), je suis en train de créer une CLI appelée oh-my-harness, un générateur de hooks.
Au début, j’ajoutais simplement des consignes comme celles-ci dans CLAUDE.md ou AGENTS.md.
Corrige d’abord les tests
Lance les tests avant de commit
Ne commit pas sur la branchemain
Ne touche pas ànode_modulesni àdist
Ne modifie pas.env
Mais à force de l’utiliser, la plupart de ces consignes finissaient presque toujours par être ignorées, et à un moment donné elles n’étaient plus respectées du tout.
En particulier, même si je demandais de développer en TDD, il pouvait répondre :
« Désolé, je n’ai pas corrigé les tests »
comme ça, ou bien,
alors que je lui avais demandé de vérifier si la branche avait déjà été fusionnée, après avoir poussé un commit il insistait en disant :
« Cette branche n’a pas encore été fusionnée »
(?).
C’est pour ça que j’ai créé oh-my-harness.
La CLI est fournie pour l’agent, et une TUI est aussi proposée pour les humains.
omh init "React app with TDD"
Ou bien
omh init
Dans ce cas, l’outil analyse le projet, crée un harness.yaml et, à partir de celui-ci, génère aussi bien CLAUDE.md pour Claude Code que AGENTS.md pour Codex, ainsi que la configuration des hooks pour chaque runtime.
Par exemple, pour l’instant il permet de bloquer ou de vérifier des choses comme :
- bloquer les tentatives de commit sur
mainou sur une branche déjà fusionnée - lancer les tests ou la vérification de types avant un commit
- empêcher, via les règles TDD, de modifier uniquement le code source sans avoir d’abord corrigé les tests
- protéger des fichiers/dossiers comme
node_modules,dist,.next,.env - filtrer les commandes shell dangereuses
Tout cela fonctionne à partir d’un ensemble de scripts shell préparés à l’avance, que j’appelle un catalogue.
omh init a pour rôle de sélectionner les catalogues appropriés à partir du langage naturel fourni en entrée.
Personnellement, en utilisant des outils de code IA, j’ai senti qu’au lieu de dire « je compte sur toi », il était bien plus important d’avoir des garde-fous capables d’arrêter immédiatement les erreurs.
Surtout à mesure que les agents modifient de plus en plus de fichiers et que le flux allant jusqu’au commit devient plus naturel, ce type de mécanisme me semble de plus en plus nécessaire.
———
Installation : npm install -g oh-my-harness
GitHub : https://github.com/kyu1204/oh-my-harness
npm : https://www.npmjs.com/package/oh-my-harness
C’est encore un projet très jeune, il lui manque beaucoup de choses.
N’hésitez pas à l’essayer et à me faire part de vos retours. Les contributions sont également les bienvenues !
Aucun commentaire pour le moment.