longbridge/gpui-kit

gpui-kit-design-guides

The normative Design Guides for GPUI Kit desktop applications.

ソースを見る
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

GPUI Kit Design Guides

The guide is references/design-guides.md. It is a requirement, not inspiration. Read the guide file itself before doing UI work. Do not answer from this page, from an existing screen in the codebase, or from training data.

If the file is missing, fetch https://gpui-kit.com/docs/design-guides.md. The guide is a verbatim copy of that page, so its link to ./coding-guides.md means the Coding Guides in the gpui-kit skill (or https://gpui-kit.com/docs/coding-guides.md).

How to read it

Read the whole guide for a new screen or a redesign. For a narrow change, read "Design thesis" and "Start from the task" first, then the section for the change. Sections, in order (grep -n '^## ' references/design-guides.md):

SectionRead when
Design thesisAlways
Learning from ShadcnChoosing what to borrow from web component libraries
Start from the taskAlways; task hierarchy, interaction promise, what to leave out
Visual languageColor, typography, spacing, radius, borders, elevation, density, icons
Layout patternsWindow structure, sidebars, toolbars, panels, forms, resizable regions
Components and compositionPicking a component, composing parts, when to build a new one
Interaction statesHover, focus, pressed, selected, disabled, loading, validation, danger
Feedback and overlaysDialog, sheet, popover, menu, notification, tooltip, dismissal, focus
MotionAny animation or transition
Designing data-heavy interfacesTables, lists, trees, dashboards, dense inspectors
Interface languageAny user-facing text: labels, buttons, titles, errors, empty states
Internationalization and platform fitMulti-locale copy, Chinese terminology, macOS/Windows conventions
Guidance for AI-generated interfacesAlways when an agent produces UI
Accessibility checklistBefore finishing
Design review checklistBefore finishing; run every item against the work

Non-negotiables

A floor, not a substitute for the guide.

  • Desktop before web convention. Keyboard access, window chrome, menus,

dense data views, resizable regions, persistent navigation.

  • `Button` vs `Link`. Button for every in-app command, ghost or

outline when it should read quietly. Link only for external URLs and email addresses.

  • Tokens before values. No raw hex or rgb(...); use cx.theme()

semantic tokens and rem-based helpers. Any spacing number quoted in the guide is the current default scale, not a literal to repeat.

  • State must be visible. Hover, focus, selection, disabled, loading,

validation, and destructive states each need distinct, consistent treatment.

  • Overlays. Escape dismisses the topmost surface and returns focus to its

trigger.

  • Copy. Name the object and the verb: Delete "Roadmap"? with a Delete

button, not Are you sure? with OK.

Finish by running the Design review checklist against the work.