I built a tiny CLI so my AI coding tools stop forgetting everything
개요
개발자가 여러 AI 코딩 도구를 사용할 때 발생하는 반복적인 정보 전달 문제를 해결하기 위해, 여러 AI 도구가 공통으로 참조하는 단일 메모리 파일을 관리하는 CLI 도구인 Mythicator가 개발되었습니다.
주요 내용
* 문제점: Claude Code, Codex, Gemini CLI 등 서로 다른 AI 코딩 도구는 각각 독립적인 컨텍스트를 가지므로, 개발자가 특정 결정이나 정보를 한 도구에 설명해도 다른 도구에는 반영되지 않아 반복적으로 같은 내용을 설명해야 합니다.
* 해결책 (Mythicator): Mythicator는 각 코드 저장소(repo)별로 단일 메모리 파일을 유지하고, 이 메모리를 각 AI 도구가 사용하는 컨텍스트 파일(.md 등)에 자동으로 동기화하는 CLI 도구입니다.
* 동작 방식: mythicator init으로 초기화하고, mythicator add로 결정 사항, 거부된 접근 방식, 버그, 규칙, 메모 등을 이유 및 태그와 함께 추가합니다. mythicator sync 명령은 이러한 메모리를 각 AI 도구별 컨텍스트 파일에 특정 마커 블록(<!-- AGENT-MEMORY:START --> ~ <!-- AGENT-MEMORY:END -->) 안에 삽입하여, 수동으로 작성된 내용을 덮어쓰지 않고 동기화합니다.
* 핵심 기능: 벡터 검색이나 임베딩 없이 단순한 JSON 파일과 동기화 단계만으로 작동합니다.
* 기존 솔루션과의 차별점: Mem0, Zep 등 기존 AI 메모리 프레임워크는 런타임 시 에이전트가 사용할 장기 기억을 위해 복잡한 유사성 검색 기능을 제공하지만, Mythicator는 개발자가 여러 AI 도구 간에 동일한 몇 가지 결정을 공유하는 데 집중한 더 단순한 문제를 해결합니다.
* 구현 시 고려사항: 메모리 저장소는 ID 카운터를 사용한 JSON 파일이며, 가장 까다로운 부분은 수동 편집된 파일을 손상시키지 않는 동기화 로직입니다. 동기화는 정의된 마커 블록 내의 내용만 수정하며, 손상된 파일의 경우 경고 후 건너뜁니다.
* AI 활용 및 검증: Mythicator의 구현은 Codex를 사용하여 초안을 작성하고, 개발자가 직접 storage.ts와 sync.ts를 면밀히 검토했습니다. 특히 ID 충돌 문제와 마커 교체 로직의 안정성을 확인했습니다. Codex의 테스트 환경이 실제 npm 레지스트리에 접근할 수 없었기 때문에, 자체 환경에서 실제 npm 설치 및 전체 워크플로우를 검증했습니다.
* 현재 상태: Node.js, TypeScript 기반으로 Commander 라이브러리 하나만 의존하는 MIT 라이선스의 v1 버전입니다.
시사점
Mythicator는 여러 AI 코딩 도구를 사용하는 개발자에게 반복적인 정보 전달 부담을 줄여주어 생산성을 향상시킬 수 있는 실용적인 솔루션을 제공합니다.
댓글
GitHub Discussions