Problem: Power users want a fast way to navigate anywhere in the app without clicking through menus. They're accustomed to command palettes in tools like VS Code, Notion, and Linear.
Solution: A global command palette triggered by Ctrl+K (or Cmd+K on Mac) that provides instant access to navigation, reader commands, and all 66 Bible books — all searchable by typing.
Not included: Actions that modify data (creating notes, bookmarks) or application settings. This is navigation-only.
A search-and-navigate overlay that appears when the user presses Ctrl+K from anywhere in the app.
User flow:
Command categories:
/read/[1-66]/1)Edge cases:
goto(path), function actions execute directly (e.g., open BookPicker)Appearance:
Keyboard navigation:
Component: CommandPalette.svelte at apps/web/src/lib/components/layout/CommandPalette.svelte
Trigger: Global svelte:window onkeydown listener in (app)/+layout.svelte — checks for Ctrl+K / Cmd+K.
Commands: Static array of ~76 commands, each with label, action (string URL or function), and category. Includes 66 book entries generated from bible constants.
Filter: Client-side substring match on label and category.
Execution: String actions → goto(path), function actions → called directly.
Files:
apps/web/src/lib/components/layout/CommandPalette.svelte — componentapps/web/src/routes/(app)/+layout.svelte — keyboard listener mountCurrent: DONE Milestone: Foundation (pre-v1) Priority: Medium — power-user feature, improves navigation speed
History:
CommandPalette.cs) with similar functionalityDependencies: