# Frontend Patterns

- React 19 functional components
- Zustand for state (one store per feature in apps/ui/src/store/)
- Cytoscape.js for graph viz (diff-based rendering)
- Tailwind CSS dark theme (zinc-950 bg)
- Radix UI for headless components, Lucide React for icons
- REST client: apps/ui/src/lib/api.ts
- WebSocket: apps/ui/src/lib/ws.ts (auto-reconnect, exponential backoff)
- HashRouter (React Router 7)
- Entity/relation colors: apps/ui/src/lib/colors.ts
