d26f20c316
Root Child DOX Index assembled, plus a per-module AGENTS.md across the tree (core/*, infrastructure/*, apps/*, testing/*, and docs/examples/frontend/etc), each following the DOX section shape: Purpose, Ownership, Local Contracts, Work Guidance, Verification, Child DOX Index.
1.8 KiB
1.8 KiB
apps/tui-go
Purpose
Terminal UI for correx. A Go/Bubble Tea application that connects to apps/server over WebSocket and renders session state in a "Soft + blue" visual style.
Ownership
All sources under apps/tui-go/. Separate Go module (github.com/correx/tui-go) — independent build and test toolchain from the Gradle/Kotlin apps.
Local Contracts
- Connects to
apps/serverat the configured WebSocket endpoint; does not import any Kotlin/JVM code. - Receives
ServerMessageJSON over WebSocket (session lifecycle, approval requests, clarification requests, narration, proposed workflows, health/metrics). - Sends
ClientMessageJSON (StartSession, ApproveToolCall, RejectToolCall, AnswerClarification, SetChatMode, etc.). - Protocol types are mirrored in
internal/protocol/— must stay in sync withapps/server/src/.../protocol/. - Visual theme: "Soft + blue" (see
internal/app/theme.go). Reference design lives indocs/visual/ref/. - Key layout defined in
internal/app/key.go. - Main model in
internal/app/model.go; update loop ininternal/app/update.go; rendering ininternal/app/view.go. - Overlays (sessions, tasks, config, ideas) in
internal/app/overlays.goand sibling files.
Work Guidance
- Standard Go conventions:
gofmt-formatted, exported names for cross-package types, unexported for internal. - Add new WS message handling in
internal/ws/client.go→ dispatch via Bubble TeaMsgtypes → handled inupdate.go. - New UI panels follow the existing card/overlay pattern (see
clarcard.go,proposecard.go). - Keep theme constants in
theme.go; do not hardcode colors elsewhere.
Verification
cd apps/tui-go && go build ./... && go test ./...
Child DOX Index
No child AGENTS.md (leaf module).