- 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: gate — vérifie en CI l’absence de notes manquantes et bloque le build en cas d’échec
mode: merge-carry — transfè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.