@@ -66,7 +66,8 @@ Core structure:
6666 - ` analytics-dashboard/ ` - Private metrics dashboard (SvelteKit + CF Pages)
6767 - ` desktop/ ` - The Tauri desktop app
6868 - ` test/e2e-linux/ ` - WebDriverIO + tauri-driver tests (Docker, tests real Tauri app)
69- - ` src/ ` - Svelte frontend. Uses SvelteKit with static adapter. TypeScript strict mode. Tailwind v4.
69+ - ` src/ ` - Svelte frontend. Uses SvelteKit with static adapter. TypeScript strict mode. Custom CSS with design
70+ tokens.
7071 - ` lib/ ` - Components
7172 - ` routes/ ` - Routes
7273 - ` src-tauri/ ` - Latest Rust, Tauri 2, serde, notify, tokio
@@ -151,6 +152,9 @@ resilience, and common pitfalls.
151152 ` withGlobalTauri: true ` in dev mode is a security risk.
152153- ❌ When testing the Tauri app, DO NOT USE THE BROWSER. Use the MCP servers.
153154- ❌ Don't ignore linter warnings — fix them or justify with a comment.
155+ - ** Icons** : We use UnoCSS with the Icons preset (` @iconify-json/lucide ` ). Icons are pure CSS classes like
156+ ` i-lucide:triangle-alert ` — no JS imports. See ` docs/style-guide.md ` § Icons for usage, sizing, coloring, and how to
157+ find new icons. When adding a new icon, also add it to ` scripts/check-css-unused/allowlist.go ` .
154158- Always use CSS variables defined in ` apps/desktop/src/app.css ` . Stylelint catches undefined/hallucinated variables.
155159- Never use raw ` px ` values for ` font-size ` , ` border-radius ` , ` font-family ` , or ` z-index ` >= 10. Use
156160 ` var(--font-size-*) ` , ` var(--radius-*) ` , ` var(--font-*) ` , and ` var(--z-*) ` tokens. Stylelint enforces this.
0 commit comments