feat(tui): add local runtime terminal UI #95

Merged
ph merged 19 commits from feat/local-tui into master 2026-06-17 12:30:16 +00:00
Owner

Summary

  • Add a Bubble Tea terminal UI via geek tui / make tui that uses Runtime directly without daemon or WebSocket.
  • Wire CLI initialization, local session creation, EventBus streaming, tool approval responses, and ask_user_question handling.
  • Update Runtime permission binding so approval/question controls are available to both daemon and TUI hosts.
  • Document the Web/TUI multi-host architecture and add TUI usage docs.

Verification

  • go test ./...
  • go vet ./...
  • go build ./cmd/geek
## Summary - Add a Bubble Tea terminal UI via geek tui / make tui that uses Runtime directly without daemon or WebSocket. - Wire CLI initialization, local session creation, EventBus streaming, tool approval responses, and ask_user_question handling. - Update Runtime permission binding so approval/question controls are available to both daemon and TUI hosts. - Document the Web/TUI multi-host architecture and add TUI usage docs. ## Verification - go test ./... - go vet ./... - go build ./cmd/geek
Add a Bubble Tea based TUI that creates local sessions and talks directly to Runtime without daemon/WebSocket. Wire the CLI entrypoint, session approval/question controls, build targets, dependencies, and docs for the new local mode.
Rework the local TUI around a dense terminal workspace with header telemetry, rail-based transcript rendering, a wide-screen context panel, and a fixed command composer.
Map Enter to prompt submission while keeping Ctrl+S as an alternate send shortcut and preserving Enter for multi-select question submission.
Route TUI runtime logs, charmbracelet global logs, and standard library logs to a local log file so terminal rendering is not corrupted.
Unify TUI backgrounds, remove the transcript frame, hide non-edit tool results, and add keyboard and mouse scrolling for the chat viewport.
Stack assistant labels above their content, update tool-call rows in place on completion, and remove startup session internals from the chat surface.
Move the session title into the primary header, remove the tab metadata row, render tool calls as agent-owned cards, and surface file paths for read/write/edit tools.
Use glamour to render assistant responses as terminal markdown with word wrapping, while preserving the existing plain-text fallback path.
Remove prompt/header divider lines, collapse contiguous agent output, render tool calls as single-line grey cards, and summarize bash output to the last five lines.
Remove Ctrl+S and PageUp/PageDown mappings, and make Ctrl+C clear pending textarea input before quitting on a second press.
ph merged commit 2f1d40604b into master 2026-06-17 12:30:16 +00:00
ph deleted branch feat/local-tui 2026-06-17 12:30:16 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ph/agentic!95
No description provided.