Understand the CodeNomad Project Structure
devThe project is organized into several key directories within packages/opencode-client/:
electron/: Contains the desktop application logic, including the main process (main.ts), window management (window.ts), process management for spawning OpenCode servers (process-manager.ts), and IPC handlers (ipc.ts).src/components/: Houses the UI components (e.g.,instance-tabs.tsx,session-tabs.tsx,message-stream-v2.tsx,prompt-input.tsx).src/stores/: Contains the reactive state management forinstances,sessions, andui.src/lib/: Utility modules for SDK management (sdk-manager.ts), SSE handling (sse-manager.ts), and port discovery (port-finder.ts).src/hooks/: Custom hooks for interacting with state (e.g.,use-instance.ts,use-session.ts).src/types/: TypeScript definitions forinstance,session, andmessageentities.