Skip to content

feat(ui): add linear Alice shell pass#302

Open
2233admin wants to merge 1 commit into
TraderAlice:masterfrom
2233admin:feat/linear-shell
Open

feat(ui): add linear Alice shell pass#302
2233admin wants to merge 1 commit into
TraderAlice:masterfrom
2233admin:feat/linear-shell

Conversation

@2233admin

@2233admin 2233admin commented Jun 9, 2026

Copy link
Copy Markdown

What

The "linear Alice shell" pass — reshapes the app shell toward a quiet, high-density agent workspace with Linear-grade navigation discipline:

  • EmptyEditor home at / — a calm empty canvas centered on Ask Alice: mostly dark, low-contrast borders, large empty working area, one obvious object in the center. No marketing hero, no card pile, no loud gradients.
  • ActivityBar / Sidebar / TabHost / TabStrip refined for density and stable row rhythm — tool-like, quiet hover/active states, compact labels.
  • UrlAdopter two-way URL↔view sync tightened; coexists with the 0.41 source-aware search additions (useSearchParams + the shell's useLayoutEffect).
  • i18n strings (en / ja / zh / zh-Hant) for the new shell surfaces.

Design target: a serious agent workspace at 2 a.m. Linear is the calibration ruler, not the skin — density, surface hierarchy, and restrained motion are borrowed; brand color / icons / issue-project IA are not.

Screenshots

Home — Ask Alice centered, empty canvas

home

Shell — tab density + chrome

shell

Why

Foundation for the keyboard-first navigation spine — the Cmd/Ctrl+K command palette and g <letter> direct-jump nav land on top of this. Establishes the visual grammar (density, surface hierarchy, quiet interaction states) that later view work builds on.

Scope

UI-only, additive. 14 files, +231 / −85.

Area Files
Shell components ActivityBar, Sidebar, TabHost, TabStrip, EmptyEditor, App
URL / view bridge tabs/UrlAdopter.tsx
i18n i18n/locales/{en,ja,zh,zh-Hant}.ts
misc index.css, vite-env.d.ts, package.json

Verification

  • Rebased onto current master (0.41.0-beta.1). One trivial import-line merge in UrlAdopter.tsx (union of useSearchParams + useLayoutEffect); all other files auto-merged clean.
  • tsc -b green.
  • gitleaks clean (no secrets).
  • ui vitest suite: a pre-existing environment failure exists on master (jsdom localStorage under vitest 4.x) — this PR touches none of the affected specs (tabs/store, watchlist-store) and introduces no new failures.

@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown

@2233admin is attempting to deploy a commit to the luokerenx4's Team Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant