Repository navigation
Closed
Description
Proposal
Show the running agf version on the far left of the footer in the main TUI screens (Browse, GroupedBrowse, Preview, Help, etc.), e.g.:
agf v0.11.0 · ↑↓ nav · Tab agent · [/] summary · → detail · Enter select · ^S sort · ^G group · ^D delete · ? help · Esc quit
Why
- After upgrading (
cargo install --force/brew upgrade subinium/tap/agf), users currently have to runagf --versionseparately to confirm which version they're actually on. With the binary pulled from a wrapper shell function and three possible install paths (cargo, Homebrew, prebuilt), this comes up more than expected. - It's a useful "I just shipped this" sanity check for maintainers while dogfooding — exactly the situation that surfaced the v0.11.0 cache-stale bug (#37) where the binary said one thing and the cache said another. A visible version pinned to the rendered TUI makes "is this the new build or the old build?" a glance, not a side-quest.
- Cheap real estate. The footer's leftmost cell is currently empty padding before the help line.
Sketch
Cargo.toml already exposes the version as env!("CARGO_PKG_VERSION") at compile time, so no runtime cost:
const VERSION_LABEL: &str = concat!("agf v", env!("CARGO_PKG_VERSION"));
// in the footer row builder (e.g. inside ui_browse / ui_grouped_browse / etc.):
let _ = ui.container().pl(1).row(|ui| {
ui.text(VERSION_LABEL).fg(GRAY_500);
ui.text(" · ").fg(SEPARATOR);
let _ = ui.help_colored(&[
("↑↓", "nav"), ("Tab", "agent"), ("[/]", "summary"),
("→", "detail"), ("Enter", "select"),
("^S", "sort"), ("^G", "group"), ("^D", "delete"),
("?", "help"), ("Esc", "quit"),
], GRAY_500, SEPARATOR);
});Same treatment in the other top-level mode footers. For sub-mode footers (DeleteConfirm, ResumeSelect, etc.) it's optional — those screens are short-lived and the version is already visible on the screen they came from.
Style notes
- Color: dim (e.g.
GRAY_500, same as the help text), not bold — informational, not a CTA. - Format:
agf v0.11.0(one space after the program name, lowercasev, dot before separator). Keeps it readable next to the keybinding spans. - Width: ~12 chars. Doesn't fight the help line for room on any terminal that already fits the existing footer.
Out of scope
- Showing the build profile (release/debug), git sha, etc. — clutter for a normal CLI user.
- Making it clickable / linking to GitHub release. Not a thing in this TUI lib.
Severity
Feature request, low priority. Pure quality-of-life.
Metadata
Metadata
Assignees
Labels
No labels
Activity
release: v0.11.1 — SLT 0.20 bump + UX polish
subinium commentedon May 4, 2026
Fixed in #42 (v0.11.1). Footer now shows
agf v<version>on the leftmost cell of every mode's status bar via a singlerender_footerhelper that replaces the 9 ad-hoc layouts. Version is read fromCARGO_PKG_VERSIONat compile time.