Open Source

The smart command palette engine

Built on cmdk. Auto-discover routes, fuzzy search with synonyms, RBAC filtering, frecency ranking, CLI tooling — all in < 5 KB.

$npm install cmdk-engine cmdk

Everything your command palette needs

cmdk gives you beautiful primitives. cmdk-engine adds the brain.

🔍

Route Discovery

Auto-scan React Router, Next.js App Router, and Pages Router. CLI generates your command sitemap.

Fuzzy Search

Built-in lightweight fuzzy search with scoring: exact > prefix > substring > word-boundary > fuzzy.

🔐

RBAC Filtering

Filter commands by user permissions. Supports any/all modes with a pluggable access provider.

📈

Frecency Ranking

Frequently and recently used commands float to the top. Exponential decay algorithm, zero config.

🔤

Keyword Synonyms

Bidirectional synonym engine. "money" finds "billing". User aliases supported.

📦

< 5 KB Core

Tree-shakeable, zero runtime dependencies. Core engine is under 5 KB minified + brotli.

cmdk vs cmdk-engine

Keep cmdk's composable UI. Upgrade the brain behind it.

Featurecmdkcmdk-engine
Composable UI
Route auto-discovery
RBAC / permissions
Frecency ranking
Keyword synonyms
Deterministic sorting
Broken (#264, #375)
First item auto-select
Broken (#280)
Dynamic content updates
Broken (#267)
CLI tooling
Framework-agnostic core

Architecture

Route Config ─→ Route Adapter ─→ Command Registry ─→ Keyword Engine
                                       │
                                       ├─→ Access Control Filter
                                       │
                                       ├─→ Search Engine (fuzzy / match-sorter)
                                       │
                                       └─→ Frecency Ranking
                                              │
                                              ▼
                                      Headless API / Hooks
                                              │
                                              ▼
                                      UI Adapter (cmdk)

Package Entry Points

ImportSizePurpose
cmdk-engine~2.3 KBCore engine (types, registry, search, keywords, access control, frecency)
cmdk-engine/react~2.6 KBReact hooks (provider, useCommandPalette, useCommandRegister)
cmdk-engine/adapters/cmdk~1.4 KBPre-wired cmdk components
cmdk-engine/adapters/react-router~2.0 KBReact Router v6/v7 route scanner

All entry points are tree-shakeable. The core has zero runtime dependencies.