Every time I debug a container I run the same loop: docker ps -a # find the thing # squint, copy a name with the mouse docker logs casely-postgres-1 docker inspect casely-postgres-1 docker exec -it casely-postgres-1 sh Enter fullscreen mode Exit fullscreen mode The container name doesn't change between those commands. The shell doesn't help me; I copy and paste — sometimes typoing a hash prefix. So I built dux — a single Rust binary with a TUI (ratatui) and a browser UI (axum), 105 curated docker commands, and after every run it parses the output and prefills the next command's args . brew install nickciolpan/tap/dux dux # terminal UI dux serve # http://127.0.0.1:7878/dux Enter fullscreen mode Exit fullscreen mode Source: github.com/nickciolpan/dux . MIT. The rest of this post walks through the two ideas that make it work.…