# Command > ⌘K palette and filterable command lists. Import from `@aspyn-io/kit`. Scaffold source: `npx shadcn@latest add https://design.aspyn.io/r/command.json` ## Install ```tsx import { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, } from "@aspyn-io/kit"; ``` ### ⌘K palette Global search-and-act. Try the button or press ⌘K / Ctrl+K right now. ```tsx const [open, setOpen] = React.useState(false); React.useEffect(() => { const down = (e: KeyboardEvent) => { if (e.key === "k" && (e.metaKey || e.ctrlKey)) { e.preventDefault(); setOpen((o) => !o); } }; document.addEventListener("keydown", down); return () => document.removeEventListener("keydown", down); }, []); No results found. Dashboard ``` ### Inline command list ```tsx … ``` ### Groups with icons A leading icon per item aids scanning. CommandItem lays out icon + label with a gap automatically. ```tsx No results found. Dashboard Customers Preferences ⌘, ``` ### Scrollable list CommandList caps its height (max-h-[300px]) and scrolls, so long result sets stay contained. ```tsx No timezone found. {timezones.map((tz) => ( {tz} ))} ``` ## Notes - Fuzzy filtering, keyboard navigation, and grouping come from cmdk. - CommandDialog includes a visually-hidden title for screen readers: pass title to customize.