Docs
Primeros pasos
Cmd+kit se instala desde npm. Elige el paquete que encaja con tu runtime, define tus comandos en código y después personaliza la palette con mensajes, tokens de tema y overrides de render.
Qué se instala
@cmd-kit/react: componente listo para usar y hook para React@cmd-kit/vue: componente y API composable para Vue@cmd-kit/preact: adaptador para Preact con una API muy cercana a React@cmd-kit/astro: punto de entrada para Astro con integración basada en islas@cmd-kit/core: primitivas headless y runtime sin framework (createCommandPalette)
Elige el paquete correcto
- React: úsalo si tu UI ya es React y quieres la superficie empaquetada más completa
- Vue: úsalo si tu aplicación es Vue y quieres slots y una integración propia de Vue
- Preact: úsalo si buscas una API estilo React sobre un runtime más ligero
- Astro: úsalo si tu shell es Astro y quieres un paquete pensado para islas de Astro
- Core: úsalo si necesitas controlar toda la UI o integrar un runtime sin framework
Instalación
npm install @cmd-kit/react Modelo de comandos
La palette se construye con secciones. Cada sección contiene ítems. Un ítem puede abrir un enlace, ejecutar un callback o navegar a secciones hijas.
const sections = [
{
id: "navigation",
title: "Navigation",
items: [
{
id: "dashboard",
title: "Dashboard",
subtitle: "Open the main workspace",
href: "/dashboard",
shortcut: "G D"
},
{
id: "settings",
title: "Settings",
children: [
{
id: "preferences",
title: "Preferences",
items: [
{ id: "theme", title: "Theme" },
{ id: "account", title: "Account" }
]
}
]
}
]
}
]; Checklist de la primera integración
- Elige el paquete que coincide con el runtime de tu UI.
- Instálalo con tu gestor de paquetes junto con las peer dependencies que necesite.
- Empieza con una o dos secciones raíz y unos pocos ítems.
- Confirma que enlaces, callbacks y navegación anidada funcionan antes de estilizar mucho.
- Después pasa a Personalización para iconos, estilos, mensajes y datos asíncronos.
Comandos recientes
recents está desactivado por defecto. Actívalo con recents={true} o configúralo con recents={{ limit, sectionTitle }}. Si quieres desactivarlo explícitamente, usa recents={false}.
FAQ
¿Qué paquete instalo si mi app mezcla varias tecnologías?
Instala el adaptador del árbol de UI que va a renderizar la palette. Usa @cmd-kit/core solo si vas a construir tu propia capa de UI.
¿Tengo que instalar las peer dependencies manualmente?
Sí. Instala el adaptador junto al runtime que ya usa tu proyecto (React, Vue, Preact o Astro).
¿Puedo empezar con secciones estáticas y luego pasar a datos asíncronos?
Sí. Puedes arrancar con sections o items y migrar después a source sin cambiar el modelo de comandos.
¿Puedo desactivar completamente los comandos recientes?
Sí. No pases recents (por defecto está apagado) o pásalo como recents={false}.
¿Cmd+kit está listo para producción?
Sí, siempre que valides en tu app real la estructura de comandos, el flujo de teclado y el comportamiento específico del producto.
¿Cuándo tiene sentido pasar de un adaptador a Core?
Cuando necesitas control total del renderizado y de la interacción más allá de lo que ofrece el componente empaquetado.