Skip to content

mynav

Batch 8.

mynav is a terminal workspace and session navigator built on top of tmux. The screen is a two-panel layout: a navigator on the left (a hierarchical list — topics → workspaces → sessions) and a live preview on the right showing the selected workspace’s actual tmux state (windows, panes, layout). A breadcrumb tracks where you are in the topics → workspaces → sessions hierarchy, and a fuzzy-search overlay (s) lets you jump anywhere. Selecting a workspace opens (or attaches to) its tmux session. It’s a launcher: the navigator is the menu, the preview is the confirmation, the action is “drop me into that environment.”

For KN-86 this is the cleanest launcher/navigator reference — the model for a “pick a cart / pick a mission / pick a save” front surface where you browse a hierarchy on one side and see live detail of the highlighted item on the other before you commit.

  • Two-panel navigator + preview: left = hierarchical list, right = live detail of the highlighted item. Tab toggles which panel has focus; h/l (or arrows) switch panels. The preview updates as the cursor moves in the navigator — browse-with-live-preview, so you see what you’re about to open before opening it.
  • Breadcrumb hierarchy nav: the current path through topics → workspaces → sessions is always shown, so the operator never loses context inside a deep tree. This is the missing piece in a lot of list UIs — mynav makes the hierarchy legible at a glance.
  • Fuzzy-search overlay (s): a transient search field that filters across all workspaces, decoupled from the current tree position — type to jump anywhere, regardless of how deep you’ve navigated.
  • Inline CRUD: a creates topics/workspaces, D deletes, X kills a session, enter opens/selects, ? shows contextual help.
  • Live preview is structural, not decorative: it renders window/pane counts and layout — text and box-drawing, inherently color-free. The preview’s value is information density, which survives monochrome intact.
  • Status indicators (session active/inactive) are the one channel that leans on color in mynav; on KN-86 that’s a leading glyph ( active / inactive) or brightness tier, not hue.
  • Breadcrumb is pure text with a separator glyph (topics ▸ web ▸ api) — already monochrome-native; a strong, cheap orientation device for KN-86’s deep menus.
KeyAction
j / kMove within navigator
h / l / TabSwitch / toggle panel focus
sFuzzy-search overlay
aNew topic / workspace
enterOpen / select
DDelete item
XKill session
?Contextual help

Vim-rooted, fully keyboard, self-documenting via ?. The s-for-fuzzy-search + ?-for-help conventions recur across this whole batch (calcure.md, clipse.md) — worth standardizing in KN-86’s input-dispatch contract.

  • Go, leaning on tmux 3.0+ as the session backend (workspace directory paths become tmux session identifiers; “full tmux compatibility” preserved). No heavy TUI framework cited — the two-panel + preview layout is hand-rolled, which again confirms the pattern doesn’t require a framework, just a fixed grid (KN-86’s home turf).
  • Hierarchy: topics contain workspaces contain sessions. A three-level tree with a 1:1 mapping from leaf (workspace) to a tmux session.
  • Filesystem-based storage in root directories, with automatic parent-directory detection to prevent nested configs. No database — directory structure is the data model. Maps to KN-86’s cartridge-SD filesystem philosophy: the directory tree is the navigable hierarchy.
  • Launcher semantics: mynav’s job is to get you into an environment, then get out of the way — it’s not where you do the work, it’s how you reach it. That separation (navigator vs. workspace) is the right model for a KN-86 cart/mission launcher that hands off to the cart once you’ve chosen.
  • Two-panel + live-preview ports directly: left navigator and right preview separated by a box-drawing rule; the focused panel framed with a heavy border, the unfocused with light (the caps-log.md border-weight-as-focus convention). Browse-with-live-preview needs no color — it needs the preview pane to update on cursor move, which is a pure render trigger.
  • Breadcrumb renders as topics ▸ web ▸ api with separators and the active leaf in bold — color-free orientation, a verbatim port.
  • Active/inactive status via leading / glyph, not green/grey.
  • Fuzzy-search overlay monochrome: a centered framed box (box-drawing border) over the navigator, /-style prompt, bright typed text, results below with matched substrings inverted — the same overlay grammar as clipse.md and mcfly.md.
  • The launcher/navigator reference for KN-86’s front surface — a cart/mission/save picker should be a mynav-shaped two-panel browse-with-preview, with a breadcrumb for the hierarchy and a fuzzy-search overlay for the jump.
  • Breadcrumb hierarchy nav is the specific idea to lift into KN-86’s UI-pattern library — most menu UIs in the corpus lack it, and it’s the cheapest fix for “where am I in this tree.”
  • Cross-link clipse.md and mcfly.md (the list-with-preview + fuzzy-overlay family) and caps-log.md (multi-panel focus model + border-weight-as-focus).