TypeScript MIT

kmenu

The perfect ⌘K menu

H

haaarshsingh

Dernière activité 14 sept. 2026
haaarshsingh/kmenu

833

étoiles

27

forks

21

issues ouvertes

cmdkcommand-palettecommandbarkbarkmenuraunoreactreact-cmdktypescriptvercel

Ce README est souvent en anglais.

image

kmenu

Headless, accessible, framework-agnostic command menu component.

About

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.

Packages

  • core: kmenu — headless engine with zero runtime dependencies. See packages/core.
  • react: @kmenu/react — idiomatic React components and hooks. See packages/react.

Apps

  • web: official websiet (apps/web).

Features

  • 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

Install

Core only:

npm install kmenu
# or
pnpm add kmenu
# or
bun add kmenu

React adapter:

npm install kmenu @kmenu/react
# or
pnpm add kmenu @kmenu/react
# or
bun add kmenu @kmenu/react

Monorepo development

Requirements: 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 test

Scripts are powered by Turborepo and run across workspaces. See package.json and turbo.json for details.


Built by Harsh Singh

Projets similaires

fast, portable, and extensible cmd+k interface for your site

TypeScriptcommand-palettehooksjavascript
Ttimc1
5,3 k étoiles205

Fast, unstyled command menu React component.

TypeScriptcomboboxcommand-menucommand-palette
Ddip
13 k étoiles380

🌈 React for interactive command-line apps

TypeScriptclicommand-lineflexbox
Vvadimdemedes
40 k étoiles1,1 k