- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Attachment
- Avatar
- Badge
- Breadcrumb
- Bubble
- Button
- Button Group
- Card
- Checkbox
- Collapsible
- Combobox
- Context Menu
- Date Picker (Lite)
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP (Lite)
- Item
- Kbd
- Label
- Marker
- Menubar
- Message
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
Recommended: Use Create to build your preset visually and copy the setup command.
Choose the setup that matches your project.
Plain Hono on Bun, Node.js or Cloudflare Workers, with the Tailwind CLI.
HonoX with Vite and @tailwindcss/vite.
Requirements
- Hono 4.12.34 or newer (JSX security fixes; 4.13.9 or newer is recommended), with
"jsx": "react-jsx"and"jsxImportSource": "hono/jsx"intsconfig.json. - Tailwind CSS v4.
- Bun or Node.js 20 or newer to run the CLI. It runs with
npx,pnpm dlx,yarn dlxorbunxand is not added to your dependencies.
What init does
Run init once, in the root of your project:
pnpm dlx shadcnui-hono-jsx@latest init --preset b0npx shadcnui-hono-jsx@latest init --preset b0yarn dlx shadcnui-hono-jsx@latest init --preset b0bunx shadcnui-hono-jsx@latest init --preset b0It writes:
| File | Content |
|---|---|
shadcnui-hono-jsx.json | The preset and the --rtl and --pointer options. |
styles/shadcn/theme.css | The preset's CSS variables, fonts and Tailwind theme. |
styles/shadcn/tailwind.css | shadcn/ui's Tailwind utilities and variants. |
LICENSE-shadcnui-hono-jsx.txt | The license notices of the installed sources and icons. |
and installs tw-animate-css and the preset's fonts (@fontsource-variable/*) with your package manager. The theme comes from ui.shadcn.com, like with shadcn init, so init needs network access.
Components go to components/ui/<name>.tsx with add, together with the components they import:
pnpm dlx shadcnui-hono-jsx@latest add button cardnpx shadcnui-hono-jsx@latest add button cardyarn dlx shadcnui-hono-jsx@latest add button cardbunx shadcnui-hono-jsx@latest add button cardImport them with a path alias ("paths": { "@/*": ["./*"] } in tsconfig.json) or a relative path:
import { Button } from "@/components/ui/button"Keep LICENSE-shadcnui-hono-jsx.txt with the installed sources when you copy or redistribute them.