MarsDawn

명령줄

무료 marsdawn 명령줄 도구입니다. 셸이나 LLM 에이전트에서 Markdown을 PDF로 내보내고, MarsDawn 앱이 설치되어 있으면 앱에서 파일을 열 수 있습니다.

marsdawn은 무료이며 Mac App Store와 별도로 배포됩니다. Homebrew로 설치하세요. Apple 실리콘 Mac에서는 바로 실행할 수 있는 상태로 설치됩니다. export는 단독으로 작동하고, open은 MarsDawn 앱이 필요합니다.

AI 에이전트나 스크립트에서 marsdawn을 호출하나요? JSON 출력과 스키마, 모든 종료 코드는 에이전트를 위한 marsdawn에서, 에이전트가 MCP로 도구를 호출한다면 MCP 서버에서 확인하세요.

설치

Homebrew를 사용하는 경우:

brew tap redtear1115/tap && brew install marsdawn

코딩 에이전트를 쓰고 있나요? marsdawn skill --install을 실행해 marsdawn 스킬을 추가하세요. 파일 하나로, 에이전트가 자기가 쓴 것을 MarsDawn에서 열어 검토를 받고 PDF로 내보내는 법을 익힙니다.

Apple 실리콘 Mac에서는 Homebrew가 미리 빌드된 버전을 몇 초 만에 설치하며, 따로 설치할 것이 없습니다. Intel Mac에서는 대신 소스에서 marsdawn을 빌드하므로 몇 분이 걸리고 Xcode 26 이상(Swift 6.2)이 필요합니다. 이 도구는 macOS 15 이상에서 실행됩니다.

또는 Swift Package Manager로 소스에서 빌드하세요.

git clone https://github.com/redtear1115/mars-dawn-kit.git
cd mars-dawn-kit
swift build -c release --product marsdawn

설치된 버전은 marsdawn --version으로 확인할 수 있습니다.

명령

marsdawn open

Markdown 파일 하나 이상을 MarsDawn 앱에서 열어 검토할 수 있게 합니다. 앱이 설치되어 있어야 합니다. 앱이 없으면 marsdawn open은 코드 3으로 종료하며 MarsDawn이 설치되어 있지 않다고 알립니다. export는 앱이 필요 없습니다. 앱은 Mac App Store에 있습니다.

marsdawn open notes.md
marsdawn open notes.md:120
marsdawn open notes.md --line 120
marsdawn open .
marsdawn open notes.md --folder .

줄 지정은 marsdawn 0.3.0에서, 폴더와 --background는 0.5.1에서, --wait와 폴더 상태는 0.5.3에서 추가되었습니다.

marsdawn export

MarsDawn 자체의 PDF 내보내기와 같은 엔진으로 Markdown 파일을 페이지가 나뉜 PDF로 렌더링합니다. MarsDawn 앱은 필요 없습니다. 상대 경로의 이미지는 입력 파일이 있는 폴더를 기준으로 찾습니다.

marsdawn export notes.md -o notes.pdf --theme classic --paper a4

--breaks는 marsdawn 0.7.0에서, --layout과 --toc-title은 0.7.1에서, handbook 값은 0.7.2에서 추가되었습니다. 0.7.1의 이전 값 manual도 계속 쓸 수 있습니다.

marsdawn theme

테마 파일(theme.json)을 공유하기 전에 확인하고, 어떻게 보이는지 살펴봅니다. MarsDawn 앱은 필요 없습니다. 테마의 항목은 에이전트와 함께 테마 만들기를 참고하세요.

marsdawn theme validate my-theme.json
marsdawn theme css my-theme.json
marsdawn theme preview my-theme.json --appearance dark -o preview.png

theme 명령은 marsdawn 0.6.1에서 추가되었습니다.

$MARSDAWN_THEME 변수

--theme를 주지 않으면 export는 $MARSDAWN_THEME 환경 변수를 읽습니다. 값은 dawn, classic, modern, vivid 중 하나여야 하며, 그 밖의 값은 dawn으로 처리됩니다. 다른 앱의 컨테이너를 읽으면 macOS 개인정보 보호 확인 창이 뜰 수 있기 때문에, CLI는 앱 자체의 테마 설정을 읽지 않습니다.

파일 덮어쓰기

export는 --force를 주지 않는 한 기존 출력 파일을 바꾸지 않습니다.

종료 코드

코드의미해결 방법
0성공.--json을 줬다면 stdout의 JSON 한 줄을 읽으세요
2입력을 찾을 수 없음.경로와 파일 이름을 확인하세요
3MarsDawn이 설치되어 있지 않음(open만 해당).앱을 설치하거나, 앱이 필요 없는 export를 쓰세요
4출력 파일이 이미 있음(--force를 주세요).--force로 바꾸거나, -o로 다른 곳에 쓰세요
5내보내기 실패.JSON 결과의 message를 읽으세요
6이 MarsDawn은 폴더를 보여줄 수 없어 아무것도 열지 않았음(open만 해당).
64사용법 오류. 범위를 벗어난 줄 번호, 파일 둘 이상이나 폴더와 함께 쓴 --line, 폴더 둘 이상 등이 포함됩니다.옵션이나 값을 고치세요. 이 오류는 --json을 줘도 stderr에 텍스트로 나옵니다

--json 출력

성공하면 marsdawn open --json은 ok, opened(각 파일의 path와, 줄을 요청한 경우 line이 담긴 목록), app(앱 경로), 그리고 폴더를 준 경우 folder를 출력합니다. marsdawn export --json은 ok, output, pages, theme, paper, diagramErrors를 출력합니다. 실패하면 둘 다 ok, error, message를 출력합니다.