Setup

Learn how to setup your Nuxt 3 project with UI Thing.

So you want to use UI Thing in your Nuxt 3 project? Great! This guide will walk you through the steps to get started.

Prerequisites

Before you can use UI Thing, you need to have a Nuxt 3 project. If you don't have one yet, you can create one with the following command:

npx nuxi@latest init my-nuxt3-project

This will create a new Nuxt 3 project in the my-nuxt3-project directory. You can then navigate to that directory and start the development server:

cd my-nuxt3-project && npm run dev

Initialization

Once you have a Nuxt 3 project, you can initialize UI Thing with the following command:

npx ui-thing@latest init

This command will ask you a bunch of question the first time you run it

 Which Nuxt version are you using? Nuxt 4
 Which theme do you want to start with? Zinc
 Where is your tailwind.css file located? app/assets/css/tailwind.css
 Where is your tailwind.config file located? tailwind.config.js
 Where should your components be stored? app/components/Ui
 Where should your composables be stored? app/composables
 Where should your plugins be stored? app/plugins
 Where should your utils be stored? app/utils
 Should we just replace component files if they already exist? yes
 Would you like to use the default filename when adding components? yes
 Which package manager do you use? NPM

After answering these questions, UI Thing will:

  • Create a tailwind.config.js file
  • Update your nuxt.config.ts file
  • Add the necessary dependencies
  • Create a ui-thing.config.ts file with the default configuration
  • Create a components directory ( based on your answer)
  • Create a composables directory ( based on your answer)
  • Create a utils directory ( based on your answer)
  • Create a tailwind.css file ( based on your answer) & add the starting theme to it
  • Create a prettierrc file & then format your code.

Adding components

Now that you have initialized UI Thing in your project, you can start adding components. You can do this with the following command:

npx ui-thing@latest add

This command will then ask you to select the components that you want to add to your project.

Once you have selected the components you want to add, UI Thing will:

  • Add the components to your components directory
  • Add the composables to your composables directory
  • Add the utils to your utils directory
  • Add the plugins to your plugins directory
  • Install the necessary dependencies
  • Add the necessary configuration to your nuxt.config.ts file

Adding themes

UI Thing comes with a few themes out of the box. You can add a theme to your project with the following command:

npx ui-thing@latest theme

This will ask you to select the theme you want to add to your project. Once you have selected a theme, UI Thing will ask you if you want to overwrite your tailwind.css file. If you answer yes, it will overwrite your tailwind.css file with the theme you selected.

Please note that this will overwrite your tailwind.css file. If you have made any changes to this file, you will lose them.

Theme source

The themes included in this cli all come from shadcn/ui theme page. So if you dont want to use this CLI to add themes, you can just customize your theme on that page and copy the code into your tailwind.css file.

Thanks shadcn for making these themes available for free! 🙏