Skip to content

haaarshsingh/kmenu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Sponsor this project

 

Contributors 7