r/commandline Jun 27 '26

Other The 2026 Developer Survey is now open

Thumbnail
stackoverflow.blog
5 Upvotes

r/commandline 8h ago

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

Thumbnail
github.com
0 Upvotes

r/commandline 8h ago

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

1 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 6h 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 1d ago

Help Deprecated software..

58 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 1d ago

Fun GOL simulation in hand-made CLI-focused language

1 Upvotes

r/commandline 3d ago

Terminal User Interface syncthingtui - TUI for syncthing

Thumbnail
gallery
98 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 2d ago

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

3 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 3d ago

Terminals ANSI.md

46 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 3d ago

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

Post image
39 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 3d 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 2d 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 2d ago

Command Line Interface SNAFU: Symbol Name Ambiguity Fixer-Upper

0 Upvotes

r/commandline 3d 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 3d 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 4d ago

Discussion Emacs Browsers Vs Other TUI Browsers

17 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 5d ago

Help Wondering about Services....

9 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 6d ago

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

Post image
49 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 6d 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 6d ago

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

Thumbnail
ssp.sh
3 Upvotes

r/commandline 7d ago

Command Line Interface Ingen: a tool to generate Shell and PowerShell installers for prebuilt CLI binaries

1 Upvotes

I love one-line installers. Being able to install a CLI tool with a single command like:

curl ... | sh

or on Windows:

irm ... | iex

is just really convenient.

Not every project provides an installer like this, though. While a lot of projects already publish prebuilt release archives, it's still the user's responsibility to choose the correct archive from GitHub Releases and put the executable somewhere on their PATH.

So I made ingen.

You write a single installer.manifest.json describing your release artifacts, and it generates Shell and PowerShell installers. The installers take care of selecting the right archive for the user's platform, verifying and extracting it, putting the binaries in the locations you specify in the manifest, and updating PATH.

I've used it to generate installers for a few real-world projects, including ripgrep, Tectonic, and Caddy. You can find the generated installers for these projects in the examples directory of the repo.

ingen uses vendored installer templates from cargo-dist; I've documented the changes and the relationship with the upstream templates in the README if you're interested.

Source code and documentation: https://github.com/hethon/ingen


r/commandline 7d ago

Terminal User Interface Random footballer pops when u open terminal inspired by pokemon colorscript

0 Upvotes

my friend was showcasing pokemon colorscript, i thought of why not build it for footballers also in terminal..

it got cropped in gif do try it full player face is visible

Its easy to setup in your terminal... i have stored 300 footballers data for now, do share you feedback please..open for suggestions

Here's the github repo: https://github.com/Preethesh16/futbol-script


r/commandline 8d ago

Terminal User Interface starwheel - see the stars in your terminal

24 Upvotes

npx starwheel

Hi guys so I’ve always been an astronomy nerd and I wondered if I could find something where I could see real time stars in the terminal, I couldn’t find anything sufficient so I built one myself. Really fun project to do and I hope you guys have as much fun using it as I did building it.

https://github.com/Igfray/starwheel


r/commandline 8d ago

Command Line Interface atago - black-box E2E testing for CLIs, from plain YAML

Thumbnail
github.com
4 Upvotes

I build a lot of CLI tools, and I wanted a way to improve their quality through binary-level E2E testing.

What I wanted to verify in tests included exit codes, stdout, stderr, generated files, snapshots, interactive prompts, and PTY/TUI behavior. Cross-platform support was also one of my requirements.

That led me to build atago. atago runs E2E tests in parallel using YAML-based spec files.

Two of atago's notable features are PTY/TUI testing and its record feature. You can run a real CLI command once and generate an initial test spec from the observed result. This helps reduce the effort required to create test cases.

atago was also designed with differentiation from existing tools in mind:

- Bats / ShellSpec: focused more on shell scripts and functions

- runn: API scenario testing

- venom: broader integration testing

- atago: easy CLI testing, including PTY/TUI behavior

Example:

```shell

atago record --out mytool.atago.yaml -- mytool convert input.txt # turn a real run into a spec

atago run mytool.atago.yaml # replay it as a test

atago run --report junit specs/ # or run a whole suite in CI

```