26 points par GN⁺ 2026-03-03 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • git-memento est un outil d’extension qui enregistre automatiquement dans les commits Git les sessions de code générées par l’IA, en stockant l’historique de chaque conversation IA associée à un commit dans des git notes
  • Lors du commit, si l’ID de session IA est indiqué, le résumé est stocké dans refs/notes/commits et la conversation complète dans refs/notes/memento-full-audit, séparément, afin d’assurer à la fois traçabilité et confidentialité
  • Il prend en charge divers fournisseurs d’IA comme Codex et Claude, et permet d’appliquer des skills personnalisés lors de la génération du résumé afin de contrôler la qualité des notes de commit
  • Intégré à GitHub Actions, il offre des fonctions de commentaires automatiques sur les notes de commit, de vérification par CI, et de transfert automatique des notes lors d’une fusion (merge-carry)
  • Compatible Windows/macOS/Linux. Un outil qui améliore la transparence de la génération de code par IA et garantit, en environnement collaboratif, la capacité d’audit des contributions de l’IA

Présentation de git-memento

  • git-memento est une extension Git qui enregistre les sessions de codage avec IA au niveau du commit
    • Au moment du commit, elle organise le contenu de la conversation de la session IA et l’enregistre sous forme de note Markdown
    • Elle laisse, pour chaque commit, la source et le contexte conversationnel de la session IA, ce qui permet de retracer le processus de génération du code
  • L’outil prend en charge Codex par défaut, et d’autres modèles d’IA comme Claude peuvent aussi être configurés
  • Il est publié sous licence MIT et distribué sous forme d’exécutable autonome basé sur NativeAOT

Principales commandes et fonctionnalités

  • git memento init initialise la configuration du dépôt et enregistre les informations du fournisseur d’IA dans .git/config
  • La commande git memento commit ajoute une note de session en même temps que le commit
    • Avec l’option --summary-skill, le résumé et la session complète sont stockés séparément
    • Le résumé est enregistré dans refs/notes/commits, et le journal complet dans refs/notes/memento-full-audit
  • git memento amend permet d’ajouter une nouvelle session à un commit existant ou de la modifier
  • git memento audit vérifie, sur une plage de commits, l’absence de notes manquantes et la validité des métadonnées
  • git memento doctor contrôle la configuration, les références de notes et l’état de synchronisation avec le dépôt distant

Gestion et synchronisation des notes

  • git memento share-notes pousse les notes vers un dépôt distant (origin, etc.)
  • git memento notes-sync fusionne en toute sécurité les notes distantes et crée des sauvegardes
    • Synchronise à la fois refs/notes/commits et refs/notes/memento-full-audit
  • git memento notes-carry transfère les notes vers un nouveau commit après un rebase ou un squash
  • git memento notes-rewrite-setup active la configuration de transfert automatique des notes

Intégration à GitHub Actions

  • Le dépôt inclut une GitHub Action réutilisable
    • mode: comment — lit les notes de commit pour rédiger automatiquement un commentaire
    • mode: gatevérifie en CI l’absence de notes manquantes et bloque le build en cas d’échec
    • mode: merge-carrytransfère les notes vers le commit de fusion lors de la fusion d’une PR
  • Chaque mode est défini dans action.yml, avec l’artefact destiné à la publication sur la Marketplace (dist/note-comment-renderer.js) inclus
  • Les PR portant le label ignore-notes ignorent la vérification gate et laissent un commentaire « Notes ignored »

Format des notes et gestion des versions

  • Les notes sont enregistrées au format git notes add -f -m ""
  • Des tags de version (``) et des séparateurs de section sont utilisés pour prendre en charge plusieurs sessions
  • Les messages utilisateur sont étiquetés avec le nom d’utilisateur Git, et les réponses de l’IA avec le nom du fournisseur
  • Les anciennes notes à session unique sont automatiquement mises à niveau si nécessaire afin de préserver la compatibilité

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.