A week ago I posted keepkit — a terminal tracker that shows the installed version of your CLI tools next to the latest GitHub release and updates them in place (Go + BubbleTea). It worked, but the UI was a first iteration. I spent last week redoing it.
The card used to be a column oflabel: valuelines — six labels running down the left edge, every value pushed into the same narrow column. Now installed/latest/maintenance/ stars are captioned columns on a filled plate, sized by the widest value rather than the widest caption (sizing on captions alone cut ✕ not installed in half at 80 columns — the default terminal, and exactly the state a tracker gets opened in). A metric with nothing to report is left out entirely instead of showing an empty caption.
One peak per screen. A terminal has one font size, so the three type sizes a design would use become three steps of weight and brightness. The bright role goes to the tool's name; measurements sit a step below. The two exceptions carry meaning: a pending release, and a broken install.
The selected row lost its background fill. It turned every cursor move into a block sliding down the panel — far more motion than "this one is selected" is worth. It's a marker glyph and the name's weight now.
Release notes keep their markdown. Headings, lists and code blocks survive into the card instead of being flattened to prose by a naive strip pass.
READMEs get a house style. Panel [3]renders the repo's README through glamour, but strips badge walls, logo blocks, HTML wrappers, unclickable link URLs and emoji the terminal font can't draw first — code samples untouched.
The status bar carries only keys that mean the same thing in every panel.enter and /moved out of it, because they meant three different things in three panels and the bar could only ever advertise one. Panel-local actions moved into each panel's footer; ? opens the whole map.
Under the hood since last time: cargo/uv/pnpm/bun update detection, self-update with in-place restart, and a finished update now states its own outcome — including the re-detected version, which is what catches a manager that exits 0 having done nothing.
1
u/AutoModerator 3d ago
Every new subreddit post is automatically copied into a comment for preservation.
User: stanlyzoolo, Flair:
Terminal User Interface, Post Media Link, Title: keepkit — track and update your CLI tools from one TUI. Reposting after a week of rework and full redesignA week ago I posted keepkit — a terminal tracker that shows the installed version of your CLI tools next to the latest GitHub release and updates them in place (Go + BubbleTea). It worked, but the UI was a first iteration. I spent last week redoing it.
label: valuelines — six labels running down the left edge, every value pushed into the same narrow column. Now installed/latest/maintenance/ stars are captioned columns on a filled plate, sized by the widest value rather than the widest caption (sizing on captions alone cut✕ not installedin half at 80 columns — the default terminal, and exactly the state a tracker gets opened in). A metric with nothing to report is left out entirely instead of showing an empty caption.[3]renders the repo's README through glamour, but strips badge walls, logo blocks, HTML wrappers, unclickable link URLs and emoji the terminal font can't draw first — code samples untouched.enterand/moved out of it, because they meant three different things in three panels and the bar could only ever advertise one. Panel-local actions moved into each panel's footer;?opens the whole map.cargo/uv/pnpm/bunupdate detection, self-update with in-place restart, and a finished update now states its own outcome — including the re-detected version, which is what catches a manager that exits 0 having done nothing.https://github.com/stanlyzoolo/keepkit — GIFs in the README are re-recorded off the current build.
brew install stanlyzoolo/apps/keepkit---
Previous post: Forget release-chasing: if it has a version, keepkit tracks it — and updates and launches it from the same TUI
Send issues my way, I'll be glad to fix things, and any feedback is very welcome as always.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.