# Renderer Layer (`packages/desktop/src/renderer/`) ## Root Directory — Standard Layout At most 3 entry files + 7 directories = 10 items: ``` packages/desktop/src/renderer/ ├── index.html # Vite HTML entry ├── main.tsx # React mount + app bootstrap ├── types.d.ts # Ambient type declarations ├── pages/ # Page-level modules (business code goes here) ├── components/ # Shared UI components (used across multiple pages) ├── hooks/ # Shared React hooks (supports business domain subdirs) ├── context/ # Global React contexts ├── services/ # Client-side services + i18n ├── utils/ # Utility functions + types + constants ├── styles/ # Global styles + theme configuration └── assets/ # Static assets — Vite resolves to hashed URLs ``` **Does NOT belong at renderer root:** - CSS files → `styles/` - Component files (`.tsx`) → `components/` or `pages/` - Single-file directories → merge into a related directory ## UI Library & Icon Standards - **Components**: `@arco-design/web-react` — use Arco components first - **Icons**: `@icon-park/react` — all icons from this library - **No raw HTML** for interactive elements (`