Installation
Start a new app with NateUI, or add NateUI to a React project you already have.
Requirements
| Requirement | Version |
|---|---|
| React | 19 |
| Tailwind CSS | 4 |
| TypeScript | 5 or later |
| Node.js | 18.17 or later |
New project
init creates a ready-to-run app with the theme, the @/ path, the Inter font, and every UI component already in place.
The target folder must be new or empty. When init finishes, it prints the commands to install packages and start the app, for example:
To start with the Pro layers as well, add --pro. The CLI asks you to sign in if you haven't. See the CLI reference.
Manual
Add NateUI to a project you already have. Set up the theme and the @/ path once, before your first add. These are the same steps init does for a new app.
- 1
Install packages
If your app doesn't have Tailwind CSS 4 yet, follow Tailwind's Next.js guide first. Then add the typography plugin the theme uses:
The Tailwind plugin is added to
vite.config.tsin step 3.Set up Tailwind CSS v4 the way your framework's guide describes, then add the typography plugin the theme uses:
Component-specific packages are added later by
add. - 2
Add the theme
This stylesheet holds every color, radius, and shadow the components use, in light and dark.
styles/base.cssSave it as
styles/base.css, next to yourappfolder. Then import it at the top ofapp/globals.css:app/globals.cssSave it as
src/styles/base.css. Then import it insrc/main.tsx:src/main.tsxSave it as
styles/base.cssin your source folder. Then import it from the file your app loads its global CSS from.The stylesheet already imports Tailwind CSS, so remove your own
@import "tailwindcss";line. Otherwise Tailwind loads twice. - 3
Set the
@/pathComponents import each other and their helpers through
@/. NateUI installs its files into the folder@/points to.Apps created with
create-next-appalready have@/, so there's nothing to add.tsconfig.app.jsonvite.config.tsMap
@/*to your source folder intsconfig.json, and give your bundler the same alias. TypeScript'spathsalone only affects type checking; the bundler needs its own setting. - 4
Add the font
Optional. The theme uses Inter and falls back to the system font when Inter isn't loaded.
app/layout.tsxindex.htmlLoad Inter under the family name
Interin whatever way your framework prefers. - 5
Add a component
Run this from the project root:
addcopies the component and anything it depends on into the folder@/points to, adds its npm packages topackage.json, and writes acomponents.json. Run your package manager's install afterwards if it tells you to.To copy files by hand instead, use the Manual tab on any component page. It lists every file and package the component needs. Pro components show their files once you sign in.
And use it:
app/page.tsxMost components use React state or context. In the App Router, use them from a file that starts with
"use client".src/App.tsx
Where files go
NateUI installs into the folder @/ points to: src if your project has one, otherwise the project root.
- ui
- composites
- layouts
- patterns
- blocks
- hooks
- utils
Components land in the folder for their layer. Shared hooks and helpers go to hooks and utils, and are added automatically when a component needs them.
components.json sits at the project root. It records where NateUI installs files and which items you've added. Keep it in version control.