1P by GN⁺ 8시간전 | ★ favorite | 댓글 1개
  • 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 생성 코드의 실제 적용 사례로, 차세대 개발 자동화 흐름을 보여주는 프로젝트
Hacker News 의견들
  • Zed에서의 발전을 기대했는데, 이번 프로젝트도 꽤 흥미로움
    나는 Obsidian을 무겁게 사용하는 편이지만, 기초에 집중한 진짜 대안이 나오면 좋겠음
    최종 목표가 어떤 것인지 궁금함. 앞으로 지켜볼 예정임

    • 나는 Hyperclast를 개발 중인데, Obsidian 사용자로서 피드백을 받을 수 있을지 궁금함
      아직 Show HN에 올릴 준비는 안 됐지만, 초기 피드백을 듣고 싶음
    • 최종 목표는 빠르고 네이티브한 Markdown 에디터를 만드는 것임
      Electron이나 웹 기술 없이 즉시 실행되는 형태로, v0.3.0에서는 Mermaid를 별도 crate로 분리하고, egui의 TextEdit 한계를 넘는 커스텀 위젯을 만들 예정임
      장기적으로는 Rust 기반의 headless editor 라이브러리로 발전시키는 것이 목표임
      자세한 내용은 ROADMAP.md 참고 바람
    • Obsidian은 Electron으로 만들어졌는지 궁금함
  • Ferrite가 주로 Windows에서 개발 및 테스트되었다는 점이 흥미로움
    요즘 Windows 사용자는 2등 시민처럼 느껴졌는데 반가움
    그런데 “이 프로젝트는 100% AI로 생성된 코드”라는 문구를 보고 약간 놀람
    그래도 솔직하게 공개한 점은 좋음

    • 사실 이 AI 사용 고지는 오늘 추가된 것임
      일부 사용자가 AI 사용 사실을 숨겼다고 지적한 뒤에야 추가된 것으로 보임
  • 내 앱 Octarine을 살짝 홍보하고 싶음
    Rust(Tauri) 로 작성된 WYSIWYG 스타일의 Markdown 노트 앱으로, 모든 데이터를 로컬에 저장함
    “vibe coded”는 아님 :)

    • 정말 멋져 보임. 바로 다운로드 중임
  • 요즘 HN에 AI 생성 콘텐츠가 많아졌는데, 이 글도 AI 생성 코드와 댓글로 가득한 듯함

    • 왜 이 글은 다른 AI 관련 글들처럼 비판받지 않았는지 궁금함
      아마도 인기 주제들을 잘 건드렸기 때문일 것 같음
    • “100% AI 생성”이라는 문구를 놓쳤다가 보고 나서, 한순간에 “멋지다”에서 “손대고 싶지 않다”로 바뀌었음
  • 스크린샷의 텍스트가 너무 작아서 돋보기가 필요할 정도임
    스크린샷은 너무 크지도 작지도 않게, 내용이 잘 보이도록 찍는 게 좋음
    특히 고해상도에서는 여백이 많으면 오히려 가독성이 떨어짐

    • 피드백 고마움! 지적이 정확함
      고해상도로 찍어서 작은 화면에서는 읽기 힘들었음
      창 크기를 줄이고 여백을 줄여 다시 찍을 예정임
  • 나는 Typora에 기꺼이 돈을 냈음
    Markdown만 지원하지만, 이 영역은 여전히 가능성이 큼
    특히 LLM이 구조화된 텍스트와 다이어그램을 많이 생성하는 요즘엔 더 그렇다고 생각함

    • Typora는 훌륭함. Ferrite는 비슷한 완성도를 목표로 하지만, Mermaid 통합과 JSON/YAML/TOML 트리 뷰어, 쉘 통합 파이프라인 기능을 제공함
      게다가 오픈소스임
    • Typora의 15달러 가격은 기능 대비 다소 비싸다고 느낌
    • Typora의 미디어 자동 폴더 생성 기능이 특히 마음에 듦
  • egui 프로젝트 중 이렇게 egui 특유의 스타일이 안 느껴지는 건 보기 드묾
    egui로 작업해본 경험이 어떤지 궁금함

    • egui는 프로토타이핑에 훌륭함
      즉시 모드라 상태 관리가 단순함
      다만 TextEdit은 코드 에디터용이 아니라서 멀티 커서나 코드 폴딩이 안 됨
      그래서 v0.3.0에서 커스텀 위젯으로 교체할 예정임
      기본 테마가 너무 “egui스럽다”는 점은 커스텀 테마로 해결함
    • Claude Code는 React를 더 선호했을 듯함
  • 네이티브 Markdown 렌더링을 사용하는 게 반가움
    다른 라이브러리처럼 Chromium을 띄워 스크린샷 찍는 방식이 아니라 좋음

    • 다만 네이티브 렌더링은 mermaid.js와의 레이아웃 불일치가 생길 수 있음
      공유 시에는 다르게 보일 가능성이 있음
    • 맞는 지적임. 완벽히 동일하진 않지만 속도와 JS 없는 환경이 장점임
      Ferrite 내부에서는 문제없고, 공유용으로는 v0.3.0에서 SVG 내보내기 기능을 추가할 예정임
  • 왜 저장소에서 AI 에이전트 설정과 지침을 제거했는지 궁금함 (.gitignore 참고)

    • 좋은 지적임. Claude가 개발에 큰 도움을 준 건 사실임
      다만 AI 설정 파일은 프로젝트에 필요하지 않아 제외했음
      README에 AI 도움을 받았다는 내용을 추가할 예정임
      코드는 검토 후 반영된 것이며, 무비판적으로 수용한 것은 아님
    • 프로젝트가 “vibe coded” 느낌임
      커밋이 10개뿐이고, 일부는 이모지 가득한 markdown 문서로 채워져 있음
    • 개발자가 AI 사용을 공개하지 않으면 신뢰 경고 신호로 보임
  • Mermaid 파싱과 레이아웃만 별도 crate로 분리되면 유용할 것 같음
    빠른 CLI 도구로 SVG/PDF/PNG 출력이 가능하면 좋겠음

    • 정확히 그게 v0.3.0의 계획임
      약 7000줄짜리 Mermaid 렌더러를 독립 crate로 추출하고, SVG/PNG 출력과 CLI 지원을 추가할 예정임
      순수 Rust로 작성되어 WASM 호환도 가능함. 기대해줬으면 함