AI 작업을 하다 보니 마크다운 파일이 자꾸 쌓인다. 메모, README, 스크립트 설명서 같은 .md 파일들. 그걸 확인할 때마다 브라우저를 열거나 다른 서비스에 붙여넣는 게 반복되니 번거로워 보였을 거다. 한 개발자가 느낀 불편함이 결국 터미널 기반 마크다운 에디터라는 도구로 나타났다.
mdok-cli라고 부르는 이 도구는 마크다운 OK의 줄임말. 노드(Node.js)와 npm이 있으면 글로벌로 설치해 바로 쓸 수 있다.
npm install -g @***/mdok
mdok 파일명.md # 파일 열기
mdok # 마지막 세션 이어서 열기
mdok view 파일명.md # 터미널 출력 전용
실행하면 왼쪽 사이드바에 파일 목록과 목차가 나타난다. 사이드바는 닫을 수 있어서 화면을 넓게 써야 할 때 숨겨두면 된다. 여러 탭을 동시에 열 수 있고, 종료 후 다시 실행하면 이전에 열었던 탭과 커서 위치가 그대로 살아난다. 세션이 자동 복원되는 것.
마크다운을 편집할 때 세 가지 화면 모드를 오갈 수 있다. 분할 편집 모드는 왼쪽에서 소스를 수정하면 오른쪽 미리보기가 실시간으로 따라온다. 터미널에서 마크다운을 그냥 읽을 때는 렌더링 결과만 깔끔하게 보는 읽기 모드를 쓸 수 있다. 소스만 집중해서 보고 싶으면 편집 모드를 넓게 써도 된다.
기존 마크다운 도구와 다른 점들이 몇 가지 있다. 터미널에서 한글 문서를 편집할 때 커서가 한 칸씩 밀리는 현상이 있는데, 이걸 문자 표시 폭 기준으로 다시 계산해 처리한 것으로 알려져 있다. 그래서 한글·한자·이모지를 섞어 쓸 때 커서가 정확하게 움직이는 것으로 전해진다.
찾기와 바꾸기 기능, 마크다운 린트, 표 자동 정렬, HTML로 내보내기 등이 들어 있다. 테마 5종, 줄번호 표시, 기본적인 Vim 모드 지원도 포함되어 있다. 파일을 저장할 때 원자적 기록(atomic write) 방식을 써서 저장 중에 시스템 오류가 발생해도 데이터가 손상되지 않게 설계했다고 한다.
Git 저장소 안에서 이 도구를 쓰면 파일을 저장할 때마다 자동으로 커밋이 만들어진다. 별도 패널에서 푸시·풀·수동 커밋을 관리할 수 있고, Git을 쓰고 싶지 않으면 기능을 비활성화할 수 있다.
AI 기능은 BYOK(Bring Your Own Key) 방식으로 되어 있다. API 키를 프로그램에 미리 담아두는 게 아니라 사용자가 환경변수로 직접 넣는 방식인 것으로 보인다. 민감한 문서가 외부로 나가는 걸 막기 위한 설계로 보인다.
export MDOK_API_KEY=sk-...
mdok ask 파일명.md -q "이 문서를 3줄로 요약해줄래?"
TUI 안에서도 열린 문서에 질문을 던지거나, 선택한 영역을 AI로 다시 써달라고 요청할 수 있다. 변경 전후 diff를 확인하고 적용할지 말지 선택할 수 있어서, 예상치 못한 변경을 막을 수 있다. OpenAI 호환 API 주소와 모델을 설정할 수 있으니 다른 호환 엔드포인트나 로컬 서버에도 연결 가능한 것으로 전해진다.
mdok view 명령은 TUI를 띄우지 않고 마크다운을 터미널 출력용으로 렌더링하기만 한다. 파이프에 연결해서 쓰거나, SSH로 접속한 원격 서버에서 README나 작업 메모를 빠르게 확인할 때 쓸 수 있다는 점에서 실용성이 있어 보인다.
MIT 라이선스로 공개되어 있어서 무료고, 코드를 수정해서 쓰거나 자신의 프로젝트에 포크할 수도 있다. Node.js 22 이상이 필요하고, 현재 0.x 버전이라 기능과 UI가 계속 다듬어지고 있다는 상태다. 개발자는 향후 맥·윈도우·리눅스용 데스크톱 GUI 버전도 만들 계획이라고 언급한 것으로 전해진다.
터미널에서 마크다운을 많이 다루는 개발자나 시스템 관리자라면 한 번 써볼 만하다는 반응이 나올 가능성이 있다. 키 조작이나 미리보기 쪽에서 불편한 점이 생기면 피드백을 주면 반영될 수 있을 것으로 보인다.
📌 원문 발췌
AI작업 많이 하다보니까. 마크다운(.md) 파일이 자꾸 쌓이더라구요. 그래서 TUI로 에디터를 만들어서 쓸만한 거 같아 공유드립니다.
원본 출처: 클리앙 모두의공원