## Description Build the React frontend framework with routing, layout, and Go backend bridge. ## Tasks ### Frontend Project Setup - [ ] Install frontend dependencies: Tailwind CSS, React Router, icons - [ ] Set up Tailwind config with custom theme (warm tones matching the CLI aesthetic) - [ ] Configure proper TypeScript types ### Layout - [ ] Sidebar navigation with all page links and icons - [ ] Top bar showing active service count and quick actions - [ ] Main content area for page components - [ ] Dark/light theme toggle (persisted in localStorage) ### Go ↔ JS Bridge - [ ] Use Wails `Bind()` to expose `ServiceRegistry` to frontend - [ ] Create TypeScript types/interfaces matching the Go Service interface: ```typescript interface ServiceInfo { name: string; status: 'stopped' | 'running' | 'error'; description: string; } ``` - [ ] Implement React hooks: `useServices()`, `useService(name)` - [ ] Implement auto-refresh (poll every 2s for service status) ### Error Handling - [ ] Global error boundary component - [ ] Toast notification system for service status changes - [ ] Loading states for async operations ## Acceptance Criteria - [ ] Frontend compiles without TypeScript errors - [ ] Sidebar navigation works for all planned pages - [ ] Go backend methods are callable from frontend via `window.go.main.*` - [ ] Service status refreshes automatically via polling - [ ] Error toasts show on service failures
Description
Build the React frontend framework with routing, layout, and Go backend bridge.
Tasks
Frontend Project Setup
Layout
Go ↔ JS Bridge
Bind()to exposeServiceRegistryto frontenduseServices(),useService(name)Error Handling
Acceptance Criteria
window.go.main.*