ainb abtop CLIabtop TUI ("htop for AI coding agents") into ainb-tui exactly the way the existing witr plugin is integrated — a discoverable plugin crate plus a hardcoded host embed that hands the terminal to the real abtop binary full-screen, so every abtop key works natively (it is the real binary).t) and a global t home hotkey. Selecting it suspends ainb and attaches abtop --exit-on-jump in a dedicated tmux session, resuming ainb on quit.ainb abtop CLI that shells abtop --once (extra args forwarded verbatim, stdio inherited for a real TTY); a missing binary prints a platform-aware install hint and exits non-zero.abtop --setup (the Claude rate-limit StatusLine hook) once on first launch via a consent dialog — ainb never writes ~/.claude without an explicit "Enable".ainb home → t → rate-limit setup consent → "Just open abtop" → real abtop monitor full-screen → q returns. Recorded with vhs driving the real ainb + abtop binaries.
Not "the screen shows something" — each frame was extracted and read to assert the exact user-visible outcome.
📡 abtop [t]; first launch raises the "Enable abtop rate-limit tracking?" consent — [ Enable ] [ Just open abtop ] [ Don't ask again ].abtop has no machine-readable mode, so re-rendering its data inside ainb isn't possible — the full-screen attach is the only way to get native keys, and it's what witr does too.
ainb abtop = abtop --once — abtop has no JSON mode; thin scriptable alias.graykode/abtop — its releases carry the installer asset and graykode/tap carries the brew formula; the fork has no release assets.abtop --exit-on-jump — Enter jumps to an agent's pane and quits abtop, returning control cleanly.abtop --setup offered on first launch via consent — never silently touches ~/.claude/settings.json.graykode/abtop so the commands are paste-ready.abtop --setup tmux session now uses -A (attach-or-create), so a stale/slow setup pane can't fail a retry with a misleading "is abtop installed?" error.