Context Gateway
Context Gateway는 런타임별 에이전트 파일을 하나의 정규 .memtomem/ 소스에서 동기화합니다. 여러 AI 런타임을 함께 쓰거나, 같은 스킬/커맨드 세트를 모든 체크아웃에서 사용하고 싶을 때 유용합니다.
해결하는 문제
섹션 제목: “해결하는 문제”AI 런타임마다 컨텍스트 파일 위치와 포맷이 다릅니다:
| 런타임 | 예시 런타임 파일 |
|---|---|
| Claude Code | .claude/agents/*.md, .claude/skills/*/SKILL.md, .claude/commands/*.md |
| Codex CLI | .agents/agents/*.toml, .agents/skills/*/SKILL.md |
| Gemini CLI | .gemini/agents/*.md, .gemini/skills/*/SKILL.md, .gemini/commands/*.toml |
| Cursor / Windsurf / Claude Desktop | 런타임별 에이전트 정의 위치가 다름 |
정규 계층이 없으면 각 런타임 복사본이 쉽게 어긋납니다. Context Gateway를 사용하면 정규 파일을 수정하고 바깥 런타임 경로로 동기화합니다.
첫 워크플로우
섹션 제목: “첫 워크플로우”프로젝트 루트에서 실행합니다:
mm context detectmm context init --scope project_shared --confirm-project-sharedmm context sync --scope project_sharedmm context diff --scope project_shared각 명령의 역할:
| 명령 | 목적 |
|---|---|
detect | memtomem이 볼 수 있는 기존 런타임 파일 표시 |
init | .memtomem/ 아래 정규 파일 생성 |
sync | 정규 파일을 런타임별 경로로 fan-out |
diff | 정규 파일과 런타임 복사본의 동기화 상태 확인 |
정규 티어
섹션 제목: “정규 티어”Context Gateway는 기억 쓰기와 같은 세 가지 티어 이름을 사용합니다:
| 티어 | 정규 위치 | 적합한 용도 | 런타임 fan-out |
|---|---|---|---|
user | ~/.memtomem/<artifact>/... | 여러 프로젝트에서 재사용하는 개인 에이전트, 스킬, 커맨드 | 사용자 런타임 경로 |
project_shared | <project>/.memtomem/<artifact>/... | git에 커밋할 팀 공유 프로젝트 컨텍스트 | 프로젝트 런타임 경로 |
project_local | <project>/.memtomem/<artifact>.local/... | 한 체크아웃에서만 쓰는 비공개 초안 | 에이전트, 스킬, 커맨드는 fan-out 없음 |
project_shared는 “git으로 추적됨”을 뜻합니다. 비밀값, 인증정보, 개인 초안, 검토 전 프롬프트는 넣지 마세요. 로컬에만 남겨야 하는 내용은 user 또는 project_local을 사용합니다.
자주 쓰는 레시피
섹션 제목: “자주 쓰는 레시피”프로젝트 에이전트를 팀과 공유
섹션 제목: “프로젝트 에이전트를 팀과 공유”mm context init --include agents --scope project_shared --confirm-project-sharedmm context sync --include agents --scope project_shared생성된 .memtomem/agents/ 파일은 검토 후 커밋합니다.
개인 스킬을 여러 프로젝트에서 사용
섹션 제목: “개인 스킬을 여러 프로젝트에서 사용”mm context init --include skills --scope usermm context sync --include skills --scope user정규 스킬은 ~/.memtomem/skills/ 아래에 저장되고, 지원되는 사용자 런타임 경로로 fan-out됩니다.
공유 전 로컬에서 초안 작성
섹션 제목: “공유 전 로컬에서 초안 작성”mm context init --include agents --scope project_localmm context diff --include agents --scope project_localproject_local 정규 파일은 gitignored이며 에이전트 / 스킬 / 커맨드 런타임 경로로 fan-out되지 않습니다. 준비가 끝나면 파일을 project_shared로 승격한 뒤 mm context sync --scope project_shared를 실행합니다.
기존 런타임 파일에서 정규 파일 시드
섹션 제목: “기존 런타임 파일에서 정규 파일 시드”이미 특정 런타임에서 직접 작성한 에이전트나 스킬이 있다면 대상 티어를 지정해 init을 실행합니다. init은 정규 파일을 만들고, 감지된 런타임 파일을 가능한 경우 가져옵니다:
mm context detect --include agents,skillsmm context init --include agents,skills --scope project_shared --confirm-project-sharedmm context diff --include agents,skills --scope project_shared커밋 전에 생성된 정규 파일을 검토하세요.
동기화 방식
섹션 제목: “동기화 방식”.memtomem/ # 정규 소스├── agents/├── skills/└── commands/
mm context sync
.claude/ # Claude Code 런타임 파일.agents/ # Codex 호환 런타임 파일.gemini/ # Gemini 런타임 파일sync는 정규 파일에서 런타임 파일로 가는 단방향 변환입니다. 기존 런타임 파일에서 정규 파일을 시드하려면 mm context init에 --include를 함께 사용합니다.
대상 런타임이 어떤 필드를 정확히 표현할 수 없으면 memtomem은 손실 정도를 분류합니다:
| 심각도 | 동작 |
|---|---|
ignore | 지원하지 않는 필드를 건너뜀 |
warn | 경고 출력 후 계속 |
error | 변환 중단 |
Web UI
섹션 제목: “Web UI”mm web --openSettings -> Context Gateway에서 프로젝트 선택, 티어 배지, 런타임 감지, 동기화 상태, 아티팩트별 상세 정보를 브라우저에서 확인할 수 있습니다.
다음 단계
섹션 제목: “다음 단계”- CLI 레퍼런스 — 전체
mm context명령 목록 - MCP 도구 —
mem_do를 통한 context 액션 - 멀티 에이전트 협업 — 여러 에이전트를 위한 기억 네임스페이스