Ferrite – Rust로 제작된 네이티브 Mermaid 다이어그램 렌더링 지원 Markdown 편집기

4 weeks ago 8

  • Ferrite는 Markdown, JSON, YAML, TOML 파일을 빠르고 가볍게 편집할 수 있는 Rust 기반 텍스트 에디터
  • egui 프레임워크를 사용해 네이티브 수준의 반응성과 크로스플랫폼 실행 환경을 제공
  • WYSIWYG 미리보기, MermaidJS 다이어그램 렌더링, Git 통합, 워크스페이스 모드 등 다양한 기능 지원
  • 프로젝트의 모든 Rust 코드와 문서가 AI(Claude by Anthropic) 에 의해 생성되었으며, 사람은 검토와 테스트를 담당
  • AI 보조 개발의 실제 적용 사례로, Rust 생태계와 AI 개발 협업 가능성을 보여주는 프로젝트

Ferrite 개요

  • Ferrite는 Markdown, JSON, YAML, TOML 파일을 지원하는 고속·경량 텍스트 편집기
    • Rustegui로 작성되어 네이티브 수준의 반응성과 크로스플랫폼 실행 보장
    • Windows에서 주로 개발·테스트되었으며, Linux와 macOS에서도 동작 가능
  • 프로젝트는 MIT 라이선스로 공개되어 있으며, GitHub에서 약 600개의 스타를 획득

AI 기반 개발

  • Ferrite의 모든 Rust 코드, 문서, 설정 파일은 AI(Claude by Anthropic) 가 작성
    • 개발자는 제품 방향 설정, 테스트, AI 개발 조율 역할 수행
    • 코드는 검토 및 테스트를 거쳐 수용되며, AI 생성 과정을 투명하게 공개
  • 프로젝트는 AI 보조 개발의 한계와 가능성 탐구를 목적으로 함

주요 기능

  • Markdown 실시간 미리보기(WYSIWYG)문법 하이라이팅 지원
  • 다중 포맷 지원: Markdown, JSON, YAML, TOML
  • Tree Viewer로 JSON/YAML/TOML 구조를 계층적으로 탐색 및 인라인 편집 가능
  • 정규식 검색·치환, 줄 이동(Alt+↑/↓) , 라인 복제(Ctrl+Shift+D) 등 생산성 기능 포함
  • 자동 괄호·따옴표 닫기, 자동 저장, 라인 너비 설정, 미니맵, 코드 폴딩 기능 제공

MermaidJS 다이어그램 렌더링

  • MermaidJS를 이용해 11종의 다이어그램을 네이티브로 렌더링
    • Flowchart, Sequence, Pie, State, Mindmap, Class, ER, Git Graph, Gantt, Timeline, User Journey
  • Markdown 미리보기 내에서 직접 시각화 가능

워크스페이스 및 편집 환경

  • Workspace Mode로 폴더 단위 열기, 파일 트리 탐색, 빠른 파일 전환(Ctrl+P), 전체 검색(Ctrl+Shift+F) 지원
  • Git 통합으로 수정·추가·무시 파일 상태를 시각적으로 표시
  • 세션 복원 기능으로 탭, 커서 위치, 스크롤 상태를 재시작 시 복구
  • Zen Mode로 집중형 글쓰기 환경 제공, Split View로 원본과 렌더링 동시 확인 가능

설치 및 빌드

  • Windows, Linux(.deb, tar.gz), macOS(Intel/ARM) 용 사전 빌드 바이너리 제공
  • Rust 1.70+ 환경에서 직접 빌드 가능
    • cargo build --release 명령으로 실행 파일 생성
  • Linux에서는 .deb 설치 시 /usr/bin/ferrite에 등록되고 .md, .json, .yaml, .toml 파일 연동

단축키 및 설정

  • 파일 조작: Ctrl+N(새 파일), Ctrl+O(열기), Ctrl+S(저장), Ctrl+W(탭 닫기)
  • 탐색: Ctrl+Tab(다음 탭), Ctrl+P(파일 전환), Ctrl+Shift+F(파일 검색)
  • 편집: Ctrl+Z(되돌리기), Ctrl+G(라인 이동), Ctrl+B(굵게), Ctrl+K(링크 삽입)
  • 보기: F11(전체화면), Ctrl+,(설정 열기), Ctrl+Shift+[ / ](모두 접기/펼치기)
  • 설정 파일은 OS별 경로에 저장되며, 테마·폰트·자동저장·라인 너비 등 사용자 지정 가능

기술 스택

  • 언어: Rust 1.70+
  • GUI 프레임워크: egui 0.28 + eframe 0.28
  • Markdown 파서: comrak 0.22
  • 문법 하이라이팅: syntect 5.1
  • Git 통합: git2 0.19
  • CLI 파싱: clap 4
  • 파일 다이얼로그: rfd 0.14
  • 클립보드: arboard 3
  • 파일 감시: notify 6
  • 퍼지 매칭: fuzzy-matcher 0.3

개발 및 기여

  • 기여자 4명이 활동 중이며, Pull Request와 Issue를 통한 협업 가능
  • cargo fmt, cargo clippy, cargo test 등을 통한 코드 품질 검증 절차 제공
  • ROADMAP.md에 향후 기능 계획과 알려진 이슈 명시

사용된 주요 라이브러리 및 도구

  • egui, comrak, syntect, git2, Inter/JetBrains Mono 폰트
  • Claude(Anthropic) , Cursor, Task Master 등 AI 개발 도구 사용

요약

  • Ferrite는 Rust와 AI 협업으로 개발된 오픈소스 Markdown 편집기로,
    Mermaid 다이어그램 렌더링, 다중 포맷 지원, Git 통합, 고성능 egui UI를 특징으로 함
  • AI 생성 코드의 실제 적용 사례로, 차세대 개발 자동화 흐름을 보여주는 프로젝트

Read Entire Article