사실 그냥 mermaid-ascii를 WASM으로 번들링해도 됐을 듯함
주요 알고리즘은 거의 1:1 변환이라, Claude가 TS로 포팅하는 데 한 시간도 안 걸렸을 것 같음 Go 코드와 TS 코드를 비교해볼 수 있음
크레딧에 감사함
Go 기반이라 패키지 관리 농담도 필요 없음. 내 디버거에 통합할 예정임
누군가 AI가 전체 프로젝트를 복사하고 이름만 바꿔 단 거 아니냐고 지적함
원본 링크를 수정했음. 제출자는 선의로 올린 것으로 보임
Mermaid가 주목받고 있지만, Kroki(kroki.io)는 훨씬 다양한 다이어그램 포맷을 지원함
BlockDiag, BPMN, C4, D2, DBML, Excalidraw, GraphViz 등 거의 모든 텍스트 기반 다이어그램을 포함함
내 Markdown 에디터 KeenWrite(keenwrite.com)는 Kroki를 서비스로 통합해서, 새 포맷이 추가되면 자동으로 사용 가능함
Mermaid는 <foreignObject>를 사용하기 때문에 대부분의 라이브러리에서 렌더링이 어려움
MermaidJS와 Kroki를 비교하는 건 PDF.js와 Adobe Acrobat을 비교하는 것과 비슷함
MermaidJS는 웹페이지 내에서 빠르고 로컬로 실행되지만, Kroki는 외부 서비스 의존성이 있음
복잡한 다이어그램이 필요하지 않다면 Mermaid가 더 간단한 선택임
예전에 NetworkX DAG를 ASCII로 렌더링하려고 phart라는 도구를 만들었음 README 예시에 체스 그래프 등 다양한 출력 예시가 있음
처음엔 Kroki의 디자인이 너무 그림자와 폰트 왜곡이 심해서 별로라고 생각했지만, 나중에 오해였음을 알게 됨
그래도 Mermaid의 기본 스타일이 더 깔끔하다고 느낌
참고로 KeenWrite는 꽤 훌륭해 보임
텍스트를 ASCII 다이어그램으로 변환하는 도구 Diagon도 있음
내가 정리한 텍스트→다이어그램 도구 목록도 있는데, 텍스트→ASCII 변환 도구는 많지 않음
좋은 리스트라며 감사 인사를 받음
라이브 데모를 실행하려면 AI 에이전트 플랫폼 다운로드가 필요한 것 같음
설치 없이 바로 써보고 싶은데 그게 안 되는 게 아쉬움
개발자들이 GitHub Pages 기반 클라이언트 전용 데모를 만들어주면 좋겠음
프로젝트 구조상 충분히 가능해 보임
“Subgraph Direction Override” 기능이 있어서, 서브그래프 방향을 다르게 설정할 수 있음
이걸로 Mermaid가 지원하지 않던 swim lane 다이어그램을 흉내낼 수 있음
내가 만든 Selkie는 Mermaid 파서와 렌더러를 Rust로 완전 구현한 실험 프로젝트임
Claude Code로 얼마나 가능한지 테스트하는 용도였는데, 결과가 놀라움 Playground에서 바로 실행 가능함 Kitty 터미널을 지원하면 다이어그램을 직접 터미널에 출력할 수도 있음
곧 전체 과정을 블로그로 정리할 예정임
이 프로젝트는 정말 멋지고, Claude Code와의 시너지도 인상적임
나는 비슷한 프로젝트를 했는데, ASCII 대신 인터랙티브 코드 탐색에 초점을 맞췄음
인간의 이해를 돕는 방향으로 설계했고, D2를 사용했으며 Mermaid 지원도 준비 중임
사람을 위한 인터랙티브성이 더 가치 있는지, 아니면 에이전트 컨텍스트가 중요한지에 대한 의견을 듣고 싶음 프로젝트 링크
Hacker News 의견들
Alexander Grooff가 만든 Go 라이브러리 mermaid-ascii를 기반으로 한 프로젝트가 정말 멋짐
다만 "start" 엣지가 렌더링되지 않는 버그를 발견했음
테스트는 agents.craft.do/mermaid에서 진행했음
왜 요즘 ASCII 다이어그램이 다시 주목받는지 잘 모르겠음
Mermaid나 PlantUML도 이미 텍스트 기반이라, 대부분의 사용자는 기계보다는 사람이 보기 좋은 표준 다이어그램을 원함
ASCII는 인쇄 가능한 문자에 제한되어 있어서 표현력이 떨어지고 표준화도 어려움
이미지 파일 관리나 Git LFS 같은 복잡한 설정이 필요 없기 때문임
나는 ASCII 다이어그램을 정말 좋아함
터미널에서
cat으로 보든 웹사이트에서 렌더링하든 똑같이 멋지게 보이는 게 매력임좋은 monospaced 폰트만 있으면 시각적으로도 깔끔함
Monodraw라는 ASCII 다이어그램 제작 앱도 추천함
실제 Mermaid ASCII 렌더러는 AlexanderGrooff/mermaid-ascii 프로젝트에서 옮겨온 것임
이 프로젝트는 그걸 TypeScript로 변환하고 자체 테마를 추가했음
주요 알고리즘은 거의 1:1 변환이라, Claude가 TS로 포팅하는 데 한 시간도 안 걸렸을 것 같음
Go 코드와 TS 코드를 비교해볼 수 있음
Mermaid가 주목받고 있지만, Kroki(kroki.io)는 훨씬 다양한 다이어그램 포맷을 지원함
BlockDiag, BPMN, C4, D2, DBML, Excalidraw, GraphViz 등 거의 모든 텍스트 기반 다이어그램을 포함함
내 Markdown 에디터 KeenWrite(keenwrite.com)는 Kroki를 서비스로 통합해서, 새 포맷이 추가되면 자동으로 사용 가능함
Mermaid는
<foreignObject>를 사용하기 때문에 대부분의 라이브러리에서 렌더링이 어려움MermaidJS는 웹페이지 내에서 빠르고 로컬로 실행되지만, Kroki는 외부 서비스 의존성이 있음
복잡한 다이어그램이 필요하지 않다면 Mermaid가 더 간단한 선택임
README 예시에 체스 그래프 등 다양한 출력 예시가 있음
그래도 Mermaid의 기본 스타일이 더 깔끔하다고 느낌
참고로 KeenWrite는 꽤 훌륭해 보임
텍스트를 ASCII 다이어그램으로 변환하는 도구 Diagon도 있음
내가 정리한 텍스트→다이어그램 도구 목록도 있는데, 텍스트→ASCII 변환 도구는 많지 않음
라이브 데모를 실행하려면 AI 에이전트 플랫폼 다운로드가 필요한 것 같음
설치 없이 바로 써보고 싶은데 그게 안 되는 게 아쉬움
프로젝트 구조상 충분히 가능해 보임
“Subgraph Direction Override” 기능이 있어서, 서브그래프 방향을 다르게 설정할 수 있음
이걸로 Mermaid가 지원하지 않던 swim lane 다이어그램을 흉내낼 수 있음
내가 만든 Selkie는 Mermaid 파서와 렌더러를 Rust로 완전 구현한 실험 프로젝트임
Claude Code로 얼마나 가능한지 테스트하는 용도였는데, 결과가 놀라움
Playground에서 바로 실행 가능함
Kitty 터미널을 지원하면 다이어그램을 직접 터미널에 출력할 수도 있음
곧 전체 과정을 블로그로 정리할 예정임
이 프로젝트는 정말 멋지고, Claude Code와의 시너지도 인상적임
나는 비슷한 프로젝트를 했는데, ASCII 대신 인터랙티브 코드 탐색에 초점을 맞췄음
인간의 이해를 돕는 방향으로 설계했고, D2를 사용했으며 Mermaid 지원도 준비 중임
사람을 위한 인터랙티브성이 더 가치 있는지, 아니면 에이전트 컨텍스트가 중요한지에 대한 의견을 듣고 싶음
프로젝트 링크