- git-memento는 AI가 생성한 코드 세션을 Git 커밋에 자동으로 기록하는 확장 도구로, 각 커밋에 대응하는 AI 대화 내역을 git notes로 저장함
- 커밋 시 AI 세션 ID를 지정하면, 요약본은
refs/notes/commits, 전체 대화는refs/notes/memento-full-audit에 분리 저장되어 추적성과 프라이버시를 동시에 확보함 - Codex와 Claude 등 다양한 AI 제공자를 지원하며, 요약 생성 시 사용자 정의 스킬을 적용해 커밋 노트의 품질을 제어할 수 있음
- GitHub Actions와 통합되어, 커밋 노트 자동 코멘트, CI 게이트 검증, 병합 시 노트 자동 이관(merge-carry) 기능을 제공함
- 윈도우/맥/리눅스 지원. AI 코드 생성의 투명성을 높이고, 협업 환경에서 AI 기여 내역의 감사(audit) 가능성을 확보하는 도구
git-memento 개요
-
git-memento는 AI 코딩 세션을 커밋 단위로 기록하는 Git 확장 도구- 커밋 시 AI 세션의 대화 내용을 정리해 마크다운 노트로 저장
- 각 커밋에 AI 세션의 출처와 대화 맥락을 남겨 코드 생성 과정을 추적 가능
- 기본적으로 Codex를 지원하며, Claude 등 다른 AI 모델도 설정 가능
- MIT 라이선스로 공개되어 있으며, NativeAOT 기반 단일 실행 파일로 배포
주요 명령어 및 기능
-
git memento init으로 저장소별 설정을 초기화하고, AI 제공자 정보를.git/config에 저장 -
git memento commit명령으로 커밋과 동시에 세션 노트를 추가-
--summary-skill옵션을 사용하면 요약본과 전체 세션을 분리 저장 - 요약본은
refs/notes/commits, 전체 로그는refs/notes/memento-full-audit에 기록
-
-
git memento amend는 기존 커밋에 새로운 세션을 추가하거나 수정 가능 -
git memento audit은 커밋 범위 내 노트 누락 여부와 메타데이터 유효성을 검사 -
git memento doctor는 설정, 노트 참조, 원격 동기화 상태를 점검
노트 관리 및 동기화
-
git memento share-notes로 원격 저장소(origin등)에 노트를 푸시 -
git memento notes-sync는 원격 노트를 안전하게 병합하고 백업 생성-
refs/notes/commits와refs/notes/memento-full-audit모두 동기화
-
-
git memento notes-carry는 리베이스나 스쿼시 후 새 커밋으로 노트를 이관 -
git memento notes-rewrite-setup은 자동 노트 이관 설정을 활성화
GitHub Actions 통합
- 저장소에는 재사용 가능한 GitHub Action이 포함되어 있음
-
mode: comment— 커밋 노트를 읽어 자동 코멘트 작성 -
mode: gate— CI 단계에서 노트 누락 여부 검사, 실패 시 빌드 차단 -
mode: merge-carry— PR 병합 시 노트를 병합 커밋으로 이관
-
- 각 모드는
action.yml로 정의되어 있으며, 마켓플레이스 등록용 아티팩트(dist/note-comment-renderer.js) 포함 -
ignore-notes라벨이 붙은 PR은 게이트 검사를 건너뛰고 “Notes ignored” 코멘트를 남김
노트 포맷 및 버전 관리
- 노트는
git notes add -f -m ""형식으로 저장 - 다중 세션 지원을 위해 버전 태그(``)와 구간 구분자 사용
- 사용자 메시지는 Git 사용자명, AI 응답은 제공자명으로 라벨링
- 기존 단일 세션 노트는 필요 시 자동 업그레이드되어 호환성 유지