CLAUDE.md@client · git:20260608.a548c2e · 2026-06-08 · sha256 76767e0401448145
CLAUDE.md@client git:20260608.a548c2eA
Immutable. This exact content is served forever at /api/v1/blob/76767e0401448145.
React SPA connecting to the server via WebSocket (`useChat` hook). ## Entities - **Space** — Top-level container. Has a name and contains widgets and a chat. One space is active at a time. - **Widget** — A configurable card inside the space's main area. Displayed in a grid. Visible when the chat has moved out of solo mode. - **Chat** — The agent conversation. Contains a scrollable message list and an input. Three modes: solo (centered, no widgets), sidebar (pinned right of widgets), floating (popover). Starts solo, switches after 5 messages based on viewport width. ## Conventions - UI components in `components/ui/` are shadcn built on Base UI React. - `lib/cn.ts` is `clsx` + `tailwind-merge`.