feat: add terminal UI example - #174
Open
yanpgwang wants to merge 1 commit into
Open
Conversation
Import the Mango terminal client as an isolated example module, rename its executable to mango-tui, and document both demo and connected workflows. Verify the example in CI and include its dependencies in vulnerability scanning.\n\nSource snapshot: mango-terminal fdb62d0.
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.
Problem, rationale, and scope
The standalone
mango-terminalrepository exists to support Mango product demos, but its repository and executable names make it look like a separately supported product. It also installs amangobinary that conflicts with the server command in this repository.This PR moves the complete client into the Mango repository as a reference example. The example remains runnable and tested, while release packaging and a supported operator-console contract are explicit non-goals.
What changed
mango-terminal@fdb62d0intoexamples/terminal-ui.mangotomango-tuiand removed standalone install/release automation.golang.org/x/textandgithub.com/yuin/goldmarkto fix two reachable vulnerabilities found during the move.Verification
make testmake test-racemake vetmake lint LINT_BASE=origin/mainmake terminal-ui-verifymake securitynpm --prefix website run typechecknpm --prefix website run buildAPI impact and design provenance
There is no Mango server API or persistence-schema change. The example continues to consume the existing HTTP/SSE contract and documents its attach, reconnect, projection, and action-routing choices in
examples/terminal-ui/ARCHITECTURE.md.The UI implementation comes from the prior standalone Mango Terminal repository and uses the Charm Bubble Tea, Bubbles, Lip Gloss, and Glamour libraries. This PR changes its repository placement and product positioning, not the underlying interaction model.
Durability and security
There is no migration and no change to runtime side effects, sandboxing, or server durability. The client still rejects credentials embedded in endpoint URLs and never persists API keys. Both root and example modules now run through
govulncheck; the imported example reports no reachable vulnerabilities after the dependency upgrades.Checklist