Summary
Interactive terminal (TUI) + MCP stdio client for tri-api.
7A: TUI (~200 LOC)
src/tri-api/tui.zig — ANSI colored output, prompt input, streaming chars, status bar.
tri-api # No args → interactive TUI mode
tri-api "one-shot prompt" # With args → batch mode (unchanged)
Interactive: tri> prompt, colored tool/assistant output, /quit to exit.
7B: MCP Client (~150 LOC)
src/tri-api/mcp_client.zig — stdio subprocess transport, JSON-RPC 2.0.
Config in .tri-api/settings.json:
{
"mcp_servers": {
"trinity": { "command": ["./zig-out/bin/trinity-mcp"] }
}
}
On startup: spawn servers → listTools() → merge into Anthropic tool_definitions.
Files
| File |
Action |
LOC |
src/tri-api/tui.zig |
NEW |
~200 |
src/tri-api/mcp_client.zig |
NEW |
~150 |
src/tri-api/main.zig |
MOD |
~+60 |
src/tri-api/tool_executor.zig |
MOD |
~+30 |
Acceptance Criteria
Summary
Interactive terminal (TUI) + MCP stdio client for tri-api.
7A: TUI (~200 LOC)
src/tri-api/tui.zig— ANSI colored output, prompt input, streaming chars, status bar.Interactive:
tri>prompt, colored tool/assistant output,/quitto exit.7B: MCP Client (~150 LOC)
src/tri-api/mcp_client.zig— stdio subprocess transport, JSON-RPC 2.0.Config in
.tri-api/settings.json:{ "mcp_servers": { "trinity": { "command": ["./zig-out/bin/trinity-mcp"] } } }On startup: spawn servers →
listTools()→ merge into Anthropic tool_definitions.Files
src/tri-api/tui.zigsrc/tri-api/mcp_client.zigsrc/tri-api/main.zigsrc/tri-api/tool_executor.zigAcceptance Criteria
tri-apiwith no args enters interactive TUI modezig buildclean