- Ratatui फ्रेमवर्क से बने विभिन्न टर्मिनल-आधारित एप्लिकेशन (TUI) के उदाहरणों का संग्रह
- इसमें सिस्टम मॉनिटरिंग, फ़ाइल ब्राउज़िंग, नेटवर्क विश्लेषण, डेटा विज़ुअलाइज़ेशन आदि विभिन्न उपयोगों के ऐप शामिल हैं
- प्रमुख उदाहरणों में Atuin(शेल हिस्ट्री प्रबंधन), GitUI(Git इंटरफ़ेस), Oatmeal(LLM चैट), Yazi(फ़ाइल मैनेजर) आदि शामिल हैं
- हर प्रोजेक्ट Rust भाषा में लिखा गया है और उसके साथ GitHub लिंक और डेमो इमेज दी गई हैं
- यह Rust ecosystem में टर्मिनल UI डेवलपमेंट की विस्तारशीलता और व्यावहारिकता को दिखाने वाला उदाहरण-संग्रह है
अवलोकन
- Ratatui का App Showcase पेज, Ratatui का उपयोग करके बनाए गए वास्तविक टर्मिनल यूज़र इंटरफ़ेस (TUI) एप्लिकेशन सूचीबद्ध करता है
- हर आइटम में GitHub repository लिंक, संक्षिप्त विवरण, और डेमो इमेज या GIF शामिल हैं
- इसमें कुल 27 से अधिक प्रोजेक्ट शामिल हैं, जिनका दायरा सिस्टम टूल्स से लेकर गेम, AI और डेटा प्रबंधन तक फैला है
प्रमुख एप्लिकेशन सूची
Atuin
- पारंपरिक शेल हिस्ट्री को SQLite database से बदलता है और कमांड चलाते समय अतिरिक्त context रिकॉर्ड करता है
Bandwhich
- प्रोसेस, कनेक्शन, और remote IP/host के अनुसार नेटवर्क उपयोग दिखाने वाला CLI utility
Binsider
- टर्मिनल में बाइनरी विश्लेषण करने का टूल
Bottom
- cross-platform system monitor, जो CPU·मेमोरी आदि resource usage को विज़ुअलाइज़ करता है
Crossword
- टर्मिनल में क्रॉसवर्ड पज़ल खेलने का गेम
Csvlens
- CSV फ़ाइलों के लिए विशेष viewer,
less कमांड जैसा लेकिन CSV संरचना के लिए अनुकूलित
Dua
- parallel processing-आधारित disk space analysis tool, तेज़ deletion फीचर के साथ
Fzf-make
- fuzzy finder का उपयोग करके
make targets चलाने वाला CLI टूल
GitUI
- Git कार्यों के लिए Rust-आधारित TUI इंटरफ़ेस
Gpg-tui
- GnuPG के लिए टर्मिनल इंटरफ़ेस
Joshuto
- Ranger शैली का फ़ाइल मैनेजर, Rust में लिखा गया
Material
- टर्मिनल के लिए Material Design color palette
Minesweep-rs
- Rust में लिखा गया Minesweeper गेम
Oatmeal
- LLM के साथ बातचीत करने वाला टर्मिनल चैट ऐप, ChatGPT या Ollama backend सपोर्ट के साथ
- slash commands, chat bubble UI, Neovim integration फीचर शामिल
Oha
- वेब एप्लिकेशन पर लोड भेजता है और real-time TUI में परिणाम दिखाता है
Oxker
- Docker container नियंत्रण और मॉनिटरिंग के लिए TUI
OpenAPI-tui
- टर्मिनल में OpenAPI documentation को तेज़ी से देखने का टूल
Rainfrog
- database interaction के लिए lightweight terminal tool
Rucola
- Markdown notes management और HTML conversion फीचर प्रदान करता है
Scope-tui
- oscilloscope·vectorscope·spectroscope जैसी सुविधाएँ टर्मिनल में उपलब्ध कराता है
Slumber
- HTTP/REST client को टर्मिनल में चलाता है
Steer
- local development और automation के लिए AI coding agent
Taskwarrior-tui
- Taskwarrior task management tool का टर्मिनल इंटरफ़ेस
Television
- fuzzy matching algorithm-आधारित search tool, जो फ़ाइल, Git, environment variables आदि जैसे विभिन्न data sources को ब्राउज़ करने का समर्थन करता है
Trippy
- Traceroute और Ping को जोड़ने वाला network diagnostic tool
Xplr
- तेज़ और hackable TUI file explorer
Yazi
- asynchronous I/O-आधारित अत्यंत तेज़ फ़ाइल मैनेजर, Rust में लिखा गया
Yozefu
- Kafka cluster data exploration के लिए interactive TUI
- SQL-जैसी query language के साथ सूक्ष्म filtering सपोर्ट
- AKHQ, Redpanda Console, JetBrains Kafka plugin का विकल्प
Ratatui ecosystem का महत्व
- सभी ऐप Ratatui framework पर आधारित हैं, जो Rust वातावरण में टर्मिनल UI डेवलपमेंट की विविधता और परिपक्वता दिखाते हैं
- हर प्रोजेक्ट open source GitHub repository के रूप में उपलब्ध है, जिससे डेवलपर्स सीधे संदर्भ ले सकते हैं
- इससे संकेत मिलता है कि Ratatui, Rust-आधारित CLI/TUI डेवलपमेंट के मानक टूल के रूप में स्थापित हो रहा है
1 टिप्पणियां
Hacker News राय
यह दिलचस्प है कि आजकल Rust से बने TUI बहुत ज़्यादा दिख रहे हैं
मुझे जिनका पता है, वे हैं Awesome TUIs, terminaltrove, और Ratatui की awesome सूची
Qt या GTK बहुत बड़े हैं, Windows बार-बार बदलता रहता है, और Electron के साथ काम करने का मन नहीं करता
terminal की quality हाल के वर्षों में बेहतर हुई है, इसलिए छोटे app बनाना अब कहीं आसान है
LEGO से कुछ शानदार बनाना, मिट्टी से मूर्ति गढ़ने की तुलना में आसान है — यह उपमा बिल्कुल ठीक बैठती है
data state को visualise करने के लिए browser rendering pipeline बनाने की ज़रूरत नहीं पड़ती
संदर्भ के लिए यह example image है
Ghostty, WezTerm, Kitty, iTerm, Alacritty जैसे आधुनिक terminal GPU acceleration और 24-bit color support करते हैं
और आजकल developers IDE की तुलना में terminal में Claude Code, Gemini CLI, Codex जैसे tools ज़्यादा इस्तेमाल कर रहे हैं
इसमें कई सीमाएँ हैं, लेकिन उसी वजह से बहुत बेतरतीब UI बनाना भी कठिन हो जाता है
सरल से मध्यम जटिलता वाले software के लिए यह वाकई बहुत उपयुक्त है। उदाहरण के तौर पर Midnight Commander की सिफारिश है
designers के साथ collaboration अब बढ़ती हुई bureaucracy और inefficiency जैसा लगता है
TUI information density ज़्यादा रखता है और अनावश्यक whitespace कम करता है, यानी साफ-सुथरा interface लगभग मजबूर कर देता है
Rust में TUI के लोकप्रिय होने की वजह यह है कि GUI की स्थिति बहुत खराब है
Rust GUI library survey देखने से यह समझ आता है
मैं Rust में Qt इस्तेमाल करना चाहता हूँ, लेकिन QML, Slint, GTK, immediate-mode UI वगैरह नहीं चाहता
अगर Rust में Qt जैसा कुछ नहीं बनता, तो यह सच में अफसोस की बात होगी
Ratatui इतना मज़ेदार framework है कि इसका GUI की कमी से सीधा संबंध नहीं है
जहाँ CLI कम पड़ता है लेकिन पूरा GUI ज़रूरत से ज़्यादा हो जाता है, वहाँ TUI बीच की जगह अच्छी तरह भरता है
window-container-button के बीच parent/child references, Rust के ownership model से टकराते हैं
Qt का signal-slot mechanism भी Rust में implement करना आसान नहीं है
जिन crates की ज़रूरत पड़ती है, उनमें से ज़्यादातर WIP या परित्यक्त स्थिति में थे
कुछ लोकप्रिय बड़े crates को छोड़ दें, तो documentation भी अक्सर “C++ docs देखो” वाले स्तर की लगती है
Rust अभी युवा भाषा है, यह तो है, लेकिन उससे बड़ी समस्या शायद community में package maintenance के प्रति उत्साह की कमी है
हालाँकि GUI वाला हिस्सा पूरी तरह Rust में बना है या नहीं, इस पर पक्का नहीं हूँ
मैं ऐसे TUI web browser का इंतज़ार कर रहा हूँ जो मुझे पूरी तरह terminal के अंदर जीने दे
sixel या shader जैसी तकनीकों से graphics भी support हो सकते हैं, इसलिए video को छोड़ दें तो यह काफ़ी संभव लगता है
ad blocking आसान होगी, इसलिए कंपनियों को यह पसंद न आए, लेकिन अगर इसे LLM browser के रूप में पेश किया जाए तो शायद बात बन जाए
terminal एक low-resolution character buffer है, इसलिए सीधे GPU-accelerated pixel rendering कहीं ज़्यादा efficient है
यह Firefox को headless mode में चलाता है और परिणाम को ASCII के रूप में terminal में render करता है। काफ़ी शानदार है
Lynx और w3m इसके प्रमुख उदाहरण हैं
मैं अपने बनाए Markdown viewer mdfried का परिचय देना चाहता हूँ
Markdown का source text पढ़ने में अच्छा लगता है, लेकिन browser में देखना ज़्यादा सुविधाजनक होता है, इसलिए मैंने headers को image की तरह render करने वाला viewer बनाया
font एक बार configure करना पड़ता है, और inline images भी support होती हैं
अब Kitty के text-sizing protocol की मदद से image conversion के बिना सीधे render करना संभव है
नीदरलैंड का Teletekst एक SSH interface देता है
इस लेख के अनुसार यह Ratatui से बना है, और
ssh teletekst.nlसे access किया जा सकता हैमैंने Ratatui से बना एक छोटा app test किया, और सिर्फ साधारण text input पर CPU usage 8% तक पहुँच गया, यह देखकर हैरानी हुई
मैंने आधिकारिक example ज्यों का त्यों इस्तेमाल किया था, फिर भी ऐसा हुआ
cargo runडिफ़ॉल्ट रूप से debug mode में चलता हैमैं अपने open source project TironCalc को मुख्य repository ironcalc में merge करना चाहता हूँ
मुझे लगता है कि Rust और Ratatui के साथ काम करने के लिए यह अच्छा project है
लेकिन Microsoft के edit project को देखने के बाद अब यक़ीन नहीं कि Ratatui सबसे अच्छा विकल्प है
मैं अपने बनाए Ratatui-आधारित TUI game rebels-in-the-sky का परिचय देना चाहता हूँ
बस repository में दिया गया video मेरे device पर नहीं खुल रहा
मुझे post का title थोड़ा अजीब लगा
लगा था कि यह Rust की TUI क्रांति पर लेख होगा, लेकिन असल में यह Ratatui से बने apps का संग्रह निकला
Go ecosystem में Charm भी कुछ ऐसा ही रोल निभाता है
मुझे लगता है कि terminal में CLI-आधारित agents को folder-level पर चलाने वाली utility की ज़रूरत लगातार बढ़ रही है
उदाहरण के लिए इसका इस्तेमाल legal compliance checks को automate करने में हो सकता है
Cline CLI, Opencode CLI, Codex CLI, Gemini CLI, Claude Code CLI आदि कई विकल्प हैं