1 points par kyu1204 20 시간 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

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 branche main
Ne touche pas à node_modules ni à 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 main ou 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.

Aucun commentaire pour le moment.