mynav
Batch 8.
What it is
Section titled “What it is”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.
UI / layout / interaction
Section titled “UI / layout / interaction”- Two-panel navigator + preview: left = hierarchical list, right = live detail of the highlighted item.
Tabtoggles 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:
acreates topics/workspaces,Ddeletes,Xkills a session,enteropens/selects,?shows contextual help.
Rendering — monochrome-adaptable
Section titled “Rendering — monochrome-adaptable”- 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.
Navigation / keybindings
Section titled “Navigation / keybindings”| Key | Action |
|---|---|
j / k | Move within navigator |
h / l / Tab | Switch / toggle panel focus |
s | Fuzzy-search overlay |
a | New topic / workspace |
enter | Open / select |
D | Delete item |
X | Kill 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.
Libraries
Section titled “Libraries”- 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).
Architecture
Section titled “Architecture”- 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.
Single-color adaptation
Section titled “Single-color adaptation”- Two-panel + live-preview ports directly: left navigator and right preview separated by a box-drawing rule; the focused panel framed with a
heavyborder, the unfocused withlight(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 ▸ apiwith▸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).