feat: port CLI, TUI, and launcher from v1.5 into v2 (#1452)

Ports the CLI, TUI, and launcher from v1.5 into v2 behind a single
`mcp-inspector` entrypoint (launcher → web/cli/tui). Includes the
`mcp-inspector --web --dev` launcher fix (Vite alias resolution + prod-server
double-start), the root `postinstall` install cascade with simplified CI, and
spec/AGENTS docs (no-workspaces rationale, Development setup).

Closes #1246.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bob Dickinson 2026-06-14 17:27:49 -07:00 • committed by GitHub
commit 2488ca5e38
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,22 @@
import React from "react";
import { Box, Text } from "ink";
/** Renders a selectable item: ▶ + space when selected, space + space when not. Fixed width to prevent layout shift. */
export function SelectableItem({
isSelected,
bold,
children,
}: {
isSelected: boolean;
bold?: boolean;
children: React.ReactNode;
}) {
return (
<Box flexShrink={0} flexDirection="row">
<Box width={2}>
<Text bold={bold}>{isSelected ? "▶ " : " "}</Text>
</Box>
<Text bold={bold}>{children}</Text>
</Box>
);
}