Built on cmdk. Auto-discover routes, fuzzy search with synonyms, RBAC filtering, frecency ranking, CLI tooling — all in < 5 KB.
cmdk gives you beautiful primitives. cmdk-engine adds the brain.
Auto-scan React Router, Next.js App Router, and Pages Router. CLI generates your command sitemap.
Built-in lightweight fuzzy search with scoring: exact > prefix > substring > word-boundary > fuzzy.
Filter commands by user permissions. Supports any/all modes with a pluggable access provider.
Frequently and recently used commands float to the top. Exponential decay algorithm, zero config.
Bidirectional synonym engine. "money" finds "billing". User aliases supported.
Tree-shakeable, zero runtime dependencies. Core engine is under 5 KB minified + brotli.
Keep cmdk's composable UI. Upgrade the brain behind it.
| Feature | cmdk | cmdk-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 |
Route Config ─→ Route Adapter ─→ Command Registry ─→ Keyword Engine
│
├─→ Access Control Filter
│
├─→ Search Engine (fuzzy / match-sorter)
│
└─→ Frecency Ranking
│
▼
Headless API / Hooks
│
▼
UI Adapter (cmdk)| Import | Size | Purpose |
|---|---|---|
| cmdk-engine | ~2.3 KB | Core engine (types, registry, search, keywords, access control, frecency) |
| cmdk-engine/react | ~2.6 KB | React hooks (provider, useCommandPalette, useCommandRegister) |
| cmdk-engine/adapters/cmdk | ~1.4 KB | Pre-wired cmdk components |
| cmdk-engine/adapters/react-router | ~2.0 KB | React Router v6/v7 route scanner |
All entry points are tree-shakeable. The core has zero runtime dependencies.