Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

329 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Releases

Sponsor this project

Used by

Contributors

Languages