← ClaudeAtlas

gpui-design-guidelisted

The GPUI Component design guide, as it applies to the Ekubo Wallet desktop interface. Read before changing anything that renders — a route in `src/desktop.rs`, an overlay, a dialog, a row, a label, an empty state, a spacing or colour value. Covers hierarchy, theme tokens, the rem scale, alignment spines, component semantics (Button vs Link, DropdownMenu vs ContextMenu), interaction states, dense-data surfaces, and interface copy. Also records the wallet-specific carve-outs where this repository's security requirements outrank the guide.
EkuboProtocol/wallet · ★ 4 · Web & Frontend · score 61
Install: claude install-skill EkuboProtocol/wallet
# GPUI Component design guide The full normative text is vendored at [`references/gpui-component-design-guides.md`](references/gpui-component-design-guides.md). Read it — this file is an index and a set of local amendments, not a replacement. **Must** in that document is a correctness constraint, **should** is the default that needs a stated reason to override, **may** is optional. The wallet composes `gpui-component` at the revision pinned in `Cargo.toml` (`package.metadata.gpui-revisions`). The guide is newer than that pin, so a rule may describe an API this build does not have. When they disagree, the vendored library wins: check `~/.cargo/git/checkouts` or the `gpui-component` skill for the real signature rather than inferring one from the prose. ## What the wallet already is One shell, decided already: a fixed navigation rail on the left, one page to its right, overlays above both. The nine rail destinations are `Route::ALL` in `src/desktop.rs` — Accounts, Inbox, Portfolio, Policies, Automations, WalletConnect, Tokens, Networks, Settings — in a deliberate order, each with a `label()` and a one-line `description()`. Every one of them renders through a `render_*` method on the same view. That means most design work here is *within* a stable shell: hierarchy inside a page, the geometry of a repeated row, the wording of a label, the state of a control. Do not propose a new shell, a dashboard grid, or a second navigation axis. Do not add a rail entry without a task that