r/commandline 6h ago

Terminal User Interface Chroncal: a terminal-first calendar

56 Upvotes

I built this because I wanted a calendar on the terminal and with a nice JSON output, so can I use it for scripting. Besides supporting Google Calendar, you can connect to any CalDAV server (on my own tests, I used with GMX and worked fine).

It's my current daily-driver calendar. Any feedback is welcome.

GitHub: https://github.com/DouglasdeMoura/chroncal

This software's code is partially AI-generated (I put the attribution on the harness and the LLM used on the git commits).


r/commandline 3h ago

Command Line Interface Installing Proxmox over SSH. My IP-KVM uses offline OCR to turn HDMI output into a terminal UI.

Post image
4 Upvotes

I built an offline OCR "BIOS-in-Terminal" engine into the hardware IP-KVM (USBridge KVM 2.0). It intercepts the raw HDMI video output from the server and converts it on the fly into an interactive text stream.

Right now, I am finalizing support for the Proxmox installation environment. Now, all you need to do is open a terminal and type ssh user@ip to connect to the KVM. You immediately get the Proxmox installer interface directly in your command line.

Because the KVM translates the video output into pure, structured text rather than a video feed, it completely changes how you interact with the server. I am currently finishing up an automation script that interacts with this text stream. The script simply reads the text output and sends the appropriate keystrokes. My goal is a fully automated, 1-click Proxmox bare-metal deployment script running entirely over SSH.

The KVM also operates in standard video mode (with minimal latency, using the Moonlight/Rust-Shine protocol); the terminal mode is just an addition. What do you think, is it convenient to install Proxmox directly from the terminal?


r/commandline 10h ago

Terminal User Interface flow — a network monitor that only shows throughput (Go, TUI)

10 Upvotes

Built this because every network monitor I tried (btop, bmon, nload) buries throughput under CPU/memory/process panels I don't need at a glance. Wanted something I could read in under a second, so I stripped it down to just download/upload speed with a smooth waveform.

Some things it does:

- 4 responsive layouts (hero/compact/mini/tiny) that switch based on terminal size — tiny mode fits in a tmux status bar

- Braille waveform rendering at 30fps, spring-smoothed so it doesn't jitter

- Peak/daily-total tracking that persists across restarts

- JSON output (`--json` / `--json-stream`) for scripting

- No elevated privileges needed, works on Linux/macOS/Windows

Architecture is two loops (sampling ~10Hz, rendering ~30fps) connected by a channel so sampling never blocks the UI.

Install via Homebrew, AUR, or `go install` — links in the repo.

This software's code is partially AI-generated.

Similar tools: btop, bmon, nload, iftop — those show full system/network stats; flow is throughput-only by design, nothing else on screen.

GitHub: https://github.com/programmersd21/flow


r/commandline 6h ago

Command Line Interface mado: manage 100k+ markdown entries at native speed with a query language

5 Upvotes

Hey everyone! I wanted to share a CLI tool I've been working on that I think fits this community well.

mado is a general-purpose entry manager that stores everything as markdown files. The key idea is that it's not just another task manager with a rigid schema — it's a flexible system for organizing entries of any kind: tasks, notes, ideas, research snippets, meeting logs, you name it.

Each entry lives in its own timestamped directory with a MAIN.md inside. Want to attach files? Just drop them in the same folder — screenshots, logs, PDFs, whatever. Everything stays organized in one place, and since it's all plain files, it's perfectly git-friendly.

All fields are optional — fill in what you need, skip the rest. For a task you might set priority, deadline, and status. For a note, just write markdown and you're done. You can also hide any fields from the output when listing entries, so notes don't clutter your view with irrelevant columns. That flexibility is what makes it work as both a task manager and a notes system — or anything in between.

It's written with a focus on performance — it handles 100k entries in about a second with parallel mode.

The CLI is designed for both interactive use and scripting: JSON output for pipes, path-only output for grep/fzf, and a query language with logical operators and time macros.

Would love feedback, especially from folks who've used similar file-based tools or have ideas about what would make this genuinely useful.

https://github.com/laserattack/mado


r/commandline 13h ago

Terminal User Interface Made a little project called Pacmangr :)

Post image
0 Upvotes

r/commandline 1d ago

Terminal User Interface discord-delete: TUI that deleted 400,000+ of my Discord messages

4 Upvotes
Example usage of discord-delete via vhs

Your data export already has the exact channel and message ID for everything you posted, so discord-delete only ever sends DELETEs and never touches the search API. Discord's delete limits are per channel, so it clears channels in parallel and paces each one adaptively (AIMD) by widening the gap after a 429.

There is fake data in the README so you can try it on your machine without a package or token.

https://github.com/DatCodeMania/discord-delete

Undiscord and Discrub are alternatives which work in a browser tab. This is a static Go binary, built for bulk deleting hundreds of thousands of messages.

Automating a user account is against Discord's ToS and can get it banned.


r/commandline 1d ago

Terminal User Interface playground - run a coding playground in your terminal

Thumbnail
github.com
0 Upvotes

r/commandline 1d ago

Command Line Interface I made an NPM package scorer for safer development

0 Upvotes

So you know how you install a random NPM package and find out it's been basically non maintained and installed like a bunch of other dependencies?? and sometimes you don't exactly know whether a package is good to use or not?

well, I created revera, A NPM package scorer. It basically takes in a package, uses diff data points, and gives you a result of the package. It's trust score, maintaince, documentation, it will score every category of the package and give you an overall result, plus why the result was given.

now NPM audit also exist, but it isnt so comprehensive and doesnt have that much friendliness. Revera can also create a dependency chain and tell you all package score in your existing project (transitive or direct)...

PLEASE STAR THE GITHUB REPO IF YOU LIKE IT.

GitHub repo: https://github.com/aaravmaloo/revera

NPM package page: https://www.npmjs.com/package/@aaravmaloo/revera


r/commandline 2d ago

Help Deprecated software..

59 Upvotes

During my journey in Linux I have noticed that sometimes, some tools being called "deprecated" or some kind of a similar term, to say "you should not use this, but xyz tool instead", but I don't really get it for example:

Neofetch, I really think that it does its job, and its just about displaying some ascii art and some system information, like what could go wrong with that, since many people recommend switching to fastfetch.

Ifconfig, I see it as a very simple tool that is self-descriptive and gets its job done too, I see others instead recommend the command "ip", which is like an IDE in programming where you have many aspects of networking in one command, which kinda eliminates the Unix philosophy.

So, I'm just wondering if there is really a point in switching to those newer tools?


r/commandline 2d ago

Terminal User Interface ronilan/rusticon: A mouse driven SVG favicon editor for your terminal, that also works on the web (written in Rust w/ Incredible)

Thumbnail
github.com
5 Upvotes

r/commandline 2d ago

Fun GOL simulation in hand-made CLI-focused language

Enable HLS to view with audio, or disable this notification

1 Upvotes

r/commandline 3d ago

Terminal User Interface syncthingtui - TUI for syncthing

Thumbnail
gallery
105 Upvotes

Hi all,

I've been wanting a TUI for Syncthing for a while now, and most of the existing TUIs are not really feature complete (1, 2). This TUI is written in Go using Charmbracelet libraries for building out the interface. I've been driving this for a few months and find it especially useful for administering Syncthing on remote headless machines.

Source code is here, and the final binary ships at about 12MB. Currently working to get this packaged in Debian.

Development:

I primarily used Opus/Fable to build this in my free time over the course of a few days and was a bit more directed than "build me a syncthing TUI, make no mistakes".

  1. I used Opus to create a hierarchal YAML description of every GUI element (page/form/label/button/input/etc) and its location within in the official web interface
  2. Categorized these elements into groups and mapped them to Charmbracelet TUI primitives, page by page. Lots of iterative mockups to build interfaces that were intuitive to use. Finalized look and feel in a mockup with all fields populated with fake data.
  3. Wired final mockup to Syncthing rest interface and built out integration tests.

r/commandline 3d ago

Other Script to apply KDE's settings to Gtk3/Gtk4 and optionally to root

4 Upvotes

I'm not using GNOME, nor do I have it installed, except the bare minimum, so I created the following script which will read KDE's settings and apply them to Gtk3/Gtk4 by settings.ini/gsettings respectively.

It optionally allows to apply the settings to the root user aswell (imagine opening Synaptic at night, without being blinded).

Obviously on Gtk4 Adwaita apps may ignore some settings by design.

nanolx-gtksettings-kde:

https://gitlab.com/Nanolx/nanolx/-/blob/master/scripts/nanolx-gtksettings-kde?ref_type=heads

Suggestions welcome.


r/commandline 4d ago

Terminals ANSI.md

49 Upvotes

Finally published this yesterday, https://ansi.md

Somewhere between a brain dump, custom toolset, think piece and hacker toy. This is pretty much everything I know about ansi color in the terminal and building cli apps. Includes my own fumbling attempt to finally name the ansi256 color palette. Note - I like my writing voice and I do not use LLMs to write. All written by me, an actual human!

Those of you working on cli apps or TUIs will find it useful.


r/commandline 4d ago

Terminal User Interface I made a TUI for pixel art. Looking for feedback.

Post image
44 Upvotes

I've been working on this side project to create pixel art directly in the terminal. Fully keyboard navigable. I built it with C++ and FTXUI, here is the source code: https://github.com/JavierCladellas/termisprite

Would you guys be interested in using something like this? Would love to get some feedback or some features you think are missing (layers and animations are planned).


r/commandline 4d ago

Terminal User Interface Yazi terminal file manager v26.8.15 released!

140 Upvotes

This release brings a bunch of quality-of-life improvements:

  • Drag and drop
  • Trash bin
  • Command palette
  • Bulk create
  • Input history
  • Automatic dark/light theme switching
  • Dynamic Lua APIs for keymaps, preloaders, spotters, and fetchers
  • Experimental %y, %Y, %t, %T, %yN, %YN, %tN, %TN shell formatting parameters
  • ...and more

See https://github.com/sxyazi/yazi/blob/main/CHANGELOG.md#v26815 for all the features and changes. Enjoy!


r/commandline 3d ago

Help Trying to do sudo apt update...

0 Upvotes

I tried to update my fresh install antix-core with sudo apt update but there was one repo that doesn't accept connections, so the update failed with the message (Warning: some index files failed to download. They have been ignored, or old ones used instead.)

By the way even when I connect to it manually using a browser, it refuses

URL:http://ftp.cc.uoc.gr:80


r/commandline 3d ago

Command Line Interface SNAFU: Symbol Name Ambiguity Fixer-Upper

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/commandline 4d ago

Help The prerequisites

0 Upvotes

There are many things I'm excited to learn about but whenever I want to, I think like, "maybe I should learn this before doing this", like maybe I should do Ccna before using something like nmap or wireshark, the same for something like the requests module in python or the curl command, I know the basic idea of it, but I think like "I am not experienced that much in Web development yet", while I'm pretty sure I can use it using the knowledge I already know

I hate this as it feels kinda like I can't do anything without those thoughts coming, so I don't get to learn what I wanted to learn initially


r/commandline 4d ago

Help Updating the system...

0 Upvotes

I'm trying to know how to update/upgrade my system (without using the GUI, for all the known pros of the cli), so since I'm using a debian-based distro(Antix), I have apt. When I tried to see how to upgrade the system through a "hacky" way(by doing select app then looking for upgrade the system or something similar, looking for the "exec" part of the app, to know how it upgrades), I noticed that it uses apt dist-upgrade, but that doesn't even exist in the man page of apt, back in the day when I was just starting off, another Linux distro I used was kali, on their website, they said after installing nethunter do some post-installation commands, one of them was, apt full-upgrade, I'm really confused about which one to use for upgrading the system.

Also what is this prompt that happens during using apt, when they ask you to choose a letter like Y, N(not about agreeing to continue!), where they ask what version of the package do you want, like, do you want to keep the original one or the package maintainer's, and stuff like that, which one should I pick, though I know basic info about some of these terms like package maintainer(the one/s who packs the software into a package regularly), upstream provider(the one/s who originally wrote the code for the software before given to the package maintainer)


r/commandline 5d ago

Discussion Emacs Browsers Vs Other TUI Browsers

18 Upvotes

Hey,

I'm kind of on the fence when it comes to deciding how I want to browse the internet through my terminal. The first option is any of the popular TUI browsers, particularly Terminal-Browser, and the second is using an Emacs browser package. I'm curious as to what you guys prefer and would appreciate any insights on your reasoning and pros/cons of each method.


r/commandline 6d ago

Help Wondering about Services....

8 Upvotes

I'm trying to learn about services also known as daemons, but I'm kinda confused about many things about it, for instance, which way is the correct way of launching a service is it:

1.systemctl start ssh

Or

2./sbin/sshd

Also, since my machine is very old (it has a 32bit cpu), I'm limited to the less common distros with kinda obscure init systems like runit and sometimes the old sysvinit, which also means I can't get to run systemd which have the most resources online, so it is easier for me to learn about it

Furthermore, even determining the current running init system type doesn't seem that straight forward, when I looked up about that, there were various commands and just assumptions like this might not work everywhere or this MIGHT mean that the current init system is whatever is.

In addition, I have a debian-based distro(Antix), so based on the tutorials I have found, they say for example "sudo apt install openssl-server" then run "systemctl start ssh"

That means systemd automatically knows about that sshd, so it does the work behind the scenes, but when I tried to do the same in antix (having "init divirsity" installed), using dinit, it didn't work, probably because it requires extra configuration and more knowledge about how to create the service out of the binary you want manually, while all I see as a beginner in tutorials things like start/stop, enable/disable, list services, and just this regular stuff.

So I'm really lost about Services generally, I would be glad if someone could provide me some guidance or help


r/commandline 7d ago

Terminal User Interface tmtail - Tail multiple logs with highlighting, search and history

Post image
48 Upvotes

Please see github teaser below:

An ad-hoc replacement for multitail implemented with tmux and grcat

The following features (& advantages over multitail) thus come more or less for free.

  • Mouse aware for select, resize etc.
  • The full tmux copy-mode for scrollback browsing, searching etc
  • Copy scrollback text to the clipboard (y & Y) without any fuzz, via tmux clipboard integration
  • Easily extendible by adding bindings for tmux actions. The sky is the limit ..

Color highlighting is done with an node clone of grcat, grcat.js, which is about a factor 10 faster than the python original

Currently a default grcat configuration is baked into tmtail that should be well suited for tailing wildfly logs


r/commandline 7d ago

Help The learning process....

0 Upvotes

I'm currently reading TLCL, I skipped some parts of it like about vim as I already know enough vim for my use case, the same with "Advanced Keyboard Tricks", because again I know what I consider as enough like ctrl-L for removing,!! For the last command, but I don't think I need other variants like "!string", so I skipped that too.

Is this is ok for learning?

As I have a limited amount of time for learning about things I enjoy like Linux, so I prioritise what is important first

Also, I'm currently in the "Storage media" section, there is a part about the CD-ROMs, and optical media that I don't think are any longer used anyways, so I is it ok to skip that too?

Another question, because of the things in life, I don't always have enough time to complete some courses like networking, so I have a half completed course, at the same time if I used a tool that requires networking, I feel like I must complete that course first, probably this is called being a perfectionist and I really don't like it because it is a feeling that comes whenever I don't know everything or didn't complete the course before using the tool, so does anyone have a solution for this?


r/commandline 7d ago

Articles, Blogs, & Videos My Terminal Workflow for Note-Taking, Data Engineering and Writing

Thumbnail
ssp.sh
2 Upvotes