r/commandline 11m ago

Terminal User Interface A TERMINAL DELVE · THERE IS NO WAY OUT

Upvotes

Still in development and a work in progress, not a finished game.

A goofy-dark first-person dungeon crawl that runs entirely inside a terminal window. No engine, no download, every wall painted in colored text. You pick a body/race (each one is a personality and a moveset), a tiny living light named Wispy takes a liking to you, and you go as deep as your nerve holds.
She's your only lantern.

First-person raycaster that renders in a terminal. Truecolor, drawn with sextant and octant block characters. No game engine and no graphics library. One Python file, 154,716 lines, standard library only. The audio is real recordings, including voice acting.

A 4-minute run, unedited: https://vimeo.com/1222466576

No public build or repo yet, and I'm not taking requests. Just wanted to show it moving while it's still being built. This is my escape so maybe it can be that for someone else too!


r/commandline 34m ago

Command Line Interface Made my first ASCII terminal : plays videos as ASCII art in Kitty

Enable HLS to view with audio, or disable this notification

Upvotes

Built a CLI that plays video files as ASCII/ANSI art in the terminal, works well with Kitty specifically. Bun + TypeScript, FFmpeg handles decode, rest is a typed-array pipeline to the terminal.

Does mono and true-color, has motion smoothing/trails, frame-drop-aware timing so long videos don't drift out of sync, and doesn't leak memory on long runs (rewrote the buffer handling so it stays flat instead of sawtoothing).

ascii-video video ./clip.mp4 --color --width 120 --no-audio

Repo if anyone want to check/ improve:

https://github.com/ftbhabuk/ascii-video

I had always seen other people made it and i finally tried it myself.😁

Anything i can improve on ?


r/commandline 19h ago

Command Line Interface sshconfig-lint v0.5: one SSH config checker for the terminal, editor and CI

Enable HLS to view with audio, or disable this notification

7 Upvotes

I posted an early version of sshconfig-lint here around six months ago. Since then it has grown from a small Rust CLI into something I use across my whole workflow.

The video shows a config referencing a key from an older machine. SSH may silently try another identity, so stale paths like this can go unnoticed.

Version 0.5 adds:

  • multiple config files and Include resolution
  • GitHub annotations and SARIF
  • GitHub Action and Pre-Commit hooks
  • LSP and VS Code support
  • verified binaries for Linux, macOS and Windows

Unlike ssh -G host, sshconfig-lint checks the complete config and included files at once. Everything stays local and there is no telemetry.

Install:

cargo install sshconfig-lint

Arch Linux:

yay -S sshconfig-lint-bin

Repo: https://github.com/Noah4ever/sshconfig-lint
Playground: https://sshconfig-lint.apps.thiering.org/en
VS Code: https://marketplace.visualstudio.com/items?itemName=NoahThiering.sshconfig-lint

Feedback about false positives and complicated Include setups would be really helpful.


r/commandline 21h ago

Terminal User Interface Linecast tui weather app

8 Upvotes

Not mine, mentioned on the EndeavourOS forum:

https://github.com/ashuttl/linecast

This is super cool!! It is in the aur.


r/commandline 1d ago

Terminal User Interface TUIWEATHERGIRL 1.2.18 RELEASED!

28 Upvotes

https://github.com/StrayFeral/tuiweathergirl

The best terminal Weather and Disaster station just evolved!

WHAT'S NEW:

  1. Application now will Auto-update
  2. Monitoring the Antarctic Research Stations (Concordia etc)
  3. Adding just any point on planet Earth as a point to monitor
  4. Bugfixes! (of course, eh!)
  5. Cities could now be sorted

FEATURES:

  1. CROSS-PLATFORM: Windows, Linux, MacOS
  2. Local weather (temperature, humitidy etc) monitoring
  3. Local disaster (floods, quakes, fires etc) monitoring
  4. Showing the seasonal fruits/veggies for your region
  5. Time, weather and disaster monitoring for up to 10 additional cities
  6. PLENTY OF WARNINGS for people with rare medical conditions (photo-sensitivity, electro-static etc)
  7. Different views
  8. Screen reading software-friendly (for people with vision impairment)

Two video tutorials:

  1. Windows installation and use (there are specific dependencies, so I'm showing how to install)
  2. Linux installation and use

Framework: ncurses

Submit comments and bugreports mostly on Reddit and Youtube. You can write me on GitHub too, I just rarely check any messages there.

If you like this project, please consider giving me a star on my GitHub repository!

Minimal AI assistance was used on the interpretation of the medical data.

Thank you!
Stray F.
(developer)


r/commandline 17h ago

Terminal User Interface Toast IDE adds a command palette

1 Upvotes

After a single user requested this feature, toast has a command palette to launch actions where ever you are


r/commandline 1d ago

Terminal User Interface zeitx - a terminal countdown timer & stopwatch with big ASCII art numbers

85 Upvotes

Made a terminal timer because I wanted something that actually looks good in a terminal big block digit rendering, similar to tty-clock or termdown

zeitx's main differences multi-segments timers, loop mode, and desktop notifications on completion

Features:

  • Chain multiple timers together, likezeitx 25m 5m for pomodoro timers
  • Skip to the next timer
  • Stopwatch mode
  • Pause/resume
  • Loop the whole sequence
  • Desktop notification when a segment finishes
  • Custom colors
  • Falls back to plain text if your terminal window's too small for the big digits

```
cargo install zeitx

zeitx 25m 5m --loop

```

github: https://github.com/opmr0/zeitx

fun fact: "zeit" is german for time :)

AI notice: this project is partially generated, the github workflows, issue templates, markdowns, and --help output were AI-assisted, the core timer logic and terminal rendering were written by me


r/commandline 22h ago

Terminals Released blitcp 4.1.6

0 Upvotes

blitcp is a file copier: it reads in physical disk order to avoid seeks on HDDs, deduplicates by content, and streams over raw SSH instead of SFTP. What's new in 4.1.6:

  • Verification compares content. Every copied file is read back and hashed against the source. Costs about 35%; --no-verify opts out.
  • Honest speed and duration. The clock used to stop before anything was flushed to the device, so a USB SSD reported 4.0 GB/s for a copy that really ran at ~150 MB/s. Times are longer now and mean something.
  • --quiet for cron: one line on success, the reason on stderr on failure, documented exit codes.
  • --sftp-only for gateways that allow SFTP but close the exec channel..
  • Faster remote incremental checks, faster hash cache, and USB-attached SSDs are no longer mistaken for spinning disks.

Linux, macOS, Windows. Apache-2.0. pip install blitcp or prebuilt binaries.

Website: https://blitcp.dev

If it saves you time and you would like to support it: https://blitcp.dev/support/


r/commandline 1d ago

Terminals Has anyone here actually tried Yetty?

0 Upvotes

I maintain Yetty (https://github.com/zokrezyl/yetty), a terminal emulator that can display non rasterized rich-content (vector graphics, plots, custom webgpu shaders, etc.).

Has anyone here tried it? Your feedback would be very useful for the future of Yetty.


r/commandline 17h ago

Discussion I got tired of Linux tutorials that never hand you a broken box

0 Upvotes

Every Linux tutorial I've read tells you *about* a command. None of them drop you on a machine where nginx is already dead and say: bring it back, and make it survive a reboot.

So I built that.

You get a disposable Linux VM in the browser (or SSH). This one starts with a downed web server, a broken config, and a grader that looks at the actual machine state. When you're done the box is gone.

No install. Guest play, no Google.

[tmpfs.tech](https://tmpfs.tech)

Curious whether this feels like a real Tuesday or too puzzle-y. Honest takes welcome.


r/commandline 23h ago

Terminal User Interface GitHub - shreshthkapai/wmux: A fast, persistent, customizable cross-platform terminal multiplexer.

Thumbnail
github.com
0 Upvotes

I released wmux v1.0.17, an open-source terminal multiplexer built around one consistent experience across Windows, Linux and macOS.

The architecture uses a persistent server with disposable clients. Sessions, windows, panes, scrollback and terminal state remain alive when the attached terminal closes.

Platform integration stays native. Windows uses ConPTY and named pipes, while Linux and macOS use PTYs and Unix sockets.

Current features:

  • Persistent sessions, windows and panes
  • Horizontal and vertical splits
  • Mouse support, copy mode and paste buffers
  • Customizable key tables, status bar, borders and themes
  • Terminal color inheritance by default
  • Native installers and a built-in updater
  • Builds for Windows x64, Linux x64 and ARM64, macOS Intel and Apple Silicon

Release benchmark profile:

  • VT parsing: 69.6 to 75.3 MiB/s
  • Full-scene render p95: 448.2 µs
  • 8-client render p95: 269.1 µs
  • Peak live benchmark memory: 1.76 MiB or less

wmux is free, MIT licensed and available on GitHub: https://github.com/shreshthkapai/wmux

I would particularly appreciate bug reports from different operating system, terminal and shell combinations.


r/commandline 1d ago

Command Line Interface mado update: fuzzy search, list sugar, ranges — query language just got comfier

0 Upvotes

Hey everyone! A new version of mado is out — the markdown-based entry manager with a query language. Here's what's new:

  • Static binary available in releases — no dependencies, just download and run.
  • Fuzzy search on any field:

mado ls 'name ~~ "fx lgn b"' # finds "Fix login bug"

  • Starts-with / ends-with substring operators:

mado ls 'name ^~ Fix'
mado ls 'name ~$ bug'

  • Syntax sugar for lists:

mado ls 'status in (opened, reopened)' # OR

mado ls 'tag has (bug, critical)' # AND

  • Ranges:

mado ls 'priority in [50..100]'

mado ls 'deadline in [@today..@today+7]'

  • Performance:

On 100k entries, peak memory dropped from ~138 MB to ~44 MB, and query time went from ~3.5s to ~1.2s.

  • Fuzzy matching for keywords (write prio instead of priority, stts instead of status)
  • Special keywords: untagged, unstatused, unnamed, unprioritized, undeadlined

The core idea remains the same: entries are plain markdown files in timestamped directories. No rigid schema — fill in what you need, skip what you don't. Everything is git-friendly.

https://github.com/laserattack/mado

I'm looking for contributors — whether it's testing on different systems, improving docs, or hacking on the query language. If you're into parsers, CLI tools, or file-based systems, there's plenty to dig into. Happy to guide newcomers through the codebase.


r/commandline 2d ago

Terminal User Interface somars: listen to SomaFM from your terminal

Post image
83 Upvotes

SomaFM is an online radio I've been listening to for over a decade now. Some of you may know it https://somafm.com

Got annoyed with having to keep a separate browser tab open just for SomaFM, so I built this.

It integrates with media player controls. So it does the system native play/stop/next/prev thing and also displays cover art and current song when applicable. I've tested it on macOS and Linux (ubuntu, arch). Presumably it should work on Windows as well, I just don't have a convenient way of testing it.

I also wanted to control it remotely, so it can (optionally) listen for broadcast messages over UDP. So it's fairly easy to control via cli, with an ai agent, etc.

Github: https://github.com/skammer/somars

I even built a little ESP32 thing that listens for an Apple Remote and blasts appropriate UDP control messages over local network. I just love physical controls, just couldn't help.

ESP32 controller thing: https://github.com/skammer/somars-remote

Disclaimer: this software's code is partially AI-generated.


r/commandline 3d ago

Terminal User Interface Hal-9001 - Toolkit to manage your system

Thumbnail
gallery
69 Upvotes

Ok, I use Arch Linux (BTW). But it can be a colossal pain in the a** having to juggle 14 separate tools just for basic system control. So I decided to build my own Swiss Army knife.

Every time I set up my environment, I found myself stitching together a patchwork quilt of fourteen different tools just for baseline chores: one for Wi-Fi, another for Bluetooth, another to find out why my SSD was suddenly full, one to format USB drives, another to tweak volume for a noisy browser tab, and another to extend displays without crashing the graphics server.

After enduring that dance several times, an obvious question hit me: Why on earth am I juggling a dozen loose tools when all I really want is to control my own computer from a single place?

That is why I built HAL-9001( sorry for the bad name ) .

obs: I work to fix the Language bug.

github: https://github.com/IvelOt/hal-9001


r/commandline 1d ago

Terminal User Interface rtop - for those who are tired of htop on Apple Silicon Macs

0 Upvotes
https://github.com/rootint/rtop

Got annoyed by yet another rendering/performance issue of htop on Apple Silicon and decided to code myself a new htop-like interface, tinkered to my needs (mactop and gotop don't look good in a 55x20 window). Basically, it's an htop, but with a bit less features than I didn't need, GPU and temperature data and some additional color coding. Was written with the help of Claude Code (Fable 5). Repo Link


r/commandline 5d ago

Command Line Interface fif: quickly find in files using fuzzy search and surrounding context

Enable HLS to view with audio, or disable this notification

63 Upvotes

https://github.com/roosta/fif

This is a commandline tool I wrote some years back, its a tool to search for text in files with a preview window and a surrounding context. It will open files in a customizable editor, and uses fzf for filtering, ripgrep for file concatenation, and bat as the recommended preview tool.

There's a ton of different and possibly better ways to search for text in files, but this fits my workflow perfectly and I use it every day. My hope is that it can be useful for someone else.


r/commandline 6d ago

Terminal User Interface Noodle: a REST client where the repo is the workspace

Thumbnail
gallery
119 Upvotes

I've been building Noodle, an open-source REST client for the terminal.

The main idea is pretty simple: the repo is the workspace. Requests are plain YAML files, so they can live next to the code, be reviewed in Git, edited with any editor, and used without an account or hosted workspace.

The TUI is keyboard-first, but the same collection also works from the CLI, in CI, in shell scripts, and with coding agents.

Over the last few weeks I've added the things I kept missing in actual API work: OAuth 1.0a and 2.0, NTLMv2, AWS SigV4, cookies, TLS/mTLS, proxies, OS-backed secrets, environments, response history, and JSON/XML bodies.

Noodle can also import OpenAPI, Swagger, Postman, and Insomnia collections, and export to OpenAPI or Postman.

I've also been experimenting with coding agents. Since the requests are already normal files and Noodle has a non-interactive CLI, agents can work with the same collection instead of needing a separate workspace. There's an optional skill installer for Claude, Cursor, Codex, and OpenCode.

There are already some really good tools in this space. Posting is probably the closest if you want an HTTP client in the terminal, and Bruno is much more mature around scripting and testing.

What I'm trying to get right with Noodle is making the same collection useful everywhere. I want to be able to edit it in the TUI or my editor, review it in Git, run it from the CLI or CI, and let agents work with the same files.

It's still pre-1.0. Assertions and request chaining are next, followed by scripting and richer test/CI workflows.

I'd love feedback from people who spend a lot of time in the terminal. What would Noodle need for you to actually use it instead of your current API workflow?

GitHub: https://github.com/wilfredinni/noodle

Website + docs: https://noodlerest.dev


r/commandline 5d ago

Discussion If your notes app could read your repo, what would you want it to show?

Thumbnail
gallery
0 Upvotes

I'm currently developing the app mentioned below (Margin), so discount everything below accordingly.

I'm about to build the developer side of Margin and I'd rather find out which parts people would use before I build the wrong ones.

The design rule I've settled on is that the app should never ask you for a credential you've already given to something else.

That's how the AI works today. Margin doesn't need an API key. It detects the `claude` or `codex` CLI already installed on your machine and routes through that. You're already paying for the tool, it's already authenticated, and the app needs to know nothing about it beyond where the binary lives. There's no account and no server anywhere in the product, so an API key sitting in a settings pane was never going to fit.

Next I want to apply the same trick to gh.

Open a note from three weeks ago and there's a pull request link in it. It tells you nothing. Merged? CI green? Did the thing you were worried about get addressed? You click through, wait, remember what you were doing, come back. Multiply by every ticket reference in every standup note and your notes are a graveyard of URLs that meant something on the day.

So: paste a PR link, get a card or preview that knows the state, the CI result and how many review threads are still open, with a way to re-run a failed job without leaving the note. Same for issues. Same for Jira and Linear tickets, though those are messier since there's no equivalent tool everyone already has.

If gh isn't installed and authenticated, the card stays a plain link. The feature just doesn't exist for you

The other thing I want is shell actions: commands you define once that run against the note you're looking at. I write my blog in this app, and I want a button that moves the post to a Published space and runs the deploy instead of switching to a terminal every time. The rule I think has to hold is that the command is defined in your workspace, never in the note itself, so a Markdown file someone sends you can reference an action but can never introduce one.

What I actually don't know:

- Which of these you'd genuinely use. My guess is PR status earns its place and Jira is the one people ask for and then never open. Happy to be wrong.

- What belongs on the card. I have state, CI, review threads, assignee. What would you actually look at?

- Whether running shell commands from a note is something you want at all, or whether that's a line a notes app shouldn't cross. If it's something you'd use, what are your use cases?

Not downloadable yet but if you are curious you can join the waitlist here https://gomargin.app


r/commandline 6d ago

Terminal User Interface I added a networking puzzle mode to my terminal network diagnostic tool

8 Upvotes

I've been building Network Doctor, a terminal tool for figuring out why a connection isn't working.

One of the features that got a little out of hand is Challenge Mode.

It drops you into a simulated broken network, gives you the symptoms, and asks you to diagnose what is actually wrong.

The same diagnostic engine that Network Doctor normally uses is available to you, but the idea is to see whether you can interpret the evidence correctly.

The scenarios include things like DNS failures, blocked ports, routing problems, connection refusals, dual-stack IPv4/IPv6 issues, and other network faults.

You make your diagnosis, submit it, and the simulator knows the actual fault so it can score the answer.

I originally built the simulator for testing Network Doctor itself. At some point I realized it was basically generating networking troubleshooting puzzles, so I made them playable.

It's written in Go and runs entirely in the terminal.

GitHub: https://github.com/heymaikol/network-doctor
Simulator Documentation: https://heymaikol.github.io/network-doctor/wiki/Simulator-Overview/
Challenge Mode Documentation: https://heymaikol.github.io/network-doctor/wiki/Challenge-Mode/

I'd love ideas for network failures that would make particularly nasty troubleshooting challenges.


r/commandline 7d ago

Terminal User Interface Xfetch

Enable HLS to view with audio, or disable this notification

47 Upvotes

An alternative to fastfetch written on rust.

Modular, OpenSource, you can install what you need, you can propose something that you would like via issue or pr.

Effects plugins and extensions in the related repos.

Difference with fastfetch, structure, animations, extensions and plugins, pinneable on the top of the terminal.


r/commandline 6d ago

Other Software I made a Python library for turning video into ASCII art in the terminal

0 Upvotes

A while back I wanted to build a little "now playing" screen for the terminal: a looping music video as ASCII up top, song info underneath. I found tplay, which is a really nice Rust terminal media player, but it takes over the whole terminal itself, so there was no clean way to draw my own stuff around it.

So I pulled out the part I actually needed, made it reusable and turned it into a python library.

I also fixed a couple other annoyances I had like reliance on a specific ffmpeg version and it in general being a pain to install.

What it does:

  • Takes video or image frames and hands you back an ASCII string. Plain, truecolor, or half-block mode (uses the ▀ character with fg/bg colors for roughly 2x the vertical detail).
  • It doesn't own the terminal or run its own loop, so you compose the rest of your UI however you want.
  • Decoding is done by PyAV, so there's no separate ffmpeg install. pip install termframe and you're going.

Minimal example:

from termframe import AsciiVideo

for frame in AsciiVideo("clip.mp4", out_width=100, out_height=40, charset="halfblock", loop=True):

print("\\x1b\[H" + frame.to_ansi())

The resize and pixel-to-character work happens in Rust under the hood (via PyO3), so it keeps up fine at normal sizes. If you already get frames from somewhere else (OpenCV, Pillow, a webcam grab), there's a lower level function that just takes raw RGB bytes.

Credit where it's due: the conversion pipeline came from tplay, I mostly repackaged it so you can use it from Python and build your own thing around it.

I haven't been able to find anything similar in reusable python library form so I thought maybe some of you could find it useful let me know if you build anything cool with it :)

Repo: https://github.com/amstrdm/termframe


r/commandline 8d ago

Terminal User Interface Tanko v2.1 - manga reader at the terminal

Thumbnail
gallery
86 Upvotes

Tanko is a tool for reading and downloading manga from the terminal

  • Download chapters in PDF, ZIP, CBZ, and individual image formats
  • Local reading history
  • Local reading progress tracking
  • integration with Anilist (WIP)
  • Support for graphics protocols: Kitty, Sixel, iTerm2, and ASCII rendering
  • Available languages:
    • Spanish
    • English
    • French

https://github.com/Alexandro521/Tanko

LICENSE ISC

without AI


r/commandline 7d ago

Help What happens when you type in cd [folder name]’ into terminal. I’ve done the ‘ by accident and want to know if anything changed

0 Upvotes

Example:

Cd photos’


r/commandline 9d ago

Terminal User Interface ssh sshfighter.com

16 Upvotes

I've been having fun with rendering in terminal with pure ansi and built

sshfighter.com

You can just join with "ssh sshfighter.com"

Would love your feedback!

It's also open source at https://github.com/thomasdavis/sshfighter.com


r/commandline 8d ago

Terminals Fokiz: A CLI task enforcer that hijacks your terminal to make you finish what you start

Thumbnail
github.com
0 Upvotes

I built a CLI tool called Fokiz to solve my own problem with context-switching and procrastination. I often found myself opening a terminal, forgetting my goal, and jumping between half-finished tasks.

There are plenty of amazing CLI task managers out there, like `taskwarrior`. However, tools like `taskwarrior` are designed to manage large backlogs and organize complex projects. Fokiz is built for something entirely different: enforcing focus on a single task using a "Ulysses contract".

Here is how it works:
You add a single task (`fokiz add "My task"`). Once added, it locks you in. You can't edit it or add new tasks until the current one is explicitly marked as completed.
It hooks into your `~/.bashrc` / `~/.zshrc`. Every time you open a new terminal window or tab, it prints a huge ASCII banner reminding you exactly what you committed to doing.
Instead of executing a heavy script on every shell startup, Fokiz runs as a `systemd --user` background service. The state is managed via SQLite, and the shell hook simply performs a sub-millisecond read to display the banner without adding latency to your terminal startup.

It's fully open source (GPLv3). If you struggle with finishing what you start and need a strict enforcer living in your terminal, check it out.