mm — 마크다운 메모리 및 워크플로우 시스템
요약
mm은 claude.ai, Claude Code, Obsidian 세 환경 간의 메모리 및 워크플로우 격차를 해소하는 파일 기반 시스템입니다. 이 도구는 프로젝트 아이디어와 계획을 공유 메모리로 저장하고, 클린한 프롬프트 브릿지를 제공하여 작업 연속성을 확보합니다. 모든 것이 마크다운과 로컬 파일에 의존하며 데이터베이스나 클라우드 종속성이 없습니다.
핵심 포인트
- claude.ai와 Claude Code 간의 컨텍스트 휘발성 문제를 해결함.
- Obsidian 볼트에 공유 메모리(마크다운)를 저장하여 장기 기억을 만듦.
- 프로젝트 시작, 재개, 세션 인계가 파일 기반으로 용이해짐.
- 데이터베이스나 클라우드에 의존하지 않는 순수 마크다운 워크플로우임.
mm — markdown memory & workflow system
**claude.ai (생각하는 곳) ↔ Claude Code (구축하는 곳) ↔ Obsidian (공유 장기 기억)**을 연결하는 파일 기반 메모리 및 프롬프트 브릿지입니다.
이게 뭔가요?
Claude로 작업할 때, 당신의 작업은 두 곳에 분산됩니다: claude.ai에서 아이디어를 스케치하고 계획을 세우고, 실제 작업은 터미널의 Claude Code에서 수행합니다. 이 두 측면은 메모리를 공유하지 않으며, 컨텍스트는 세션 간, 채팅 간, 그리고 컨텍스트 창이 압축될 때마다 휘발됩니다.
mm가 그 격차를 해소합니다. 이것은 Claude Agent Skills와 작은 PowerShell 설치 프로그램의 집합체로, 다음을 제공합니다:
- 모든 프로젝트에 대한 공유 메모리를 Obsidian 볼트에 일반 마크다운으로 저장 (여권, 인계, 세션 기록).
- claude.ai에서 나온 아이디어가 Claude Code에 붙여넣기 할 수 있는 깨끗하고 독립적인 작업이 되도록 하는 프롬프트 브릿지.
- 전체 기록을 매번 복사/붙여넣기할 필요 없이 프로젝트를 시작하고, 재개하고, 세션을 저장하고, 새 채팅으로 인계하는 간단한 라이프사이클.
모든 것이 마크다운과 파일로 이루어져 있습니다. 데이터베이스도 없고, 클라우드도 없고, 종속성(lock-in)도 없습니다.
작동 방식
mm은 마법이 아닌 파일을 통해 상태를 공유하는 세 가지 환경에 걸쳐 있습니다:
flowchart LR
A["claude.ai<br/>(아이디어, 계획)<br/>mm-web-bridge skill"]
B["Claude Code / PowerShell<br/>(실제 작업)<br/>12 skills"]
...```
- **claude.ai 측**은 단일 스킬(`mm-web-bridge`)입니다. 이 스킬은 아이디어를 검증하고, 빠르게 변화하는 기술을 실시간 웹과 비교하며, Claude Code에서 실행할 프롬프트를 구성합니다.
- **Claude Code 측**은 `mm` 디스패처와 11개의 `mm-*` 스킬로 구성되어 작업을 수행하고 볼트(vault)를 최신 상태로 유지합니다.
- **Obsidian**은 마크다운이 존재하는 폴더일 뿐입니다. Obsidian이 인덱싱을 담당하며, mm은 파일을 직접 읽고 씁니다.
---
## 빠른 시작 (Quick start)
### 필수 조건 (Prerequisites)
- [Claude Code](https://docs.claude.com/en/docs/claude-code) CLI
- Python 3 (macOS/Windows에서 기본 설치됨)
- Node.js (`npx` 설치 프로그램용 v16 이상)
- Obsidian 볼트 (어떤 폴더든 사용 가능하며, Obsidian 자체는 선택 사항이지만 권장됩니다)
### [NPM / npx 설치 (권장)](#npm-npx-installation)
**Windows, macOS, Linux** 전반에 걸쳐 전체 시스템을 설치하고 구성하는 가장 쉬운 방법은 `npx`를 사용하는 것입니다:
```bash
npx markdown-memory
이 단일 명령은 다음 작업을 수행합니다:
- 레포지토리를
~/.markdown-memory/에 복제합니다 (이미 복제된 경우 업데이트). - 쉘 프로필(
Mac/Linux의 .zshrc / .bashrc) 또는 Windows 레지스트리에MM_REPO_ROOT환경 변수를 설정합니다. - 모든 스킬을 자동으로 등록합니다 (Windows에서는 NTFS 접합(junction) 생성, macOS/Linux에서는 심볼릭 링크(symlinks) 생성). 이들은
~/.claude/skills/아래에 위치합니다.
언제든지 스킬과 코드베이스를 업데이트하려면, 단순히 다시 npx markdown-memory를 실행하거나 (또는 에이전트 세션 내에서 /mm update) 하면 됩니다!
수동 설치 (Manual Installation) (대안)
# 1. 레포지토리를 복제합니다
git clone https://github.com/mworldorg/markdown-memory.git
cd markdown-memory
...
설치 후 설정 (Post-Installation Setup)
- 개인화: Claude Code를 다시 시작합니다 (스킬은 세션 시작 시 로드됨). 그런 다음 설정 명령을 실행합니다:
/mm setup - 여권(Passport) 생성: 프로젝트 폴더로 이동하여 초기화합니다:
/mm new
claude.ai 측 연결 (Connect the claude.ai side)
- 작업에 필요한 프로젝트를 claude.ai에서 생성합니다.
- 프로젝트의
passport.md와handoff.md파일을 **프로젝트 지식(Project Knowledge)**에 추가합니다. - 해당 프로젝트에
mm-web-bridge스킬을 로드합니다 (claude.ai → Customize → Skills → Upload a skill)./mm setup명령 실행 후,claude-ai-skills/_generated/mm-web-bridge/에서 개인화된 사본을 업로드합니다. 커밋된claude-ai-skills/mm-web-bridge/는 플레이스홀더 페르소나를 가진 템플릿입니다. - 새 채팅의 첫 메시지:
"handoff.md와 passport.md를 읽고, 현재 상황을 알려주고 다음 단계를 제안해 주세요."
루프(The loop)
/mm resume → claude.ai에서 논의 → Claude Code에 프롬프트 붙여넣기 → /mm save → /mm next
GSD 프로젝트의 경우, /clear를 실행하기 전에 /mm gate을 실행하고 종료 코드 판결을 읽습니다. /clear 후에는 /gsd-resume-work로 작업 위치를 복원합니다. (/mm-focus는 2026-08-02에 폐지되었으며 — 스테이지 감지가 /gsd-resume-work를 중복하고 잘못된 파일을 조용히 로드했습니다.)
스킬(Skills)
Claude Code 측에는 12개의 스킬이 있고, claude.ai 측에는 1개가 있으며 — 외부 스킬은 번들링됩니다 ( Integrations 참조).
| 스킬 | 기능 |
|---|---|
mm | 디스패처(Dispatcher) — 아래 모든 항목에 대한 짧은 별칭 |
| ... |
MCP 도구(MCP-инструменты)
mm은 로컬 stdio MCP 서버(mm-mcp, TypeScript)를 제공하며, 이 서버는 두 가지 결정론적이고 읽기 전용의 도구를 로컬 에이전트(Claude Code / Desktop / Antigravity)에 노출합니다:
mm_secret_scan— 텍스트에서 기밀 정보(secrets)를 표준config/secret-patterns.json과 비교하여 스캔합니다. 클래스와 카운트만 반환하며, 원본 기밀 값은 절대 반환하지 않습니다.mm_health— mm 설치 상태에 대한 읽기 전용 건강 검사(설정, 접합점(junctions), vault-git, passport/gsd)를 수행합니다.checks[]+summary를 반환합니다.
빌드, 등록 (claude mcp add … mm-mcp …), 범위 및 테스트는 mcp/README.md를 참조하세요.
통합(Integrations)
mm은 여러 외부 도구 및 작업 흐름과 협력합니다. mm이 다른 사람의 프로젝트를 기반으로 구축되는 경우, 해당 프로젝트는 자체 라이선스와 출처 표기를 유지합니다.
- GSD — 단계별 계획 프레임워크입니다. mm은 GSD 상태(
.planning//.gsd/)를 읽고 이를 활용하며, 여기에 직접 쓰지는 않습니다. (가장 깊은 통합) - Karpathy 가이드라인 — Claude Code와 claude.ai 양쪽에 적용되는 네 가지 메타 원칙(코딩 전 생각하기, 단순성 우선, 수술적 변경, 목표 주도)입니다. MIT. (외부 Claude Code 플러그인 — 별도로 설치해야 하며, 아래 선택적 플러그인을 참조하세요)
- context-mode — 세션 내 컨텍스트 최적화 및 연속성입니다. mm과의 관계는 Memory layers를 참조하세요. Elastic License 2.0 (소스 사용 가능). (외부 Claude Code 플러그인 — 별도로 설치해야 하며, 아래 선택적 플러그인을 참조하세요)
- 프롬프트 프레임워크 —
mm-bridge가 사용하는 CRISPE / XML / PERSONA / HYPOTHESIS 템플릿입니다. awesome-claude-prompts에서 영감을 받았습니다. MIT. - claude-code-telegram — 선택적 Telegram 브리지로, 기본적으로 비활성화되어 있습니다. MIT.
- Telegram 통합 (UI/UX 및 세션) — Telegram 봇과 Telethon 프로젝트를 자동 감지하고, 안전한 세션 가이드라인 및 UI/UX 표준을 복사하며, 패스포트에 제약 조건을 주입하고,
/mm check(mm-doctor)를 통해 파이썬 코드베이스의 금지 위험 요소 및 UX 버그를 자동으로 검증합니다 (passport에서telegram_ui_ux: false로 비활성화 가능). docs/TELEGRAM-INTEGRATION.md를 참조하세요. (내장) - ECC — everything-claude-code —
vendor/디렉터리에 두 가지 스킬을 패키징합니다:ecc-security-review(마크다운 보안 체크리스트; 내장/security-review와 충돌 방지를 위해 이름 변경됨) 및ecc-search-first(코딩 전 리서치 워크플로우).
ECC의 나머지 부분(AgentShield, 플러그인, 훅 등 약 246개 스킬)은 포함되지 않습니다. MIT © Affaan Mustafa. (per-skill vendoring mechanism — vendor/README.md 참조)
두 가지 메모리 레이어
mm과 context-mode는 서로 다른 문제를 해결하며 중복되지 않습니다:
- context-mode: 단일 세션을 유지합니다. 이는 자동 압축(auto-compaction) 및
--resume시에도 Claude Code 내부에서 작업 상태를 재구축하여 살아남습니다. - mm: 장기 프로젝트 히스토리를 유지합니다. 이 결정, 인수인계(handoff), 세션 노트는 Obsidian 볼트 내에서 세션과 채팅을 넘나들며 지속됩니다.
두 가지 모두를 사용하면 context-mode가 이미 압축 처리를 하므로, mm은 이를 시도하지 않습니다.
선택적 플러그인
Karpathy 가이드라인 및 context-mode는 외부 Claude Code 플러그인입니다(이 리포지토리에 번들되지 않음). mm은 이들과 협력하지만 없어도 작동합니다. 설치 방법:
# Karpathy 코딩 가이드라인 (think-before-coding, 단순성, 수술적, 목표 지향)
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
...
메모리 동기화 (claude.ai Knowledge를 통해 git 사용)
Obsidian 프로젝트 메모리(여권, 인수인계, 세션)를 GitHub의 비공개 git 저장소를 통해 claude.ai 웹 인터페이스와 자동으로 동기화합니다. 설정 및 사용에 대한 전체 가이드는 docs/memory-sync.md를 참조하십시오.
크로스 플랫폼 지원
mm은 크로스 플랫폼입니다! Windows, macOS, Linux에서 완벽하게 지원됩니다:
- Windows: PowerShell의 경우
powershell scripts/register-skills.ps1을 사용하거나python3 scripts/register-skills.py를 사용합니다. - macOS / Linux:
python3 scripts/register-skills.py를 사용합니다 (이는~/.claude/skills에 심볼릭 링크를 설정하고 셸 프로필(.zshrc 또는 .bashrc와 같은)에서MM_REPO_ROOT를 내보냅니다).
선택적 Telegram 브리지를 위한 방법:
- Windows:
powershell scripts/install-tg-bridge.ps1을 사용합니다. - macOS / Linux:
python3 scripts/install-tg-bridge.py를 사용합니다.
규칙(Conventions)
- 개인 데이터는 커밋된 파일에 절대 저장되지 않습니다. 사용자 이름과 경로는
/mm setup을 통해 작성되는.gitignore처리된mm-config.local.json에 저장됩니다. 커밋되는 설정은 일반적인 템플릿으로 유지됩니다. - 버전에 대한 단일 진실 공급원 —
config.version. 스킬별version:필드는 의도적으로 세분화되어 있습니다. - 스킬이 작성하기 전에 미리보기를 제공하며, GSD의
.planning/또는.gsd/디렉토리에 절대 쓰지 않습니다.
문서(Documentation)
passport.md— 프로젝트별 진실 공급원 (아키텍처, 컨벤션, 제약 조건)docs/memory-sync.md— Git을 통해 claude.ai Project Knowledge와 자동 메모리 동기화를 설정하는 단계별 가이드 (권장)docs/MCP-INTEGRATION.md— Model Context Protocol (MCP)을 통해 Obsidian Vault를 연결하는 단계별 가이드 (권장)docs/TELEGRAM-INTEGRATION.md— Telegram 기반 프로젝트의 세션 안전 규칙 및 UI/UX 디자인 표준 자동 통합 가이드 (권장)docs/— 심층 가이드 (Telegram 브릿지, 설정 로딩 등)
기여(Contributing)
Issue와 PR을 환영합니다. 새로운 스킬은 YAML 프론트매터와 함께 skills/your-skill/SKILL.md에 추가하고, claude.ai 스킬은 claude-ai-skills/에 추가합니다 (이들은 Claude Code로 병합되지 않습니다).
라이선스(License)
MIT — LICENSE 참조. 통합된 프로젝트는 자체 라이선스를 유지합니다 (참조: Integrations).
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 GitHub · 56f849f9의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기