eidos ui / shipr-surfaces / v0

Chrome side panel · Shipr defaults

Lesson: design for Chrome’s 360px side-panel floor (--panel-side-min). The host page owns context (repo · workflow). The panel is a dense ledger of the same shipments, not a second app chrome.

github.com/eidos-agi/shipr/actions
eidos-agi / shipr

Workflow runs

Ship checklist (copy into the real add-in)
  1. Panel content width targets --panel-side-min (360px). Chrome will not let you set a smaller default.
  2. Header context comes from the page URL (org/repo · PR or workflow), not a global workspace switcher.
  3. One shared selection: host run click ↔ panel row. Filters never invent a second source of truth.
  4. Status chips use only --ship-* tokens from /brand.css.
  5. Dense rows, not cards. Primary action opens the ledger; secondary copies a frontier hint for agents.
  6. Always implement empty, unpaired, and error states (toggle unpaired below in a later rung if needed).