CLI

Command Line Interface

터미널에서 Markdown을 게시합니다. stdin 파이프, tmux 캡처, 문서 관리를 지원합니다.

설치

bash
npm install -g memory-wiki-cli

Node.js 18 이상이 필요합니다. 설치 후 Memory.Wiki 명령어를 사용할 수 있습니다.

명령어

mw publish <file>Markdown 파일 또는 stdin을 Memory.Wiki에 게시합니다.
Memory.Wiki update <id> <file>기존 문서를 새 내용으로 업데이트합니다.
Memory.Wiki pull <id>문서의 Markdown 내용을 다운로드합니다.
Memory.Wiki delete <id>문서를 소프트 삭제합니다.
Memory.Wiki list내 모든 문서를 조회합니다.
Memory.Wiki open <id>브라우저에서 문서를 엽니다.
Memory.Wiki capture현재 tmux 패널을 캡처하여 게시합니다.
Memory.Wiki loginMemory.Wiki에 인증합니다.
Memory.Wiki logout저장된 인증 정보를 삭제합니다.
Memory.Wiki whoami현재 인증된 사용자를 표시합니다.

publish

파일 또는 stdin을 게시합니다. 문서 URL을 반환합니다.

bash
# 파일 게시
mw publish README.md

# stdin에서 게시
echo "# Hello World" | mw publish

# 임시 저장으로 게시
mw publish README.md --draft

# 제목 지정
mw publish README.md --title "My Document"

# 비밀번호 설정
mw publish README.md --password "secret"

# 만료 시간 설정
mw publish README.md --expires 7d

옵션

--draft, -d임시 저장으로 게시합니다 (본인만 볼 수 있음).
--title, -t문서 제목을 설정합니다.
--password, -p문서를 비밀번호로 보호합니다.
--expires, -e만료 시간 설정: 1h, 1d, 7d, 30d.
--open, -o게시 후 브라우저에서 엽니다.

update

기존 문서를 업데이트합니다. edit token은 최초 게시 시 자동으로 저장됩니다.

bash
# 파일로 업데이트
Memory.Wiki update abc123 README.md

# stdin으로 업데이트
echo "# Updated" | mw update abc123

# 버전 노트와 함께 업데이트
Memory.Wiki update abc123 README.md --message "Fixed typos"

pull

문서의 Markdown 내용을 다운로드합니다.

bash
# stdout으로 출력
Memory.Wiki pull abc123

# 파일로 저장
Memory.Wiki pull abc123 -o output.md

# 비밀번호 보호 문서 다운로드
Memory.Wiki pull abc123 --password "secret"

delete

bash
Memory.Wiki delete abc123

# 확인 건너뛰기
Memory.Wiki delete abc123 --yes

list

bash
Memory.Wiki list

# Output:
#  ID       TITLE              UPDATED         STATUS
#  abc123   My Document        2 hours ago     published
#  def456   Draft Note         5 minutes ago   draft

open

bash
Memory.Wiki open abc123
# Opens https://memory.wiki/abc123 in your default browser

capture

현재 tmux 패널의 출력을 캡처하여 코드 블록으로 게시합니다.

bash
# 현재 패널 캡처
Memory.Wiki capture

# 특정 패널 캡처
Memory.Wiki capture -t %3

# 마지막 N줄 캡처
Memory.Wiki capture --lines 50

인증

bash
# 인증 (브라우저에서 OAuth 진행)
Memory.Wiki login

# 저장된 인증 정보 삭제
Memory.Wiki logout

# 현재 사용자 확인
Memory.Wiki whoami
# user@example.com (authenticated via OAuth)

인증은 선택 사항입니다. 로그인 없이도 문서는 edit token 기반의 익명 문서로 생성됩니다. 로그인하면 Memory.Wiki list와 계정 기반 소유권을 사용할 수 있습니다.

파이프 예시

bash
# 클립보드를 Memory.Wiki로
pbpaste | mw publish

# 명령어 출력
ls -la | mw publish

# 파일 내용
cat report.md | mw publish

# AI로 생성 후 바로 게시
claude "Write a guide to Rust" | mw publish

# Git diff
git diff | mw publish --title "Changes"

# Docker 로그
docker logs my-app 2>&1 | mw publish

# 여러 명령어 파이프
curl -s https://api.example.com/data | jq . | mw publish

tmux 연동

bash
# 현재 패널 캡처
tmux capture-pane -p | mw publish

# 단축키로 캡처 및 공유
# ~/.tmux.conf에 추가:
bind-key M run-shell "tmux capture-pane -p | mw publish"

# 특정 패널 캡처
tmux capture-pane -t %3 -p | mw publish

# 전체 스크롤백 캡처
tmux capture-pane -p -S - | mw publish

Shell Aliases

bash
# ~/.zshrc 또는 ~/.bashrc에 추가

# 빠른 게시
alias mp="Memory.Wiki publish"

# 클립보드 게시
alias mpc="pbpaste | mw publish"

# 게시 후 브라우저 열기
alias mpo="mw publish --open"

# tmux 캡처
alias mtx="tmux capture-pane -p | mw publish"

설정

환경 변수

MDFY_URLAPI Base URL. 기본값: https://memory.wiki

설정 파일

인증 정보는 Memory.Wiki login~/.memory.wiki/config.json에 저장됩니다. 게시된 문서의 edit token은 ~/.memory.wiki/tokens.json에 저장됩니다.

json
// ~/.memory.wiki/config.json
{
  "apiUrl": "https://memory.wiki",
  "email": "user@example.com",
  "token": "..."
}