Universal Search and Command Palette

One keyboard-first palette searches workspace knowledge, runs actions, and jumps between entitled modules.

Overview

Description

Universal Search and Command Palette is the shell-wide launcher for finding knowledge, invoking actions, and navigating modules. Users open a single keyboard-first surface and either type a natural query, prefix an action mode, or switch to the entitled module roster. Search results use a two-pane layout with scopes, lenses, filters, recent queries, recent rows, result previews, and direct open-in-peek actions.

The palette is intentionally non-modal: it sits over the interactive app without presenting itself as a blocking dialog or trapping focus. Search requests are debounced and issued only in search mode; Actions and Modules resolve locally from the same runtime registry that controls the shell. Missing result metadata is omitted rather than replaced with plausible-looking values, and degraded search still communicates what remains usable.

Selling Points

  • Collapses “find,” “go,” and “do” into one learned shortcut, speeding up both occasional and expert use.
  • Searches across Dotabases instead of forcing users to remember which module or schema holds an item.
  • Shows previews and recent destinations before navigation, helping users distinguish similar results without losing context.
  • Keeps command availability aligned with live entitlements and registered modules, avoiding dead actions and inaccessible destinations.
  • Preserves keyboard flow while remaining compatible with the interactive page behind it.

User Story

A researcher presses the global shortcut, searches for “customer onboarding decision,” narrows the scope to Memory Bank, previews the strongest result, and opens it in a side peek. Without closing their current Chat, they then switch the palette to Actions and start a new conversation using the selected context.

Extension Surface

The feature is extensible through registered action and module declarations. apps/web/src/modules/registry.tsx contributes entitled module actions, and apps/web/src/modules/shell/search-palette/ActionsModeResults.tsx renders the composed action catalog. These are designed in-repo seams rather than an independently documented external palette-plugin interface, so the capability is rated extensible.

Capabilities & Limits

  • Searches workspace rows with scope, lens, recency, preview, and filter controls.
  • Runs registered actions and navigates the live entitled module roster.
  • Opens compatible rows in a shared detail peek without abandoning the current page.
  • Limit: action and module modes do not run universal-search requests, and results cannot display source metadata the search response did not actually provide.

Implementation Map

  • apps/web/src/modules/shell/search-palette/SearchPalette.tsx
  • apps/web/src/modules/shell/search-palette/SearchResultsPaneConnected.tsx
  • apps/web/src/modules/shell/search-palette/ActionsModeResults.tsx
  • apps/web/src/modules/shell/search-palette/open-in-peek.ts

Properties

Property
Value
product
dots-platform
extensibility
extensible
module
Search, App Shell
packages
apps-web, ui
status
shipped
surface
ui
summary
One keyboard-first palette searches workspace knowledge, runs actions, and jumps between entitled modules.

Connections

Universal Search and Command Palette · Explore connections

  • documented bytoSearch Your Workspace
  • complementstoDotabase Row and Page Editing
  • requirestoApp Shell Navigation
  • implemented bytoapps/web/src/modules/shell/search-palette/SearchPalette.tsx
  • implemented bytoapps/web/src/modules/shell/search-palette/SearchResultsPaneConnected.tsx
  • implemented bytoapps/web/src/modules/shell/search-palette/ModulesModeResults.tsx
  • implemented bytoapps/web/src/modules/shell/search-palette/ActionsModeResults.tsx
  • complementsfromDotabase Row and Page Editing

Connected Records8

Complements
Documented by
Implemented by
apps/web/src/modules/shell/search-palette/ActionsModeResults.tsx
apps/web/src/modules/shell/search-palette/ModulesModeResults.tsx
apps/web/src/modules/shell/search-palette/SearchPalette.tsx
apps/web/src/modules/shell/search-palette/SearchResultsPaneConnected.tsx
Requires
8 connections.

Documents

Title
Type