![npm version][npm-version-href] ![npm downloads][npm-downloads-href] ![License][license-href] ![Nuxt][nuxt-href] Nuxt UI harnesses the combined strengths of Reka UI, Tailwind CSS, and Tailwind Variants to offer developers an unparalleled set of tools for
$ npx -y skills add nuxt/ui --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: nuxt/ui
What's inside
Nuxt UI harnesses the combined strengths of Reka UI, Tailwind CSS, and Tailwind Variants to offer developers an unparalleled set of tools for creating sophisticated, accessible, and highly performant user interfaces.
[!NOTE] You are on the
v4branch, check out the v3 branch for Nuxt UI v3 or v2 branch for Nuxt UI v2.
Visit https://ui.nuxt.com to explore the documentation.
Kickstart your project with one of our ready-to-use Nuxt UI templates or follow the Installation Guide. Explore all available templates on the official templates page.
pnpm add @nuxt/ui tailwindcss
yarn add @nuxt/ui tailwindcss
npm install @nuxt/ui tailwindcss
bun add @nuxt/ui tailwindcss
nuxt.config.ts:export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css']
})
@import "tailwindcss";
@import "@nuxt/ui";
Learn more in the installation guide.
vite.config.ts:import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui()
]
})
main.ts:import './assets/css/main.css'
import { createApp } from 'vue'
import { createRouter, createWebHistory } from 'vue-router'
import ui from '@nuxt/ui/vue-plugin'
import App from './App.vue'
const app = createApp(App)
const router = createRouter({
routes: [],
history: createWebHistory()
})
app.use(router)
app.use(ui)
app.mount('#app')
@import "tailwindcss";
@import "@nuxt/ui";
Learn more in the installation guide.
Thank you for considering contributing to Nuxt UI. Here are a few ways you can get involved:
[!TIP] We provide contributing guidelines through
AGENTS.mdfor AI assistants to help you contribute to Nuxt UI. It is automatically picked up by all AI coding agents and guides through component structure, theming patterns, testing conventions, and documentation guidelines.
Follow the docs to set up your local development environment and contribute.
Licensed under the MIT license.
.editorconfig
.github/
CODEOWNERS
contributing/
component-structure.md
documentation.md
testing.md
theme-structure.md
ISSUE_TEMPLATE/
bug-report.yml
config.yml
feature-request.yml
labeler.yml
PULL_REQUEST_TEMPLATE.md
reproduire/
needs-reproduction.md
workflows/
module.yml
pr-labeler.yml
release.yml
reproduction.yml
reproduire.yml
stale.yml
.gitignore
.nuxtrc
.release-it.json
.vscode/
settings.json
AGENTS.md
build.config.ts
CHANGELOG.md
cli/
commands/
make/
component.mjs
index.mjs
locale.mjs
index.mjs
package.json
templates.mjs
utils.mjs
docs/
.env.example
app/
app.config.ts
app.vue
assets/
css/
main.css
icons/
embla-carousel.svg
fuse-js.svg
icones-js.svg
reka-ui.svg
tiptap.svg
components/
AdsCarbon.vue
Banner.vue
chat/
Chat.vue
Comark.client.ts
content/
ComponentChangelog.vue
ComponentCode.vue
ComponentEmits.vue
ComponentExample.vue
ComponentPlaygroundButton.vue
ComponentProps.vue
ComponentPropsLinks.vue
ComponentPropsSchema.vue
ComponentsList.vue
ComponentSlots.vue
ComponentTheme.vue
ComponentThemeVisualizer.vue
ComponentThemeVisualizerIcon.vue
examples/
accordion/
AccordionBodySlotExample.vue
AccordionContentSlotExample.vue
AccordionCustomSlotExample.vue
AccordionDragAndDropExample.vue
AccordionMarkdownExample.vue
AccordionModelValueExample.vue
auth-form/
AuthFormExample.vue
AuthFormPageExample.vue
avatar/
avatar-group/
AvatarGroupChipExample.vue
AvatarGroupLinkExample.vue
AvatarGroupMaskExample.vue
AvatarGroupTooltipExample.vue
AvatarMaskExample.vue
AvatarTooltipExample.vue
banner/
BannerExample.vue
breadcrumb/
BreadcrumbCustomSlotExample.vue
BreadcrumbSeparatorSlotExample.vue
button/
ButtonLoadingAutoExample.vue
ButtonLoadingAutoFormExample.vue
calendar/
CalendarDatePickerExample.vue
CalendarDateRangePickerExample.vue
CalendarDisabledDatesExample.vue
CalendarEventsExample.vue
CalendarExternalControlsExample.vue
CalendarMinMaxDatesExample.vue
CalendarOtherSystemExample.vue
CalendarTodayExample.vue
CalendarUnavailableDatesExample.vue
carousel/
CarouselArrowsExample.vue
CarouselAutoHeightExample.vue
CarouselAutoplayExample.vue
CarouselAutoScrollExample.vue
CarouselClassNamesExample.vue
CarouselDotsExample.vue
CarouselDotsMultipleExample.vue
CarouselExample.vue
CarouselFadeExample.vue
CarouselItemsExample.vue
CarouselItemsMultipleExample.vue
CarouselOrientationExample.vue
CarouselPrevNextExample.vue
CarouselPrevNextIconExample.vue
CarouselThumbnailsExample.vue
CarouselWheelGesturesExample.vue
changelog/
ChangelogVersionMarkdownExample.vue
ChangelogVersionsStickyExample.vue
chat/
ChatMessagesIndicatorSlotExample.vue
ChatPaletteContentSearchExample.vue
ChatPaletteModalExample.vue
ChatPromptEditorExample.vue
ChatPromptExample.vue
ChatReasoningExample.vue
ChatToolApprovalExample.vue
ChatToolExample.vue
chip/
ChipShowExample.vue
collapsible/
CollapsibleIconExample.vue
CollapsibleOpenExample.vue
color-picker/
ColorPickerChooserExample.vue
command-palette/
CommandPaletteCustomSlotExample.vue
CommandPaletteFetchExample.vue
CommandPaletteFooterSlotExample.vue
CommandPaletteFuseExample.vue
CommandPaletteIgnoreFilterExample.vue
CommandPaletteItemsChildrenExample.vue
CommandPaletteOpenExample.vue
CommandPalettePostFilterExample.vue
CommandPaletteSearchTermExample.vue
CommandPaletteSelectExample.vue
CommandPaletteVirtualizeExample.vue
container/
ContainerExample.vue
content/
ContentNavigationExample.vue
ContentSearchExample.vue
ContentSurroundExample.vue
ContentTocExample.vue
context-menu/
ContextMenuCheckboxItemsExample.vue
ContextMenuColorItemsExample.vue
ContextMenuCustomSlotExample.vue
dashboard/
DashboardNavbarExample.vue
DashboardNavbarToggleExample.vue
DashboardNavbarToggleSideExample.vue
DashboardPanelExample.vue
DashboardSidebarCollapsedExample.vue
DashboardSidebarExample.vue
DashboardSidebarModeExample.vue
DashboardSidebarOpenExample.vue
DashboardSidebarToggleExample.vue
DashboardSidebarToggleSideExample.vue
DashboardToolbarExample.vue
drawer/
DrawerCommandPaletteExample.vue
DrawerDismissibleExample.vue
DrawerFooterSlotExample.vue
DrawerNestedExample.vue
DrawerOpenExample.vue
DrawerResponsiveExample.vue
dropdown-menu/
DropdownMenuCheckboxItemsExample.vue
DropdownMenuColorItemsExample.vue
DropdownMenuContentWidthExample.vue
DropdownMenuCustomSlotExample.vue
DropdownMenuFilterFieldsExample.vue
DropdownMenuFilterItemsExample.vue
DropdownMenuIgnoreFilterExample.vue
DropdownMenuOpenExample.vue
DropdownMenuSwitchItemsExample.vue
editor/
EditorCompletionExample.vue
EditorCompletionExtension.ts
EditorDragHandleDropdownMenuExample.vue
EditorDragHandleExample.vue
EditorDragHandleSuggestionMenuExample.vue
EditorEmojiMenuExample.vue
EditorEmojiMenuItemsExample.vue
EditorExample.vue
EditorImageUploadExample.vue
EditorImageUploadExtension.ts
EditorImageUploadNode.vue
EditorLinkPopover.vue
EditorMentionMenuExample.vue
EditorMentionMenuIgnoreFilterExample.vue
EditorMentionMenuItemsExample.vue
EditorSuggestionMenuExample.vue
EditorSuggestionMenuItemsExample.vue
EditorToolbarCustomSlotExample.vue
EditorToolbarExample.vue
EditorToolbarImageExample.vue
EditorToolbarItemsExample.vue
EditorToolbarLayoutExample.vue
EditorUseCompletion.ts
empty/
EmptySlotsExample.vue
field-group/
FieldGroupBadgeExample.vue
FieldGroupDropdownExample.vue
FieldGroupTooltipExample.vue
file-upload/
FileUploadDefaultSlotExample.vue
FileUploadFilesBottomSlotExample.vue
FileUploadFilesTopSlotExample.vue
FileUploadFormValidationExample.vue
footer/
FooterColumnsExample.vue
FooterExample.vue
form/
FormExampleBasic.vue
FormExampleElements.vue
FormExampleErrorPattern.vue
FormExampleHtml5Validation.vue
FormExampleJoi.vue
FormExampleNested.vue
FormExampleNestedList.vue
FormExampleOnError.vue
FormExampleRegle.vue
FormExampleSuperstruct.vue
FormExampleValibot.vue
FormExampleYup.vue
FormExampleZod.vue
header/
HeaderExample.vue
HeaderMenuExample.vue
HeaderToggleAnimatedExample.vue
HeaderToggleExample.vue
HeaderToggleSideExample.vue
icon/
IconSvgExample.vue
input/
input-date/
InputDateDatePickerExample.vue
InputDateDateRangePickerExample.vue
InputDateMinMaxDatesExample.vue
InputDateUnavailableDatesExample.vue
input-menu/
InputMenuContentWidthExample.vue
InputMenuCountriesExample.vue
InputMenuCreateItemExample.vue
InputMenuFetchExample.vue
InputMenuFilterFieldsExample.vue
InputMenuIconExample.vue
InputMenuIgnoreFilterExample.vue
InputMenuInfiniteScrollExample.vue
InputMenuItemsAvatarExample.vue
InputMenuItemsChipExample.vue
InputMenuItemsIconExample.vue
InputMenuModeExample.vue
InputMenuOpenExample.vue
InputMenuOpenFocusExample.vue
InputMenuSearchTermExample.vue
InputMenuVirtualizeExample.vue
input-number/
InputNumberCurrencyExample.vue
InputNumberDecimalExample.vue
InputNumberFormFieldExample.vue
InputNumberPercentageExample.vue
InputNumberSlotsExample.vue
InputNumberWithoutButtonsExample.vue
input-tags/
InputTagsFormFieldExample.vue
input-time/
InputTimeFormFieldExample.vue
InputCharacterLimitExample.vue
InputClearButtonExample.vue
InputCopyButtonExample.vue
InputFieldGroupExample.vue
InputFloatingLabelExample.vue
InputFormFieldExample.vue
InputKbdExample.vue
InputMaskExample.vue
InputPasswordStrengthIndicatorExample.vue
InputPasswordToggleExample.vue
InputPhoneNumberExample.vue
listbox/
ListboxFilterFieldsExample.vue
ListboxIgnoreFilterExample.vue
ListboxModelValueExample.vue
ListboxSearchTermExample.vue
ListboxSelectedIconExample.vue
ListboxTransferListExample.vue
ListboxVirtualizeExample.vue
locale/
LocaleSelectExample.vue
marquee/
MarqueeScreenshots.vue
MarqueeTestimonials.vue
modal/
ModalCommandPaletteExample.vue
ModalExample.vue
ModalFooterSlotExample.vue
ModalNestedExample.vue
ModalOpenExample.vue
ModalProgrammaticExample.vue
navigation-menu/
NavigationMenuBottomTabBarExample.vue
NavigationMenuCollapsedLabelExample.vue
NavigationMenuContentSlotExample.vue
NavigationMenuCustomSlotExample.vue
NavigationMenuModelValueExample.vue
NavigationMenuTrailingSlotExample.vue
page/
PageCardTestimonialExample.vue
PageColumnsExample.vue
PageGridBentoExample.vue
PageGridExample.vue
PageListDivideExample.vue
PageListExample.vue
PageLogosWithItems.vue
PageLogosWithSlot.vue
pagination/
PaginationLinksExample.vue
pin-input/
PinInputSeparatorSlotExample.vue
popover/
PopoverAnchorSlotExample.vue
PopoverCommandPaletteExample.vue
PopoverCursorExample.vue
PopoverDismissibleExample.vue
PopoverOpenExample.vue
pricing-table/
PricingTableSlotsExample.vue
scroll-area/
ScrollAreaDefaultSlotExample.vue
ScrollAreaExample.vue
ScrollAreaExternalScrollExample.vue
ScrollAreaInfiniteScrollExample.vue
ScrollAreaItemsExample.vue
ScrollAreaMasonryLayoutExample.vue
ScrollAreaOrientationExample.vue
ScrollAreaResponsiveLanesExample.vue
ScrollAreaScrollToExample.vue
ScrollAreaShadowExample.vue
ScrollAreaVirtualizeExample.vue
select/
select-menu/
SelectMenuContentWidthExample.vue
SelectMenuCountriesExample.vue
SelectMenuCreateItemExample.vue
SelectMenuFetchExample.vue
SelectMenuFilterFieldsExample.vue
SelectMenuIconExample.vue
SelectMenuIgnoreFilterExample.vue
SelectMenuInfiniteScrollExample.vue
SelectMenuItemsAvatarExample.vue
SelectMenuItemsChipExample.vue
SelectMenuItemsIconExample.vue
SelectMenuOpenExample.vue
SelectMenuSearchTermExample.vue
SelectMenuVirtualizeExample.vue
SelectContentWidthExample.vue
SelectFetchExample.vue
SelectIconExample.vue
SelectInfiniteScrollExample.vue
SelectItemsAvatarExample.vue
SelectItemsChipExample.vue
SelectItemsIconExample.vue
SelectOpenExample.vue
sidebar/
SidebarChatExample.vue
SidebarExample.vue
SidebarHeaderExample.vue
SidebarModeExample.vue
SidebarOpenExample.vue
SidebarPersistExample.vue
SidebarPropsExample.vue
SidebarWidthExample.vue
skeleton/
SkeletonExample.vue
... 1600 moreShowing a partial view of a very large repo.
FAQ
ui is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes nuxt-ui. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.