gpui-design-guidelisted
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