dip/cmdk

Fast, unstyled command menu React component.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 39 minutes ago
Added to GitGenius on September 4th, 2026
Created on July 15th, 2022
Open Issues & Pull Requests: 75 (+0)
GitHub issues: Enabled
Number of forks: 379
Total Stargazers: 12,955 (+0)
Total Subscribers: 28 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.2 days
Mean response time: 47.1 days
90th percentile: 106.4 days
Tracked items: 99

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 0% of issues opened in the past year have been closed. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 41
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 521 days
Stale 30+ days: 39
Stale 90+ days: 34

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • planned (6)
  • enhancement (5)
  • Virtualization (3)
  • bug (2)
  • good first issue (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

cmdk is a command menu React component that functions as both a searchable command palette and an accessible combobox.

The tool solves the problem of building keyboard-accessible command interfaces by providing a composable React component that automatically handles filtering and sorting of items. Developers render items declaratively using JSX, and the component manages the search logic, keyboard navigation, and selection state. The filtering can be customized with a provided function that ranks items, and keywords can be supplied as aliases to improve search relevance. The component supports both inline rendering and modal dialog presentation through integration with Radix UI's Dialog primitive.

Teams building applications that need command palettes, search-driven navigation, or accessible comboboxes should consider this tool. It suits projects where developers want to avoid styling overhead and focus on behavior, since the component is intentionally unstyled and exposes data attributes for custom styling. The composable API allows items to be wrapped in other components or written as static JSX without special configuration. The component supports features like wrapping navigation with the loop prop, custom filter functions with keyword support, and forced rendering of items or groups regardless of filter state.

The project maintains active development with regular updates to the codebase. Issues receive responses and engagement from maintainers. Pull requests are reviewed and merged to address bugs and feature requests. The repository includes comprehensive documentation covering the API surface, architecture decisions, and usage patterns.