Skip to content

Commit 4e315a4

Browse files
docs: add design system guide
1 parent 5351d87 commit 4e315a4

2 files changed

Lines changed: 395 additions & 42 deletions

File tree

CLAUDE.md

Lines changed: 8 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Electron desktop app (macOS) for visualizing Skills symlink status across AI age
55

66
- Never use direct `fs` access in the renderer when Context Isolation is enabled; use preload IPC instead.
77
- Build macOS `APPLE_KEYCHAIN_PROFILE=skills-desktop pnpm build:mac`
8+
- For UI, visual polish, layout, motion, and design-token changes, read `DESIGN.md` first and follow it as the design source of truth.
89

910
### 🔴 Releases — Use `/electron-release` ONLY
1011

@@ -127,45 +128,10 @@ project-local instead). The new skill is symlinked into every installed agent
127128
immediately and is safe to delete in the same run. Use this in preference to
128129
deleting an existing user skill.
129130

130-
## Design Context
131-
132-
### Users
133-
Developers who use multiple AI coding agents (Claude Code, Cursor, Codex, etc.) and need to manage shared skills/plugins across them. They use this app to visualize symlink status, install skills from a marketplace, and keep their agent environments in sync. Context: quick glances during workflow, not prolonged sessions.
134-
135-
### Brand Personality
136-
**Technical, Minimal, Sharp** — An engineering tool that respects the developer's intelligence. No hand-holding, no visual noise. Every pixel earns its place.
137-
138-
### Emotional Goals
139-
- **Trust & confidence**: "My skills are properly linked, nothing is broken"
140-
- **Control**: "I can see and manage every agent's state from one place"
141-
142-
### Aesthetic Direction
143-
- **Visual tone**: Dark-first, high information density without clutter. Terminal-inspired clarity with native macOS polish
144-
- **References**: Warp terminal, Linear, VS Code Dark+
145-
- **Anti-references**: AWS Console, Jira — information-overloaded dashboards with competing visual hierarchies
146-
- **Theme**: OKLCH color system with dual `--theme-hue` × `--theme-chroma` axes. 27 presets (17 color hues + 2 pure neutral + 8 tinted neutral, see `THEME_PRESETS` in `src/shared/constants.ts`) persist via `@laststance/redux-storage-middleware` (version-migrated v0→v1→v2). Dark mode is default, light supported
147-
148-
### Color System
149-
- OKLCH-based; every shadcn token derives from `oklch(L calc(var(--theme-chroma) * K) var(--theme-hue))`, so a single preset table (`THEME_PRESETS` in `src/shared/constants.ts`) drives all surfaces
150-
- `--theme-chroma`: `0` (neutral/shadcn grayscale) or `COLOR_PRESET_CHROMA = 0.16` (color preset) — same formula, two modes. `--theme-hue`: OKLCH angle (0–360), irrelevant when chroma is 0
151-
- Status tokens: `--success` (fixed green, theme-invariant) = valid/linked, amber = broken, `--muted-foreground` = missing. `--success` stays green even in neutral presets so "linked" never collapses to mid-gray
152-
- Skill type borders: `--success` = symlinked, emerald = local
153-
- Low-chroma backgrounds, high-chroma accents — information through color, not decoration
154-
155-
### Typography
156-
- **Sans**: Inter — neutral, highly legible at small sizes, tabular-nums for data
157-
- **Mono**: JetBrains Mono — code blocks, paths, technical content
158-
- System font stack fallback for native feel
159-
160-
### Spacing & Layout
161-
- Base unit: 4px grid (Tailwind default)
162-
- Border radius: 8px (`--radius: 0.5rem`)
163-
- Panel layout: react-resizable-panels with collapsible Inspector pattern
164-
- Sidebar: fixed 240px, content panels: percentage-based
165-
166-
### Design Principles
167-
1. **Information density over decoration** — Show data, not chrome. Every visual element communicates state
168-
2. **Status at a glance** — Color-coded symlink states (success green / amber / muted) should stay readable in peripheral vision regardless of chosen theme preset
169-
3. **Native macOS feel** — Window glow effects, drag regions, system-level keyboard shortcuts. Feels like it belongs on macOS
170-
4. **Progressive disclosure** — Default 3-column layout; Detail Inspector appears only when needed (Apple HIG Inspector pattern)
171-
5. **Developer respect** — No tooltips explaining obvious things, no confirmation dialogs for safe actions, no marketing language in the UI
131+
## Design Source
132+
133+
`DESIGN.md` owns the app's visual system: product context, color roles,
134+
typography, spacing, radius, elevation, motion, component styling,
135+
accessibility, responsive behavior, and visual-polish guardrails. Keep design
136+
guidance there so agents and design tools have one place to read before
137+
changing UI.

0 commit comments

Comments
 (0)