gui-settings-ui

Installation
SKILL.md

gui-settings-ui

Scope — GUI desktop app only. This skill covers the settings modal in app/src/settings_view/, part of Warp's GUI desktop front-end. It does not apply to the headless TUI (crates/warp_tui). For general UI conventions see gui-ui-guidelines.

Settings pages look simple, so they get written by pattern-matching the nearest neighbor — and the nearest neighbor is often wrong. The same two mistakes have produced five Linear tickets (APP-5060, APP-5058, APP-4910, APP-4922, APP-5059, one of which turned out to be a false positive). Read this before writing a settings page so the sixth doesn't happen.

The model

A settings page is a PageType (app/src/settings_view/settings_page.rs). It holds a list of searchable widgets plus an optional page title:

PageType::new_uncategorized(widgets, Some("Knowledge"))
PageType::new_categorized(categories, None)
PageType::new_monolith(widget, Some("Billing and Usage"), /* is_dual_scrollable */ true)
  • Uncategorized — a flat list of widgets. The common shape.
  • Categorized — widgets grouped under Categorys, each with a subheader (rendered via render_sub_header) and an optional subtitle.
  • Monolith — the whole page is a single widget because its content can't be split for search (Keybindings, Teams, About, Environments).
Installs
1
Repository
warpdotdev/warp
GitHub Stars
65.1K
First Seen
Aug 26, 2026
gui-settings-ui — warpdotdev/warp