Headless, accessible, framework-agnostic command menu component.
This is the monorepo for kmenu, a tiny package for building fast, accessible command palettes (⌘K menus). It contains the core headless library and a React adapter, plus the main website at kmenu.dev.
- core:
kmenu— headless engine with zero runtime dependencies. Seepackages/core. - react:
@kmenu/react— idiomatic React components and hooks. Seepackages/react.
- web: official websiet (
apps/web).
- Headless + composable: Bring your own UI
- Accessible: WAI-ARIA compliant
- Lightweight: < 6KB min+gzip (core)
- Framework-agnostic: Works everywhere
- Zero dependencies: No runtime deps in core
Core only:
npm install kmenu
# or
pnpm add kmenu
# or
bun add kmenuReact adapter:
npm install kmenu @kmenu/react
# or
pnpm add kmenu @kmenu/react
# or
bun add kmenu @kmenu/reactRequirements: Node >= 18.
git clone https://github.com/haaarshsingh/kmenu
cd kmenu
bun install # or npm install / pnpm install
# develop example app and packages
bun run dev
# build all packages/apps
bun run build
# type-check, lint, and test
bun run check-types
bun run lint
bun run testScripts are powered by Turborepo and run across workspaces. See package.json and turbo.json for details.
