2 पॉइंट द्वारा GN⁺ 2025-11-07 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 2025-11-07
Hacker News राय
  • यह दिलचस्प है कि आजकल Rust से बने TUI बहुत ज़्यादा दिख रहे हैं
    मुझे जिनका पता है, वे हैं Awesome TUIs, terminaltrove, और Ratatui की awesome सूची

    • आजकल अच्छे desktop GUI platform लगभग नहीं के बराबर हैं, इसलिए terminal उल्टा ज़्यादा आकर्षक environment बन गया है
      Qt या GTK बहुत बड़े हैं, Windows बार-बार बदलता रहता है, और Electron के साथ काम करने का मन नहीं करता
      terminal की quality हाल के वर्षों में बेहतर हुई है, इसलिए छोटे app बनाना अब कहीं आसान है
      LEGO से कुछ शानदार बनाना, मिट्टी से मूर्ति गढ़ने की तुलना में आसान है — यह उपमा बिल्कुल ठीक बैठती है
    • TUI libraries terminal rendering की low-level complexity को अच्छी तरह abstract कर देती हैं, इसलिए अब terminal IDE के अंदर किसी canvas जैसा महसूस होता है
      data state को visualise करने के लिए browser rendering pipeline बनाने की ज़रूरत नहीं पड़ती
      संदर्भ के लिए यह example image है
    • TUI ज़्यादातर cross-platform होते हैं, और सीधे terminal के अंदर इस्तेमाल हो जाते हैं, इसलिए context switching कम होती है
      Ghostty, WezTerm, Kitty, iTerm, Alacritty जैसे आधुनिक terminal GPU acceleration और 24-bit color support करते हैं
      और आजकल developers IDE की तुलना में terminal में Claude Code, Gemini CLI, Codex जैसे tools ज़्यादा इस्तेमाल कर रहे हैं
    • जो developers लंबे समय से खराब web interfaces झेलते आए हैं, उनके लिए TUI एक ताज़ा विकल्प है
      इसमें कई सीमाएँ हैं, लेकिन उसी वजह से बहुत बेतरतीब UI बनाना भी कठिन हो जाता है
      सरल से मध्यम जटिलता वाले software के लिए यह वाकई बहुत उपयुक्त है। उदाहरण के तौर पर Midnight Commander की सिफारिश है
    • मेरे लिए TUI आज की over-designed GUI दुनिया से निकलने का रास्ता है
      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 जैसा कुछ नहीं बनता, तो यह सच में अफसोस की बात होगी

    • असल में Rust में TUI बनाने वाले लोग बस इसलिए बनाते हैं क्योंकि उन्हें TUI पसंद है
      Ratatui इतना मज़ेदार framework है कि इसका GUI की कमी से सीधा संबंध नहीं है
    • GUI किसी भी language में testing, accessibility, i18n जैसी ज़िम्मेदारियाँ लेकर आता है
      जहाँ CLI कम पड़ता है लेकिन पूरा GUI ज़रूरत से ज़्यादा हो जाता है, वहाँ TUI बीच की जगह अच्छी तरह भरता है
    • Rust में पारंपरिक GUI framework मुश्किल होने की एक वजह circular reference structure है
      window-container-button के बीच parent/child references, Rust के ownership model से टकराते हैं
      Qt का signal-slot mechanism भी Rust में implement करना आसान नहीं है
    • मुझे भी Rust का GUI ecosystem कठिन लगता है
      जिन crates की ज़रूरत पड़ती है, उनमें से ज़्यादातर WIP या परित्यक्त स्थिति में थे
      कुछ लोकप्रिय बड़े crates को छोड़ दें, तो documentation भी अक्सर “C++ docs देखो” वाले स्तर की लगती है
      Rust अभी युवा भाषा है, यह तो है, लेकिन उससे बड़ी समस्या शायद community में package maintenance के प्रति उत्साह की कमी है
    • संदर्भ के लिए Zed Rust से बना GUI editor है
      हालाँकि 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 है
    • Browsh नाम का एक project है
      यह Firefox को headless mode में चलाता है और परिणाम को ASCII के रूप में terminal में render करता है। काफ़ी शानदार है
    • मैं Chawan अक्सर इस्तेमाल करता हूँ। काफ़ी ठीक है
    • सच तो यह है कि यह 90 के दशक से ही संभव था
      Lynx और w3m इसके प्रमुख उदाहरण हैं
    • Rust नहीं है, लेकिन nimwave भी देखने लायक है
  • मैं अपने बनाए Markdown viewer mdfried का परिचय देना चाहता हूँ
    Markdown का source text पढ़ने में अच्छा लगता है, लेकिन browser में देखना ज़्यादा सुविधाजनक होता है, इसलिए मैंने headers को image की तरह render करने वाला viewer बनाया
    font एक बार configure करना पड़ता है, और inline images भी support होती हैं
    अब Kitty के text-sizing protocol की मदद से image conversion के बिना सीधे render करना संभव है

    • यह वाकई शानदार project है। बस Ghostty ने शायद अभी तक उस protocol को implement नहीं किया है
  • नीदरलैंड का Teletekst एक SSH interface देता है
    इस लेख के अनुसार यह Ratatui से बना है, और ssh teletekst.nl से access किया जा सकता है

  • मैंने Ratatui से बना एक छोटा app test किया, और सिर्फ साधारण text input पर CPU usage 8% तक पहुँच गया, यह देखकर हैरानी हुई
    मैंने आधिकारिक example ज्यों का त्यों इस्तेमाल किया था, फिर भी ऐसा हुआ

    • किसी ने पूछा कि क्या इसे debug build में चलाया गया था। 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 का परिचय देना चाहता हूँ

    • मैंने game चलाकर देखा, और यह मुझे सच में बहुत पसंद आया। इसमें Hattrick जैसे पुराने football simulator की feel है, लेकिन ज़्यादा polished अंदाज़ में
      बस repository में दिया गया video मेरे device पर नहीं खुल रहा
    • artwork शानदार है। GitHub पर video render नहीं हो रहा था, इसलिए मुझे mp4 सीधे download करना पड़ा
    • “आकाशगंगा की पृष्ठभूमि में बना space pirate basketball P2P game” — यह विवरण वाकई याद रह जाने वाला है
  • मुझे post का title थोड़ा अजीब लगा
    लगा था कि यह Rust की TUI क्रांति पर लेख होगा, लेकिन असल में यह Ratatui से बने apps का संग्रह निकला

    • शायद मतलब यह था कि यह crate खुद Rust के TUI boom की वजह रही है
      Go ecosystem में Charm भी कुछ ऐसा ही रोल निभाता है
    • title को बाद में बदल दिया गया। HN guideline के मुताबिक मूल title को बनाए रखना चाहिए, और सिर्फ तब बदलना चाहिए जब वह भ्रामक हो
    • Ratatui काफ़ी पुराना project है, और जटिल TUI बनाते समय यह पहला tool है जिसे मैं देखता हूँ
    • अब मेरा भी मन है कि दूसरे विकल्पों और उनके differentiators को देखूँ
  • मुझे लगता है कि terminal में CLI-आधारित agents को folder-level पर चलाने वाली utility की ज़रूरत लगातार बढ़ रही है
    उदाहरण के लिए इसका इस्तेमाल legal compliance checks को automate करने में हो सकता है

    • प्रमुख coding agents पहले से ही CLI mode support करते हैं
      Cline CLI, Opencode CLI, Codex CLI, Gemini CLI, Claude Code CLI आदि कई विकल्प हैं