CLI

Command Line Interface

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

설치

bash
npm install -g memory-wiki-cli

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

명령어

mw publish <file>Markdown 파일 또는 stdin을 memory.wiki에 게시합니다.
mw update <id> <file>기존 문서를 새 내용으로 업데이트합니다.
mw pull <id>문서의 Markdown 내용을 다운로드합니다.
mw delete <id>문서를 소프트 삭제합니다.
mw list내 모든 문서를 조회합니다.
mw open <id>브라우저에서 문서를 엽니다.
mw capture현재 tmux 패널을 캡처하여 게시합니다.
mw loginmemory.wiki에 인증합니다.
mw logout저장된 인증 정보를 삭제합니다.
mw 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
# 파일로 업데이트
mw update abc123 README.md

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

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

pull

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

bash
# stdout으로 출력
mw pull abc123

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

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

delete

bash
mw delete abc123

# Skip confirmation
mw delete abc123 --yes

list

bash
mw list

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

open

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

capture

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

bash
# 현재 패널 캡처
mw capture

# 특정 패널 캡처
mw capture -t %3

# 마지막 N줄 캡처
mw capture --lines 50

인증

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

# 저장된 인증 정보 삭제
mw logout

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

인증은 선택 사항입니다. 로그인 없이도 문서는 edit token 기반의 익명 문서로 생성됩니다. 로그인하면 mw 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="mw 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
설정 파일

인증 정보는 mw 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": "..."
}