feat(shell): keyboard shortcuts and command palette#5
Conversation
Install react-hotkeys-hook + cmdk. Add HotkeysProvider to root. Features: - Command palette (Meta+K / Meta+Shift+P): fuzzy search over tools registry, navigate on select - Sidebar toggle (Meta+B): collapse/expand via panel imperative API - Close active tab (Meta+Alt+W) - Next/prev tab (Meta+Alt+→ / Meta+Alt+←) - Shortcuts cheatsheet (Shift+/ i.e. ?): Escape to close - Status bar Shortcuts button wires to cheatsheet State moved to useShellStore (Zustand, persists sidebarCollapsed). Hotkey strings centralised in src/lib/hotkeys.ts with label + display keys so cheatsheet derives from single source of truth. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
📝 WalkthroughWalkthroughAdds hotkey infrastructure and shell UI components to enable keyboard-driven navigation. New dependencies include ChangesShell UI with Hotkeys Infrastructure
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
devbox | 8b959cc | Commit Preview URL Branch Preview URL |
May 29 2026, 07:06 PM |
- command-palette: replace manual keydown listener with useHotkeys for Escape, consistent with shortcuts-cheatsheet - command-palette: fix cmdk v1 selected attribute (data-[selected] not data-[selected=true]) - app-shell: fix sidebar toggle tooltip copy (Mod+B → ⌘B) - app-shell: remove handlers map in StatusBar, inline onClick condition - use-shell-store: document partialize intent with comment Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
⌘K/⌘⇧P) — fuzzy search over tools registry, opens tab on select⌘B) — collapse/expand via panel imperative API, state persisted to localStorage⌘⌥W)⌘⌥→/⌘⌥←)?) —Escapeto close, status bar button also triggers ituseShellStore(Zustand) — centralises palette/cheatsheet/sidebar statesrc/lib/hotkeys.ts— single source of truth for command strings, labels, display keysDependencies
react-hotkeys-hookv5cmdkv1Test plan
⌘Kand⌘⇧Popen command palette⌘Btoggles sidebar; collapsed state persists on reload⌘⌥Wcloses active tab and navigates to next or home⌘⌥→/⌘⌥←cycle through open tabs?opens cheatsheet; Escape closes itpnpm checkclean🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
New Features
Chores