Ratatui – 앱 쇼케이스
(ratatui.rs)- Ratatui 프레임워크로 제작된 다양한 터미널 기반 애플리케이션(TUI) 사례를 모은 컬렉션
- 시스템 모니터링, 파일 탐색, 네트워크 분석, 데이터 시각화 등 다양한 용도별 앱이 포함
- 대표 예로 Atuin(셸 히스토리 관리) , GitUI(Git 인터페이스) , Oatmeal(LLM 채팅) , Yazi(파일 관리자) 등이 소개
- 각 프로젝트는 Rust 언어로 작성되었으며, GitHub 링크와 데모 이미지를 함께 제공
- Rust 생태계에서 터미널 UI 개발의 확장성과 실용성을 보여주는 사례 모음
개요
- Ratatui의 App Showcase 페이지는 Ratatui를 활용해 개발된 실제 터미널 사용자 인터페이스(TUI) 애플리케이션을 나열
- 각 항목은 GitHub 저장소 링크, 간단한 설명, 데모 이미지 또는 GIF로 구성
- 총 27개 이상의 프로젝트가 포함되어 있으며, 시스템 도구부터 게임, AI, 데이터 관리까지 폭넓은 범위
주요 애플리케이션 목록
Atuin
- 기존 셸 히스토리를 SQLite 데이터베이스로 대체하고 명령 실행 시 추가 컨텍스트를 기록
Bandwhich
- 프로세스, 연결, 원격 IP/호스트별 네트워크 사용량을 표시하는 CLI 유틸리티
Binsider
- 터미널에서 바이너리 분석을 수행하는 도구
Bottom
- 크로스플랫폼 시스템 모니터로, CPU·메모리 등 자원 사용을 시각화
Crossword
- 터미널에서 십자말풀이 퍼즐을 플레이할 수 있는 게임
Csvlens
-
CSV 파일 전용 뷰어,
less명령과 유사하지만 CSV 구조에 최적화
Dua
- 병렬 처리 기반 디스크 공간 분석 도구, 빠른 삭제 기능 제공
Fzf-make
-
퍼지 파인더(fuzzy finder) 를 이용해
make타깃을 실행하는 CLI 도구
GitUI
- Git 작업을 위한 Rust 기반 TUI 인터페이스
Gpg-tui
- GnuPG를 위한 터미널 인터페이스
Joshuto
- Ranger 스타일의 파일 관리자, Rust로 작성
Material
- 터미널용 머티리얼 디자인 색상 팔레트
Minesweep-rs
- Rust로 작성된 지뢰찾기 게임
Oatmeal
-
LLM과 대화 가능한 터미널 채팅 앱, ChatGPT 또는 Ollama 백엔드 지원
- 슬래시 명령어, 채팅 버블 UI, Neovim 연동 기능 포함
Oha
- 웹 애플리케이션에 부하를 보내고 실시간 TUI로 결과 표시
Oxker
- Docker 컨테이너 제어 및 모니터링용 TUI
OpenAPI-tui
- 터미널에서 OpenAPI 문서를 빠르게 조회할 수 있는 도구
Rainfrog
- 데이터베이스 상호작용용 경량 터미널 도구
Rucola
- Markdown 노트 관리 및 HTML 변환 기능 제공
Scope-tui
- 오실로스코프·벡터스코프·스펙트로스코프 기능을 터미널에서 구현
Slumber
- HTTP/REST 클라이언트를 터미널에서 실행
Steer
- 로컬 개발 및 자동화를 위한 AI 코딩 에이전트
Taskwarrior-tui
- Taskwarrior 작업 관리 도구의 터미널 인터페이스
Television
- 퍼지 매칭 알고리듬 기반 검색기, 파일·Git·환경변수 등 다양한 데이터 소스 탐색 지원
Trippy
- Traceroute와 Ping 기능을 결합한 네트워크 진단 도구
Xplr
- 빠르고 해커블한 TUI 파일 탐색기
Yazi
- 비동기 I/O 기반 초고속 파일 관리자, Rust로 작성
Yozefu
-
Kafka 클러스터 데이터 탐색용 인터랙티브 TUI
- SQL 유사 쿼리 언어로 세밀한 필터링 지원
- AKHQ, Redpanda Console, JetBrains Kafka 플러그인의 대안
Ratatui 생태계의 의의
- 모든 앱은 Ratatui 프레임워크를 기반으로 제작되어, Rust 환경에서 터미널 UI 개발의 다양성과 성숙도를 보여줌
- 각 프로젝트는 오픈소스 GitHub 저장소로 공개되어 있으며, 개발자들이 직접 참고 가능
- Ratatui는 Rust 기반 CLI/TUI 개발의 표준 도구로 자리잡고 있음을 시사
Hacker News 의견
-
요즘 Rust로 만든 TUI가 많다는 게 흥미로움
내가 아는 곳은 Awesome TUIs, terminaltrove, 그리고 Ratatui의 awesome 리스트 정도임- 요즘은 좋은 데스크톱 GUI 플랫폼이 거의 없어서 터미널이 오히려 더 매력적인 환경이 됨
Qt나 GTK는 너무 크고, Windows는 자주 바뀌며, Electron은 다루기 싫음
터미널은 최근에 품질이 좋아져서 작은 앱을 만들기엔 훨씬 쉬움
LEGO로 멋진 걸 만드는 게 점토로 조각하는 것보다 쉽다는 비유가 딱 맞음 - TUI 라이브러리들이 터미널 렌더링의 저수준 복잡성을 잘 추상화해서, 이제 터미널이 IDE 안의 캔버스처럼 느껴짐
데이터 상태를 시각화할 때 브라우저 렌더링 파이프라인을 만들 필요가 없음
참고로 이 예시 이미지가 있음 - TUI는 대부분 크로스플랫폼이고, 터미널 안에서 바로 쓸 수 있어서 컨텍스트 전환이 적음
Ghostty, WezTerm, Kitty, iTerm, Alacritty 같은 최신 터미널은 GPU 가속과 24비트 컬러를 지원함
게다가 요즘 개발자들은 IDE보다 터미널에서 Claude Code, Gemini CLI, Codex 같은 도구를 더 많이 씀 - 오랫동안 나쁜 웹 인터페이스에 시달려온 개발자들에게 TUI는 신선한 대안임
제약이 많지만, 그 덕분에 엉망인 UI를 만들기도 어려움
단순~중간 복잡도의 소프트웨어에는 정말 잘 맞음. 예로 Midnight Commander를 추천함 - 나에게 TUI는 요즘의 과잉 디자인된 GUI 세계에서 벗어나는 탈출구임
디자이너와 협업이 점점 관료적이고 비효율적으로 느껴짐
TUI는 정보 밀도가 높고, 불필요한 여백이 적은 깔끔한 인터페이스를 강제함
- 요즘은 좋은 데스크톱 GUI 플랫폼이 거의 없어서 터미널이 오히려 더 매력적인 환경이 됨
-
Rust에서 TUI가 유행하는 이유는 GUI 상황이 너무 열악하기 때문임
Rust GUI 라이브러리 설문을 보면 알 수 있음
나는 Qt를 Rust에서 쓰고 싶지만 QML, Slint, GTK, 즉시 모드 UI 등은 원하지 않음
Rust에서 Qt 같은 게 안 생긴다면 정말 아쉬운 일일 것 같음- 사실 Rust로 TUI를 만드는 사람들은 단순히 TUI를 좋아해서 만드는 것임
Ratatui가 워낙 즐겁게 쓸 수 있는 프레임워크라서 GUI의 부재와는 상관없음 - GUI는 어떤 언어로든 테스트, 접근성, i18n 같은 부담이 큼
CLI로는 부족하지만 완전한 GUI는 과한 경우에, TUI가 그 중간 지점을 잘 채움 - Rust에서 전통적인 GUI 프레임워크가 어려운 이유는 순환 참조 구조 때문임
윈도우-컨테이너-버튼 간의 부모/자식 참조가 Rust의 소유권 모델과 충돌함
Qt의 signal-slot 메커니즘도 Rust에서는 구현이 까다로움 - 나도 Rust의 GUI 생태계가 힘들다고 느낌
필요한 crate 대부분이 WIP나 방치 상태였음
인기 있는 몇몇 대형 crate를 제외하면, 문서도 “C++ 문서 참고하라” 수준임
Rust가 아직 젊은 언어라 그렇지만, 커뮤니티의 패키지 유지 열정이 부족한 게 더 큰 문제 같음 - 참고로 Zed는 Rust로 만든 GUI 에디터임
다만 GUI 부분이 Rust만으로 구현된 건지는 확실치 않음
- 사실 Rust로 TUI를 만드는 사람들은 단순히 TUI를 좋아해서 만드는 것임
-
나는 완전히 터미널 안에서 살 수 있게 해줄 TUI 웹 브라우저를 기다리고 있음
sixel이나 shader 같은 기술로 그래픽도 지원되니, 영상만 제외하면 충분히 가능할 듯함
광고 차단이 쉬워서 기업들이 싫어할 수도 있지만, LLM용 브라우저로 포장하면 설득 가능할지도 모름 -
내가 만든 Markdown 뷰어 mdfried를 소개함
Markdown의 원문 가독성은 좋지만, 브라우저에서 보는 게 더 편해서 헤더를 이미지로 렌더링하는 뷰어를 만듦
폰트를 한 번 설정해야 하고, 인라인 이미지도 지원함
이제는 Kitty의 text-sizing 프로토콜을 활용해 이미지 변환 없이 바로 렌더링 가능함- 정말 멋진 프로젝트임. 다만 Ghostty는 아직 그 프로토콜을 구현하지 않은 듯함
-
네덜란드의 Teletekst가 SSH 인터페이스를 제공함
이 기사에 따르면 Ratatui로 만들어졌고,ssh teletekst.nl로 접속 가능함 -
Ratatui로 만든 작은 앱을 테스트했는데, 단순한 텍스트 입력만으로 CPU 사용률이 8%까지 올라서 놀랐음
공식 예제를 그대로 썼는데도 그랬음- 혹시 debug 빌드로 실행한 건 아닌지 물어봄.
cargo run은 기본적으로 디버그 모드임
- 혹시 debug 빌드로 실행한 건 아닌지 물어봄.
-
내 오픈소스 프로젝트 TironCalc를 메인 저장소 ironcalc에 통합하고 싶음
Rust와 Ratatui로 작업하기 좋은 프로젝트라고 생각함
다만 Microsoft의 edit 프로젝트를 보고 나니 Ratatui가 최선인지 확신은 없음 -
내가 만든 Ratatui 기반 TUI 게임 rebels-in-the-sky를 소개함
- 게임을 실행해봤는데 정말 마음에 듦. Hattrick 같은 고전 축구 시뮬레이터 느낌에 더 세련된 감성이 있음
다만 리포지토리의 비디오가 내 기기에서는 열리지 않음 - 아트워크가 멋짐. GitHub에서는 비디오가 렌더링되지 않아 직접 mp4를 다운로드해야 했음
- “은하계를 무대로 한 우주 해적 농구 P2P 게임”이라는 설명이 정말 인상적임
- 게임을 실행해봤는데 정말 마음에 듦. Hattrick 같은 고전 축구 시뮬레이터 느낌에 더 세련된 감성이 있음
-
게시물 제목이 좀 이상하다고 느낌
Rust의 TUI 혁명에 대한 글일 줄 알았는데, 사실은 Ratatui로 만든 앱 모음이었음- 사실 이 crate 자체가 Rust의 TUI 붐의 원인이라는 뜻이었을 것 같음
Go 진영의 Charm도 비슷한 역할을 함 - 제목은 수정되었음. HN 가이드라인에 따라 원제목을 유지하되, 오해의 소지가 있을 때만 바꾸는 게 원칙임
- Ratatui는 꽤 오래된 프로젝트로, 복잡한 TUI를 만들 때 내가 가장 먼저 찾는 도구임
- 나도 이제 다른 대안이나 차별점을 찾아보고 싶어짐
- 사실 이 crate 자체가 Rust의 TUI 붐의 원인이라는 뜻이었을 것 같음
-
터미널에서 CLI 기반 에이전트를 폴더 단위로 실행할 수 있는 유틸리티가 점점 더 필요하다고 느낌
예를 들어 법적 컴플라이언스 검사를 자동화하는 데 쓸 수 있을 것 같음- 이미 주요 코딩 에이전트들은 CLI 모드를 지원함
Cline CLI, Opencode CLI, Codex CLI, Gemini CLI, Claude Code CLI 등 다양함
- 이미 주요 코딩 에이전트들은 CLI 모드를 지원함