Add ant tui, a terminal browser over the URI namespace#5
Merged
Conversation
The third human surface beside the CLI and the web console. tui opens a full-screen, keyboard-driven browser over the whole resource-URI namespace, built on Bubble Tea v2. Like the web console it adds no data capability of its own: every screen is a thin render of an ant.Engine method reached through a Deref seam, so the program is fully testable against a network-free fake. Screens: dashboard (domain index), domain home, resource (the dereferenced record with data/body/raw modes and a links pane), collection (ls members), links, search, graph (indented tree plus a DOT view), and browse (the on-disk cache as a navigable tree). An omnibox (:) resolves a bare id, handle, URL, or URI, and understands the browse/domain/search/ls/graph/links verbs. The App owns a back/forward screen stack so going back restores a screen exactly as it was left. Reads are cache-first: a screen paints instantly from Lookup and fills in from a background Dereference on a miss or refresh, with all IO off the render loop. Wire it as `ant tui [uri]` between serve and mcp.
The linter flagged three unused functions left over from earlier drafts: shortID, navigateFresh, and the replace command builder (the resource refresh issues its dereference directly, and screens never replaced in place). Remove them. Also run go mod tidy, which prunes the stale cellbuf v0.0.13 sum lines superseded by v0.0.15.
Document ant tui in the docs release-notes section, matching the v0.2.0 narrative: the screens, the omnibox, the back/forward stack, and the cache-first read path it shares with the web console. Bump the v0.2.0 page weight so the newest notes sort first.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
ant tui, a full-screen terminal browser over the URI namespace, asthe third human surface beside the CLI and the web console.
Like the web console, the TUI adds no data capability of its own. Every
screen is a thin render of an
ant.Enginemethod reached through theDerefseam, so the whole program is testable against a network-freefake.
Screens
lsmembers of a collection URIwalkto a depth, shown as an indented tree and as DOTAn omnibox (
:) resolves a bare id, handle, URL, or URI, and understandsthe
browse/domain/search/ls/graph/linksverbs.Behavior
screen exactly as it was left. Screens never touch the stack; they emit
navigate / push / back messages and the App is the only mutator.
Lookupand fillsin from a background
Dereferenceon a miss or refresh, with all IO offthe render loop.
background screen too.
keys; only
ctrl+cescapes.Built on the Bubble Tea v2 stack (bubbletea / bubbles / lipgloss v2,
glamour for Markdown). Wired as
ant tui [uri]betweenserveandmcp.Tests
New
tuipackage tests run every screen and the app/flow logic against afake
Derefwith a cold/warm toggle: dashboard listing, cache-firstpaint, cold dereference, mode cycling, copy, graph tree/DOT toggle, browse
folders and grouping, omnibox verbs, the back/forward stack, global keys,
and the render helpers.
go build,go vet, andgo test ./...are allgreen.