Building a Terminal-Based GitHub Control Panel in Rust: Meet git-pulse 🚀
!git-pulse
---
🛠 What is git-pulse?
git-pulse is a fast TUI (Terminal User Interface) built using Ratatui and Crossterm. It serves as a unified terminal control panel for GitHub, allowing developers to discover trending repositories, monitor project stats, and navigate through repos without opening a browser tab.
Key Features:
- Terminal-Native GitHub Dashboard: View trending repositories across various programming languages.
- Live In-Memory Filtering: Press / to instantly search and filter repos by name, topic, or language.
- Custom Color Themes: Toggle between clean visual themes (including Dracula and custom HEX palettes) with T.
- Instant Repo Actions: Copy clone commands directly (c) or launch repositories in your browser (o).
- Keyboard-First Navigation: Smoothly switch tabs (Tab) and jump between lists (j/k).
---
🚀 Quick Installation
You can easily install git-pulse via cargo:
cargo install git-pulse
Or clone the repository and build from source:
git clone [https://github.com/weaztoven/git-pulse.git](https://github.com/weaztoven/git-pulse.git)
cd git-pulse
cargo build --release
---
⚡ How to Use It
Once launched with git-pulse, you can control the entire dashboard using intuitive hotkeys:
| Key | Action |
| --- | --- |
| Tab | Switch between Watchlist, Trending, and My Repos |
| / | Start live filtering |
| Esc | Clear filter / exit search mode |
| T | Change color theme |
| c | Copy clone URL to clipboard |
| o | Open current repository in browser |
| q | Quit application |
---
🤝 Open Source & Contributions
git-pulse is fully open-source and built with the Rust community in mind.
- GitHub Repository: github.com/weaztoven/git-pulse
- Crates.io Package: crates.io
If you find this project helpful or have ideas for new features (like pull request management or issue tracking), feel free to leave a star ⭐️ on GitHub, open an issue, or submit a PR!
---
What tools do you use to manage your GitHub workflow from the terminal? Let me know in the comments below!
Termtastic — new TUI client for Linux, macOS and Windows
preview.redd.it
Hello, guys!
I wanna introduce you Termtastic — my handmade feature-rich Meshtastic® console (TUI) client written in Rust.
preview.redd.it
Channels screen
Chat
Nodes tab
Traceroute results
Multiline message support
Emojis
Logs tab
Settings tab
Repo link: acelot/termtastic
I wanted to create a cross-platform, minimalist, and aesthetically pleasing console client. I’ve been working on this application for six months. The entire project was built by hand, without the use of AI (aside from looking up reference information). This process gave me a deep understanding of how Meshtastic works under the hood; I’ve thoroughly explored its protocol and behavioral nuances. As the project evolved, I contributed to the official Meshtastic library for Rust, adding new features and making minor fixes. The long-term goal of the project is to achieve feature parity with the official Android app.
The project is currently in the alpha-testing stage, so there may be bugs — some of which could even cause the program to crash. That’s why I need your help: please give my application a try — I’m confident many of you will enjoy it! Any feedback is welcome via Issues in Github.
Highlights
- Vibecode-free fully handwritten code
- Dependency-free single-binary application
- Cross-platform: Linux, macOS, Windows
- Fully asynchronous (Tokio channels-based)
- Optimized for small screens (down to 80x24 characters)
- Respects the user terminal colors (no fancy opinionated TrueColor schemes)
- Keyboard-centric UI navigation
- Minimum use of emoji/non-ascii characters in UI
- Small memory footprint (~20KB)
- Supports multiple connection protocols (TCP, BLE, Serial)
- Could discover devices automatically: BLE paired devices, TCP devices via mDNS, Serial devices
- Uses standard system directories for storing configuration, database and logs
Tech stack
|Feature|Library|
|:-|:-|
|TUI: Framework|ratatui|
|TUI: Backend|crossterm|
|TUI: Inputs|ratatui-textarea|
|TUI: Lists|tui-widget-list|
|Interaction with Meshtastic|meshtastic|
|Clipboard functionality|arboard|
|Bluetooth devices discovery|btleplug|
|TCP devices discovery|mdns-sd|
|Logging|tracing|
|Async/Channels|tokio|
|Configuration|confy, etcetera|
|Errors|anyhow, thiserror|
|Datetime|chrono|
|Emoji selector|emojis|
|Local DB|rusqlite, rusqlite_migration|
Download
Latest releases are available here: github.com/acelot/termtastic/releases
39 points · 15 comments
Lemme introduce to you my TUI client — Termtastic
Hello, guys!
I wanna introduce you Termtastic — my handmade feature-rich Meshtastic® console (TUI) client written in Rust.
preview.redd.it
Repo link: acelot/termtastic
I wanted to create a cross-platform, minimalist, and aesthetically pleasing console client. I’ve been working on this application for six months. The entire project was built by hand, without the use of AI (aside from looking up reference information). This process gave me a deep understanding of how Meshtastic works under the hood; I’ve thoroughly explored its protocol and behavioral nuances. As the project evolved, I contributed to the official Meshtastic library for Rust, adding new features and making minor fixes. The long-term goal of the project is to achieve feature parity with the official Android app.
The project is currently in the alpha-testing stage, so there may be bugs — some of which could even cause the program to crash. That’s why I need your help: please give my application a try — I’m confident many of you will enjoy it! Any feedback is welcome via Issues in Github.
Highlights
- Vibecode-free fully handwritten code
- Dependency-free single-binary application
- Cross-platform: Linux, macOS, Windows
- Fully asynchronous (Tokio channels-based)
- Optimized for small screens (down to 80x24 characters)
- Respects the user terminal colors (no fancy opinionated TrueColor schemes)
- Keyboard-centric UI navigation
- Minimum use of emoji/non-ascii characters in UI
- Small memory footprint (~20KB)
- Supports multiple connection protocols (TCP, BLE, Serial)
- Could discover devices automatically: BLE paired devices, TCP devices via mDNS, Serial devices
- Uses standard system directories for storing configuration, database and logs
Tech stack
|Feature|Library|
|:-|:-|
|TUI: Framework|ratatui|
|TUI: Backend|crossterm|
|TUI: Inputs|ratatui-textarea|
|TUI: Lists|tui-widget-list|
|Interaction with Meshtastic|meshtastic|
|Clipboard functionality|arboard|
|Bluetooth devices discovery|btleplug|
|TCP devices discovery|mdns-sd|
|Logging|tracing|
|Async/Channels|tokio|
|Configuration|confy, etcetera|
|Errors|anyhow, thiserror|
|Datetime|chrono|
|Emoji selector|emojis|
|Local DB|rusqlite, rusqlite_migration|
Download
Latest releases are available here: github.com/acelot/termtastic/releases
8 points · 10 comments
Bilgisayarınızda Terminal Varsa Bunları Bilmelisiniz
🖥️ Tier 3 veri merkezinde VDS ve VPS için Netverim'i ziyaret edin 👉🏻 go.yusufipek.me (YUSUFIPEK20 koduyla %20 İNDİRİM)
Bu video sponsorumuz Netverim'in reklamını içermektedir. #reklam
Orhun Parmaksız ve Ratatui
github.com/orhun
youtube.com
ratatui/ratatui
👉🏻 YouTube'un Metasını Öğrettiğim Kursum: go.yusufipek.me
🔗 Beni bulabileceğiniz diğer platformlar için - go.yusufipek.me
🤝 İşbirlikleri için: go.yusufipek.me
💬 Forum: go.yusufipek.me
━━━━━━━━━━━━━━━━━━━━━━━━
KAYNAKLAR
━━━━━━━━━━━━━━━━━━━━━━━━
1) Orhun Parmaksız ve Ratatui
orhun.dev
ratatui/ratatui
2) Swaggerfall
holonaut64.itch.io
3) ADS-B TUI
j4v3l/ADS-B_TUI
4) Metropolis
5c0/metropolis
5) Textual Paint
1j01/textual-paint
6) Inertia
aclfe/inertia
7) Ratty
orhun/ratty
8) Zoetrope
furkankly/zoetrope
9) llmfit
AlexsJones/llmfit
10) btop
aristocratos/btop
11) bandwhich
imsnif/bandwhich
12) cloudflare-speed-cli
kavehtehrani/cloudflare-speed-cli
13) Bufferbloat videom
youtube.com
14) Trippy
fujiapple852/trippy
15) DNS Globe
514-labs/dnsglobe
16) gdu
dundee/gdu
17) lazydocker
jesseduffield/lazydocker
18) Patent
r14dd/patent
00:00 Giriş
00:39 Orhun Parmaksız ve Ratatui
01:00 Swaggerfall: Terminalde Açık Dünya Oyunu
01:28 ADS-B TUI ile Uçak Takibi
01:48 Metropolis: Sistem Ölçümleri Şehre Dönüşüyor
02:17 Textual Paint ile Terminalde Çizim
02:43 Inertia ile Terminalde Fizik Deneyleri
03:03 Orhun Anlatıyor: 3 Boyutlu Terminal Ratty
05:52 Zoetrope ile Ajan Oturumlarını İzleme
06:27 llmfit: Donanıma Sığan Yerel Modeller
07:00 btop ile Sistem ve Sunucu İzleme
08:29 bandwhich: İnterneti Hangi Program Kullanıyor
08:52 Cloudflare Speed CLI ve Bufferbloat Puanı
09:37 Trippy ile Bağlantının Yolunu İzleme
10:04 DNS Globe ile DNS Yayılımını Kontrol
10:33 gdu: Diskinizi Ne Dolduruyor
10:54 lazydocker ile Docker Hatalarını Bulma
11:21 Patent ile Benzer Projeleri Arama
11:58 Terminal Uygulamaları Daha mı Güvenli?
1,078 likes · 99 comments · 47,083 views
🖥 Tier 3 veri merkezinde VDS ve VPS için Netverim'i ziyaret edin 👉🏻 go.yusufipek.me (YUSUFIPEK20 koduyla %20 İNDİRİM)
Orhun Parmaksız ve Ratatui:
github.com/orhun
youtube.com
ratatui/ratatui
👉🏻 YouTube'un Metasını Öğrettiğim Kursum: go.yusufipek.me
🔗 Beni bulabileceğiniz diğer platformlar için - go.yusufipek.me
🤝 İşbirlikleri için: go.yusufipek.me
💬 Forum: go.yusufipek.me
4 likes · 2 comments
🏆 [GitHub Repo of the Day] ratatui: The Free Tool Taking Over GitHub! #shorts
Discover ratatui/ratatui: A Rust crate for cooking up terminal user interfaces (TUIs) ratatui.rs
💬 Comment "RATATUI" below for the direct link, or grab it from the links below:
👉 Interactive Star History & Live Analysis:
githubrepo.cloud
⭐ Embed Live Verified Badges in your README:
githubrepo.cloud
🔗 Direct GitHub Repository:
ratatui/ratatui
📊 Repository Specs:
⭐ Stars: 22,851
🍴 Forks: 794
💻 Language: Rust
📜 License: MIT
#shorts #ratatui #cli #rust #terminal #linux #devops #commandline #sysadmin
27 views
Ratcn, the shadcn for Ratatui finally has an Input and a Textarea
I asked in this forum a few months ago if it was a good idea to build a "shadcn for TUI apps", that is .. a component library with sensible defaults, that supports theming, components that look good together and have good developer ergonomics. Components that you can copy into your codebase and modify if you don't like the default behaviour.
The community overwhelmingly said "DO IT!", so I did.
Now, the library have reached v0.0.6, and is looking more and more .. not complete.. but complete enough to be used to build actual apps.
Try the interactive demo! 👇 👇
ssh ratcn.com
v0.0.6 adds two long requested core components: Input and Textarea. They are both based on ratatui-textarea.
Other notable changes and additions in the last few versions:
- Clipboard support. Copy/cut/paste from input and textarea
- Support for pointer shapes. Pointer hand over buttons, grab hand over scroll bars, cursor in text fields, etc. Fully customizable, works with any component.
- Components support vim motions by default: h/j/k/l, etc
- The cargo-ratcn CLI: Usecargo ratcn init to initialize a new project. cargo ratcn add copies components from the ratcn package.
- An interactive showcase app, served over ssh: ssh ratcn.com
There is much more to be said about ratcn but I wanted to keep this post rather short, no one likes essays. For more info and extensive documentation check out ratcn.com.
The AI disclaimer if anyone cares to know: I began working on the project doing mostly artisanal coding, perhaps 80/20 human/AI. Over time, as the size of the project has grown I have used more and more agentic support. Currently the ratio is the opposite compared to when I began, more like 80/20 AI/human. It def takes some of the joy away but brings other joys, such as the ability to release ratcn this year and not sometime next year.
Anyway, I hope you give the showcase app a try or try building something with the library. Let me know about missing components and any issues you find.
🌱
66 points · 1 comment
Mentions
Building a Terminal-Based GitHub Control Panel in Rust: Meet git-pulse 🚀 !git-pulse --- 🛠 What is git-pulse? git-pulse is a fast TUI (Terminal User Interface) built using Ratatui and Crossterm. It serves as a unified terminal control panel for GitHub, allowing developers to discover trending repositories, monitor project stats, and navigate through repos without opening a browser tab. Key Features: - Terminal-Native GitHub Dashboard: View trending repositories across various programming languages. - Live In-Memory Filtering: Press / to instantly search and filter repos by name, topic, or language. - Custom Color Themes: Toggle between clean visual themes (including Dracula and custom HEX palettes) with T. - Instant Repo Actions: Copy clone commands directly (c) or launch repositories in your browser (o). - Keyboard-First Navigation: Smoothly switch tabs (Tab) and jump between lists (j/k). --- 🚀 Quick Installation You can easily install git-pulse via cargo: cargo install git-pulse Or clone the repository and build from source: git clone [https://github.com/weaztoven/git-pulse.git](https://github.com/weaztoven/git-pulse.git) cd git-pulse cargo build --release --- ⚡ How to Use It Once launched with git-pulse, you can control the entire dashboard using intuitive hotkeys: | Key | Action | | --- | --- | | Tab | Switch between Watchlist, Trending, and My Repos | | / | Start live filtering | | Esc | Clear filter / exit search mode | | T | Change color theme | | c | Copy clone URL to clipboard | | o | Open current repository in browser | | q | Quit application | --- 🤝 Open Source & Contributions git-pulse is fully open-source and built with the Rust community in mind. - GitHub Repository: github.com/weaztoven/git-pulse - Crates.io Package: crates.io If you find this project helpful or have ideas for new features (like pull request management or issue tracking), feel free to leave a star ⭐️ on GitHub, open an issue, or submit a PR! --- What tools do you use to manage your GitHub workflow from the terminal? Let me know in the comments below!
Termtastic — new TUI client for Linux, macOS and Windows preview.redd.it Hello, guys! I wanna introduce you Termtastic — my handmade feature-rich Meshtastic® console (TUI) client written in Rust. preview.redd.it Channels screen Chat Nodes tab Traceroute results Multiline message support Emojis Logs tab Settings tab Repo link: acelot/termtastic I wanted to create a cross-platform, minimalist, and aesthetically pleasing console client. I’ve been working on this application for six months. The entire project was built by hand, without the use of AI (aside from looking up reference information). This process gave me a deep understanding of how Meshtastic works under the hood; I’ve thoroughly explored its protocol and behavioral nuances. As the project evolved, I contributed to the official Meshtastic library for Rust, adding new features and making minor fixes. The long-term goal of the project is to achieve feature parity with the official Android app. The project is currently in the alpha-testing stage, so there may be bugs — some of which could even cause the program to crash. That’s why I need your help: please give my application a try — I’m confident many of you will enjoy it! Any feedback is welcome via Issues in Github. Highlights - Vibecode-free fully handwritten code - Dependency-free single-binary application - Cross-platform: Linux, macOS, Windows - Fully asynchronous (Tokio channels-based) - Optimized for small screens (down to 80x24 characters) - Respects the user terminal colors (no fancy opinionated TrueColor schemes) - Keyboard-centric UI navigation - Minimum use of emoji/non-ascii characters in UI - Small memory footprint (~20KB) - Supports multiple connection protocols (TCP, BLE, Serial) - Could discover devices automatically: BLE paired devices, TCP devices via mDNS, Serial devices - Uses standard system directories for storing configuration, database and logs Tech stack |Feature|Library| |:-|:-| |TUI: Framework|ratatui| |TUI: Backend|crossterm| |TUI: Inputs|ratatui-textarea| |TUI: Lists|tui-widget-list| |Interaction with Meshtastic|meshtastic| |Clipboard functionality|arboard| |Bluetooth devices discovery|btleplug| |TCP devices discovery|mdns-sd| |Logging|tracing| |Async/Channels|tokio| |Configuration|confy, etcetera| |Errors|anyhow, thiserror| |Datetime|chrono| |Emoji selector|emojis| |Local DB|rusqlite, rusqlite_migration| Download Latest releases are available here: github.com/acelot/termtastic/releases
Lemme introduce to you my TUI client — Termtastic Hello, guys! I wanna introduce you Termtastic — my handmade feature-rich Meshtastic® console (TUI) client written in Rust. preview.redd.it Repo link: acelot/termtastic I wanted to create a cross-platform, minimalist, and aesthetically pleasing console client. I’ve been working on this application for six months. The entire project was built by hand, without the use of AI (aside from looking up reference information). This process gave me a deep understanding of how Meshtastic works under the hood; I’ve thoroughly explored its protocol and behavioral nuances. As the project evolved, I contributed to the official Meshtastic library for Rust, adding new features and making minor fixes. The long-term goal of the project is to achieve feature parity with the official Android app. The project is currently in the alpha-testing stage, so there may be bugs — some of which could even cause the program to crash. That’s why I need your help: please give my application a try — I’m confident many of you will enjoy it! Any feedback is welcome via Issues in Github. Highlights - Vibecode-free fully handwritten code - Dependency-free single-binary application - Cross-platform: Linux, macOS, Windows - Fully asynchronous (Tokio channels-based) - Optimized for small screens (down to 80x24 characters) - Respects the user terminal colors (no fancy opinionated TrueColor schemes) - Keyboard-centric UI navigation - Minimum use of emoji/non-ascii characters in UI - Small memory footprint (~20KB) - Supports multiple connection protocols (TCP, BLE, Serial) - Could discover devices automatically: BLE paired devices, TCP devices via mDNS, Serial devices - Uses standard system directories for storing configuration, database and logs Tech stack |Feature|Library| |:-|:-| |TUI: Framework|ratatui| |TUI: Backend|crossterm| |TUI: Inputs|ratatui-textarea| |TUI: Lists|tui-widget-list| |Interaction with Meshtastic|meshtastic| |Clipboard functionality|arboard| |Bluetooth devices discovery|btleplug| |TCP devices discovery|mdns-sd| |Logging|tracing| |Async/Channels|tokio| |Configuration|confy, etcetera| |Errors|anyhow, thiserror| |Datetime|chrono| |Emoji selector|emojis| |Local DB|rusqlite, rusqlite_migration| Download Latest releases are available here: github.com/acelot/termtastic/releases
Bilgisayarınızda Terminal Varsa Bunları Bilmelisiniz 🖥️ Tier 3 veri merkezinde VDS ve VPS için Netverim'i ziyaret edin 👉🏻 go.yusufipek.me (YUSUFIPEK20 koduyla %20 İNDİRİM) Bu video sponsorumuz Netverim'in reklamını içermektedir. #reklam Orhun Parmaksız ve Ratatui github.com/orhun youtube.com ratatui/ratatui 👉🏻 YouTube'un Metasını Öğrettiğim Kursum: go.yusufipek.me 🔗 Beni bulabileceğiniz diğer platformlar için - go.yusufipek.me 🤝 İşbirlikleri için: go.yusufipek.me 💬 Forum: go.yusufipek.me ━━━━━━━━━━━━━━━━━━━━━━━━ KAYNAKLAR ━━━━━━━━━━━━━━━━━━━━━━━━ 1) Orhun Parmaksız ve Ratatui orhun.dev ratatui/ratatui 2) Swaggerfall holonaut64.itch.io 3) ADS-B TUI j4v3l/ADS-B_TUI 4) Metropolis 5c0/metropolis 5) Textual Paint 1j01/textual-paint 6) Inertia aclfe/inertia 7) Ratty orhun/ratty 8) Zoetrope furkankly/zoetrope 9) llmfit AlexsJones/llmfit 10) btop aristocratos/btop 11) bandwhich imsnif/bandwhich 12) cloudflare-speed-cli kavehtehrani/cloudflare-speed-cli 13) Bufferbloat videom youtube.com 14) Trippy fujiapple852/trippy 15) DNS Globe 514-labs/dnsglobe 16) gdu dundee/gdu 17) lazydocker jesseduffield/lazydocker 18) Patent r14dd/patent 00:00 Giriş 00:39 Orhun Parmaksız ve Ratatui 01:00 Swaggerfall: Terminalde Açık Dünya Oyunu 01:28 ADS-B TUI ile Uçak Takibi 01:48 Metropolis: Sistem Ölçümleri Şehre Dönüşüyor 02:17 Textual Paint ile Terminalde Çizim 02:43 Inertia ile Terminalde Fizik Deneyleri 03:03 Orhun Anlatıyor: 3 Boyutlu Terminal Ratty 05:52 Zoetrope ile Ajan Oturumlarını İzleme 06:27 llmfit: Donanıma Sığan Yerel Modeller 07:00 btop ile Sistem ve Sunucu İzleme 08:29 bandwhich: İnterneti Hangi Program Kullanıyor 08:52 Cloudflare Speed CLI ve Bufferbloat Puanı 09:37 Trippy ile Bağlantının Yolunu İzleme 10:04 DNS Globe ile DNS Yayılımını Kontrol 10:33 gdu: Diskinizi Ne Dolduruyor 10:54 lazydocker ile Docker Hatalarını Bulma 11:21 Patent ile Benzer Projeleri Arama 11:58 Terminal Uygulamaları Daha mı Güvenli?
🖥 Tier 3 veri merkezinde VDS ve VPS için Netverim'i ziyaret edin 👉🏻 go.yusufipek.me (YUSUFIPEK20 koduyla %20 İNDİRİM) Orhun Parmaksız ve Ratatui: github.com/orhun youtube.com ratatui/ratatui 👉🏻 YouTube'un Metasını Öğrettiğim Kursum: go.yusufipek.me 🔗 Beni bulabileceğiniz diğer platformlar için - go.yusufipek.me 🤝 İşbirlikleri için: go.yusufipek.me 💬 Forum: go.yusufipek.me
🏆 [GitHub Repo of the Day] ratatui: The Free Tool Taking Over GitHub! #shorts Discover ratatui/ratatui: A Rust crate for cooking up terminal user interfaces (TUIs) ratatui.rs 💬 Comment "RATATUI" below for the direct link, or grab it from the links below: 👉 Interactive Star History & Live Analysis: githubrepo.cloud ⭐ Embed Live Verified Badges in your README: githubrepo.cloud 🔗 Direct GitHub Repository: ratatui/ratatui 📊 Repository Specs: ⭐ Stars: 22,851 🍴 Forks: 794 💻 Language: Rust 📜 License: MIT #shorts #ratatui #cli #rust #terminal #linux #devops #commandline #sysadmin
Ratcn, the shadcn for Ratatui finally has an Input and a Textarea I asked in this forum a few months ago if it was a good idea to build a "shadcn for TUI apps", that is .. a component library with sensible defaults, that supports theming, components that look good together and have good developer ergonomics. Components that you can copy into your codebase and modify if you don't like the default behaviour. The community overwhelmingly said "DO IT!", so I did. Now, the library have reached v0.0.6, and is looking more and more .. not complete.. but complete enough to be used to build actual apps. Try the interactive demo! 👇 👇 ssh ratcn.com v0.0.6 adds two long requested core components: Input and Textarea. They are both based on ratatui-textarea. Other notable changes and additions in the last few versions: - Clipboard support. Copy/cut/paste from input and textarea - Support for pointer shapes. Pointer hand over buttons, grab hand over scroll bars, cursor in text fields, etc. Fully customizable, works with any component. - Components support vim motions by default: h/j/k/l, etc - The cargo-ratcn CLI: Usecargo ratcn init to initialize a new project. cargo ratcn add copies components from the ratcn package. - An interactive showcase app, served over ssh: ssh ratcn.com There is much more to be said about ratcn but I wanted to keep this post rather short, no one likes essays. For more info and extensive documentation check out ratcn.com. The AI disclaimer if anyone cares to know: I began working on the project doing mostly artisanal coding, perhaps 80/20 human/AI. Over time, as the size of the project has grown I have used more and more agentic support. Currently the ratio is the opposite compared to when I began, more like 80/20 AI/human. It def takes some of the joy away but brings other joys, such as the ability to release ratcn this year and not sometime next year. Anyway, I hope you give the showcase app a try or try building something with the library. Let me know about missing components and any issues you find. 🌱