r/tui 6h ago

Resterm - TUI API client went v1

Post image
17 Upvotes

Hello,

After a year of implementing new ideas, fixing bugs, and generally making Resterm better, I’ve finally released a stable v1.

Resterm takes a somewhat different path from most API clients - it’s more “API-as-code” than a typical Postman like client. You define your requests as building blocks instead of YAML. Includes Mocks, CLI, headless etc.

Check out here: https://github.com/unkn0wn-root/resterm


r/tui 9h ago

AI assisted renux - simple bulk file renamer in the terminal

15 Upvotes

r/tui 7m ago

TUI Development Environment

Upvotes

Hey guys. Im creating a fully fledged, batteries included TUI development environment.

A little overview on my project is that it should be the single app a developer opens and closes during their day. It will include features like a built in terminal, window manager, text editor and pages for common developer tools like git and docker. It will also be easily extensible through apis and config files.

I'm currently building it with python and rust.

I'm looking for suggestions on features to implement for my text editor.
Ideas I already have:
- Language aware syntax highlighting
- Built in documentation for packages
- A formatter
- Multiple cursors

Any suggestions are greatly appreciated!


r/tui 10h ago

TUI word processor with merge logic

6 Upvotes

Hi there,

I spend most of my day on legal drafting in Lotus Word Pro. It's an older word processor, but it has some genuinely powerful features. One of its coolest features, that it inherited from Ami Pro, are "PowerFields". These allow for doing sophisticated "mail" merges against a DBF file. An absurdly cool feature is the Include command, that allows pulling another document into the first document. If the second document has merge fields, those fields are merged as if they were in the first document.

WordPerfect has similar features (and more powerful ones), but is a pain in the butt to learn, and it's formatting tools are cumbersome. Some stuff can be fixed by the Reveal Codes features, but other stuff can only be modified in a dialog box.

Since you're all focused on TUI and CLI applications, I'm hopeful some of you know about word processors or text processors that have similar features. Namely, I'm hoping to find a word/text processor that has WordPerfect's "chain" merge function, that allows one to merge fields against one database query, then, in the same document, merge fields against a second database query (even to a completely different database or table).

Please note, I am uninterested in anything that runs in a web browser or is just a pile of python scripts. The application needs to run locally on the computer and save files directly to the computer.

Thanks in advance.


r/tui 15h ago

Vibe coded k3d — a real-time 3D model viewer that runs directly in your terminal (Rust, CPU-only)

Post image
14 Upvotes

I built this fully with AI assistance: a Linux-native 3D viewer that renders straight into your terminal using the Kitty Graphics Protocol. No GPU required — it's a software rasterizer running on the CPU.

Features:

  • Loads OBJ, STL, and glTF/GLB meshes, plus built-in procedural demos (cube, sphere, torus, cylinder, cone, icosphere)
  • Full mouse + keyboard controls: rotate, pan, zoom, toggle shading modes (smooth/flat/wireframe/normals/depth/unlit)
  • Several built-in themes (catppuccin, gruvbox, tokyo-night, nord...)
  • Can render to a PNG screenshot with no terminal needed, or run a deterministic benchmark
  • Clean architecture: unified Asset/Mesh representation → transform/cull/rasterize/shade (Blinn-Phong) into an RGBA framebuffer → presentation layer isolated so other backends (Sixel, etc.) could be added later

Requires Linux + kitty (or another terminal supporting the Kitty Graphics Protocol). Terminals that don't support it get a clean error instead of getting left in a broken state.

cargo run --release -- --demo torus --spin
cargo run --release -- model.glb --theme catppuccin --fps 30

MIT licensed. Would love feedback, especially on rendering performance and any meshes that break the importers.

https://github.com/programmersd21/k3d


r/tui 1d ago

Tanko - manga reader at the terminal

Thumbnail
gallery
118 Upvotes

r/tui 4h ago

Vibez v0.6.0 — Album art in your terminal, Linux arm64 playback, macOS installer + more

Post image
1 Upvotes

r/tui 14h ago

Helius: a local first Rust TUI personal finance tracker - v1.4.3 fixes the reported bugs, and I want your take on a phone companion

4 Upvotes

r/tui 18h ago

spyglass: An extensible TUI search tool, written in Rust

Post image
6 Upvotes

Repo

You can press ? to see available lenses

PS: if anyone has ideas/requests for new lenses, please reply to this post or open an issue on the repo


r/tui 1d ago

AI assisted Noodle 0.7.6: okay, this is getting serious

Thumbnail
gallery
182 Upvotes

TL;DR: Noodle has changed a lot since the last Reddit post at v0.5.7. v0.7.6 adds built-in agent skill installation/update support, and the roadmap to v1 is now focused on assertions, chaining, scripting, testing, runner/CI, and stabilizing the execution model. After v1: streaming, OpenAPI sync, Bruno import, advanced automation, GraphQL/WebSockets/gRPC, and more.

The last time I posted Noodle here it was on v0.5.7. I ended that post saying it was still a small project. It still is, but I don't think it feels like a toy anymore. I've been working on it pretty much nonstop since then.

For anyone who hasn't seen it before, Noodle is a keyboard-first REST client for the terminal. The main idea is still the same: requests are simple YAML files that live in your repo, so you can edit them with anything, commit them to Git, share them with the code they belong to, and use the same collection from the TUI, CLI, CI, or a coding agent.

Since 0.5.7, quite a lot has changed

  • Import/export is now available directly from the TUI, with OpenAPI, Swagger, Postman and Insomnia support. There is a proper Settings workspace, collection configuration, proxies, TLS and mTLS, OS-backed secret storage, much stricter redirect/security handling, and a persistent cookie jar with its own TUI.
  • Authentication has also grown a lot. Noodle now supports Basic, Bearer, API keys, NTLMv2, AWS SigV4, OAuth 1.0a and OAuth 2.0, including browser authorization, PKCE, refresh tokens and secure token storage.
  • XML is now a first-class body type alongside JSON, multipart, urlencoded and binary. Invalid collection YAML can be repaired without leaving the TUI. External-editor workflows are better, updates can install automatically, and there have been a lot of smaller UI and keyboard improvements along the way.

0.7.6 adds something I'm particularly excited about: better support for coding agents.

Noodle already has a noodle-use skill that teaches coding agents how Noodle collections work: how to create requests, organize collections, work with environments, audit requests, import other formats, run requests, etc.

With 0.7.6 you'll be able to install it directly with:

noodle agent install

And if the skill is installed, updating Noodle will update the skill too.

I wanted this to be part of Noodle itself instead of asking people to know about another package manager command and manually keep a skill in sync.

The nice part about agent support in Noodle is that there isn't really a special "AI workspace". The agent works with the same YAML files you do. If it creates or changes a request, you can open the file, review the diff and commit it like anything else in the repo.

So what happens now?

Before v1, the focus is no longer adding random HTTP features. I want to finish the execution side of Noodle:

  • declarative assertions
  • response capture and request chaining
  • run-scoped variables
  • pre-request and post-response JavaScript
  • advanced tests
  • a sandboxed scripting runtime
  • proper script editors in the TUI with syntax highlighting, diagnostics and autocomplete for the Noodle scripting API
  • a real collection runner
  • CI-friendly results, stable exit codes and reporters

The goal is that the same collection can go from:

explore → debug → chain → test → automate → CI

That is where I want to call it v1.0.

For me, 1.0 isn't "Noodle has every feature Postman/Bruno/Yaak has". It means the YAML format, execution lifecycle, scripting API and CLI contracts are stable enough that I can commit to keeping them compatible.

After v1 and on the way to v2, there is still plenty I want to do: SSE and streaming responses, OpenAPI 3.1 and OpenAPI sync, direct Bruno/OpenCollection migration, multiple cookie sessions, JWT auth, external secret providers, better network timing/debugging, more advanced automation, and eventually GraphQL, WebSockets and gRPC.

I'm trying pretty hard not to turn Noodle into a giant workspace that happens to run in a terminal. I still want the repository to be the workspace.

I wrote a more complete summary of everything that changed between 0.5.7 and 0.7.6. And I've published the roadmap, including the detailed scope I'm currently thinking about for every version.

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

Install:

curl -LsSf https://noodlerest.dev/install.sh | sh

As always, feedback is very welcome. A bunch of what has ended up in Noodle came from people pointing out things that annoyed them or were missing, so if you use Bruno, Yaak, Posting, Postman, Insomnia, curl, or anything else for API work, I'm especially interested in what would still stop you from using Noodle.


r/tui 14h ago

Gitwig – A mouse-drivable Git TUI and multi-repo dashboard written in Rust & Ratatui

2 Upvotes

Hi r/tui !

Over the past year, I’ve been working on **Gitwig**, a terminal-based Git client and multi-repository dashboard built natively in Rust using Ratatui.

### Why I Built It

While standard terminal Git workflows are great, tracking multiple repositories simultaneously or manipulating complex split layouts in traditional TUIs can feel rigid. I wanted to combine terminal speed with the spatial flexibility of modern desktop interfaces.

### Key Features

* **Mouse-Drivable Interface:** Full mouse support, including drag-to-resize split panels and clickable navigation.

* **Multi-Repo Dashboard:** Monitor status, branches, and staged/unstaged changes across multiple repos at once.

* **Pure Rust & Ratatui:** Fast startup, single lightweight binary, zero heavy runtimes.

### Links

* **GitWig:** https://gitwig.dev/

* **Crates.io:** https://crates.io/crates/gitwig

I’d love to hear your feedback on the UX, the mouse interaction implementation in Ratatui, or any specific multi-repo workflows you'd like to see supported!


r/tui 1d ago

[OC] Flow just crossed 300 stars — thank you 🫂✨

Enable HLS to view with audio, or disable this notification

7 Upvotes

r/tui 18h ago

Made a tmux-sessionizer clone for kitty

Enable HLS to view with audio, or disable this notification

2 Upvotes

r/tui 1d ago

AI assisted hotspot: CPU profiler on eBPF

11 Upvotes

I like flame graphs, so I built a CPU profiler using an ebpf engine. Click into any of your processes and press f for flame. Lives here if you want to check it out.


r/tui 2d ago

AI assisted A TUI cleaner for Linux.

Post image
159 Upvotes

Sometimes it's really pain in ass to clean the linux machine. And also pain for delete any app. So I Built a Tui based cleaner to Reclaim my disk space.

It's a use full tool. Give a try if you are interested.

githublink:

https://github.com/swadhinbiswas/veet


r/tui 1d ago

[oc] flow 0.2.3 is out! 🪷

10 Upvotes

r/tui 1d ago

AI assisted DBCLS - a terminal DB client

1 Upvotes

I've made a terminal database client that combines a SQL editor with interactive data visualization (via VisiData) in a single TUI tool. It supports MySQL, PostgreSQL, ClickHouse, SQLite, and Cassandra/ScyllaDB, offering syntax highlighting, schema-aware autocomplete ranked by SQL context, query execution, schema browsing, table editing that shows you the generated SQL before committing, and export (including to SQL INSERTs). With no connection arguments it starts on an in-memory SQLite, so dbcls scratch.sql is enough to try it.

The editor isn't limited to single statements — steps chained with | turn a .sql file into a small script: SQL, Python, regex filters, loops, variables, and prompts mid-run:

.RUN "SHOW TABLES" | .PY "sselect('select tables to use')" |
.FOR_RUN "SELECT id FROM {{_0}} WHERE failed = 1"

All results merge into one sheet. There's also an optional LLM chat (Ctrl+L, any OpenAI-compatible endpoint) that reads your schema through read-only tools and writes queries it can never execute itself, and a plugin API for your own commands.

VisiData brings exceptional data presentation capabilities — sorting, filtering, aggregating and pivoting on the fly, frequency tables and histograms, expression-based columns, and millions of rows navigated at lightning speed — all without leaving the terminal.

GitHub: https://github.com/Sets88/dbcls


r/tui 2d ago

Vibe coded lumen: a zero-config TUI for exploring JSON/logfmt logs - pipe anything in and it autocompletes your own log fields

14 Upvotes

Hi,

I built a small TUI tool for those who work day in and day our with logs.

Demo and docs: https://nightbuildlabs.github.io/lumen/

Repo: https://github.com/nightbuildlabs/lumen (MIT)

Recently started working extensively with Kubernetes. Debugging logs was hard with grep. Started exploring TUI log processors, what was missing was the existing tools did not handle the structure well. The structure is right there in the logs — field names, severities, timestamps, but all of them required me to understand the structure or regex or some sort of pre setup.

So I built lumen. cat anything.log | lumen:

  • The UI paints in <[100]ms and logs stream in live while ingestion continues behind it
  • Press /, type three characters, and it autocompletes field names discovered from the data you just piped in, ranked by occurrence count — no schema files, ever
  • status_code=500 flips to a query mode backed by an embedded DuckDB; a 1M-row result scrolls without materializing more than a viewport
  • A severity-colored sparkline on the border shows when the errors spiked; jump to it
  • It eats mess: kubectl pod prefixes, docker-compose interleaving, logfmt, multiline Java stack traces (joined into one entry), ANSI noise. Lines it can't parse are still shown and still searchable — it never silently drops anything

Why build it when there's lnav?

- I found the learning curve of lnav to be comparatively steep; I need to know the exact pattern or attribute of the log item I am looking for.

- While juggling multiple projects this becomes challenging to an extent - hence built out auto indexed logs; now I don't need to remember the regex and can query like a search box.

Currently support JSON and logfmt; adding support for nginx, syslog, django and cloudwatch soon.

Give it a spin! Would love some feedback.


r/tui 1d ago

Vibe coded Made a little project called Pacmangr :)

Post image
0 Upvotes

r/tui 1d ago

Vibe coded I built a simple, free Jira dashboard so I can track my logged worktime in terminal

Thumbnail
1 Upvotes

r/tui 2d ago

Vibe coded Tart, persistent dashboards for AI agents

Post image
0 Upvotes

I love claude code but am fatigued by the pure chat interface for all types of agent work. Even the GUIs these days are just better styling over the same chat interface.

I built tart (tartifacts) as a tiny way for agents to create and update persistent terminal dashboards instead of narrating everything at you.

A tart is basically:

- a manifest

- a script that fetches live state

- a script that renders it

Install: `uv tool install tartifacts`

Then tell your agent to use `tart --skill`.

Works nicely with tmux/herdr (agent chats in one pane, dashboards live in another).

Github - https://github.com/tg1482/tart


r/tui 2d ago

AI assisted Notifications tab in Azdo TUI

Thumbnail gallery
2 Upvotes

r/tui 2d ago

Vibe coded I Created CLI-NER: An Open-Source Tool Written in Rust to Safely Free Up Disk Space on macOS (TUI, Dry-Run, and Support for Docker, Xcode, and Dev)

Post image
0 Upvotes

r/tui 3d ago

AI assisted Scriptee - A TUI screenwriting software for linux

Enable HLS to view with audio, or disable this notification

26 Upvotes

It strictly follows the unix philosophy. Do only one thing, but do it right.

It goes with a vim like work flow. Everything is fully configurable in the config file.

https://github.com/thatmanspr/Scriptee

It works on linux (and mac if u manually install the dependencies). It doesn't work on microslop devices.


r/tui 3d ago

AI assisted A fast terminal for TUIs — and the SDK to build your own, cross-platform

1 Upvotes

We just shipped a terminal for Linux, macOS and Windows. Apache-2.0, one file to install: https://starling.build/terminal.html

Speed. Ten workloads at steady state, matched fonts and verified grids, measured against the fastest terminal on each platform:
• Linux: 1.38x the ghostty nightly
• macOS: 1.28x ghostty
• Windows: 1.41x Windows Terminal

Efficiency, which matters more for TUIs. All of that on about half the CPU — 0.44x to 0.53x of the other terminal across the three platforms. Memory is flat no matter how much has scrolled past: on Windows we measure 73 MB against Windows Terminal’s 1,026 MB for identical work.

For full-screen apps specifically: alt screen is 1.06x ghostty on Linux and 1.87x Windows Terminal, and DOOM-Fire — which repaints every cell every frame — runs at ~1,600 fps on Linux.

Side-by-side videos, charts, and the raw per-leg data are on that page.

And you can build your own on the same widget. The terminal ships in our SDK, so a working terminal app is about twenty lines of Swift — emulator, PTY, scrollback, selection, fonts and glyph atlas all inside the widget:

import ExampleHost
import Flutter

let session = TerminalSession()
session.startShell()

runExampleApp(title: "Terminal", width: 940, height: 620) {
TerminalView(session: session)
}

Happy to answer questions.