Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

feat(desktop): add Cmd/Ctrl+K command palette

3 months ago

6b4f950
Authored
mweinbach6/17/2026, 8:45:53 PM
cmdk and the Command primitive were installed but never wired up, so
switching threads, jumping to settings, opening a workspace, or running a
skill were all mouse-only.

- components/ui/command.tsx: add CommandDialog (Dialog + Command shell) with
  a visually-hidden DialogTitle and aria-describedby opt-out for a11y.
- ui/CommandPalette.tsx: palette body reading from the existing zustand
  store. Groups: Actions (New chat, Browse skills), Recent threads (newest
  non-draft/non-archived, top 8), Workspaces (project workspaces), Settings
  (derived from getSettingsGroups), Skills (enabled installations). Selection
  reuses existing store actions: selectThread / selectWorkspace /
  openSettings(page) / openSkills / openNewChatLanding.
- App.tsx: add a Cmd/Ctrl+K keydown listener (scoped to the main window so
  popout quick-chat/menu-bar/canvas keep their minimal shells) toggling a
  local open state; render the palette alongside the other top-level modals.
  No accelerator conflict (Skills is Cmd+Shift+K).
- test/command-palette.test.tsx: lock in recent-threads filtering, settings
  page derivation, and open/closed rendering against a mocked store.

Parent70d9f75

4 files changed
  • apps/desktop/src/App.tsx+20−1
  • apps/desktop/src/components/ui/command.tsx+29−0
  • apps/desktop/src/ui/CommandPalette.tsx+276−0
  • apps/desktop/test/command-palette.test.tsx+218−0