fix(tui): welcome splash, alt-screen, unavailable, mcp and plugins - #17
Merged
Conversation
The TUI stays in the host terminal scrollback. Alternate screen is opt-in via --alternate-screen or [tui] alternate_screen. Welcome is the splash line only (no fake shell prompt). Composer caret stays at column 0 when empty; 401/404 no longer masquerade as an outage. Co-authored-by: Mathis <echobt@users.noreply.github.com>
Empty composer is violet `>` then a white block at caret index 0, with the dim placeholder after that cell — never a rect after the hint. Blink-off (~530ms) hides the block so the placeholder starts at col 0. Typed copy is #F5F5F5 with the block at the caret. Recaptured splash and typing lock PNGs so the boards match runtime. Co-authored-by: Mathis <echobt@users.noreply.github.com>
Enter alternate screen on interactive start. Paint the two-line welcome splash and drop it after the first user turn. List MCP tools, honor config.toml servers, and install plugins from the registry instead of writing a placeholder. Co-authored-by: Mathis <echobt@users.noreply.github.com>
Regenerate splash/typing and live session captures against the two-line welcome copy. Plugin CLI tests expect the new registry subcommands. Co-authored-by: Mathis <echobt@users.noreply.github.com>
The home harness still required the substring Cortex CLI, which the two-line splash no longer contains. Co-authored-by: Mathis <echobt@users.noreply.github.com>
Keep the welcome splash inline in the host terminal. The shell prompt stays above the app unless the user opts in via config or --alternate-screen. Co-authored-by: Mathis <echobt@users.noreply.github.com>
10 tasks
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.
Summary
Ships the Designer welcome lock inline (alternate screen never by default) on the same A–Z branch as the coding-service unavailable fix, MCP completeness, custom providers, and the plugin registry.
alternate_screendefaults tofalse/ never. The host shell prompt stays visible above the app. Cortex does not enter the alternate screen on start. Opt in only with[tui] alternate_screen = trueorcortex --alternate-screen.Welcome to **Cortex**, the coding agent CLIthenv{package version} · / commands · @ files · ! shell · & cloud. Dual-hairline composer with the white block at input column 0 (caret before the placeholder). Footer remains model · mode · context | shift+tab.cortex mcp tools,--headeronmcp add, TUI loads servers fromconfig.tomlas well as local storage.create_clienthonors the configured providerbase_url.CORTEX_PLUGIN_REGISTRY(defaulthttps://software.cortex.foundation/plugins). Unknown names no longer write a placeholder; install fails if the registry has no package.Test plan
alternate_screen = false(unit tests assert never)0403b30(fmt, clippy, test, TUI checks, audit, version check)Attestation (required)
I attest that:
--headerand bearer token env var names are documented as non-secret. Plugin registry errors do not leak HTTP client names..envfiles are included.Risk
Default TUI is inline (never alternate screen). Users who want a full-screen buffer must set
[tui] alternate_screen = true. Plugin install no longer creates a fake placeholder for unknown names.