CLI

Every NateUI CLI command for starting apps, adding components, and signing in.

Running the CLI

Run it through your package manager's runner. You don't need to install it first.

npx nateui@latest <command>

To type nateui directly instead, install it globally with npm install -g nateui. The CLI needs Node.js 18.17 or later.

Flags that take a value accept both --flag value and --flag=value.

init

Creates a new app with the theme, the @/ path, and components in place.

nateui init --nextjs|--vite [--pro] [--layers=<list>] <directory>
FlagDescription
--nextjsCreate a Next.js app (App Router).
--viteCreate a Vite + React app.
--proAlso install Pro layers. Asks you to sign in if you haven't.
--layers=<list>With --pro, choose which layers to install, comma-separated: ui, composites, layouts, patterns, blocks. Installs all five when left out.

The directory must be new or empty. Without --pro, init installs every UI component.

npx nateui@latest init --nextjs --pro --layers=ui,composites my-app

add

Copies components into your project along with everything they depend on.

nateui add <name...> [--overwrite]
FlagDescription
--overwriteReplace files that exist and differ from the NateUI version.
npx nateui@latest add button data-table
  • Names ignore case, dashes, and spaces: data-table, DataTable, and datatable all work.
  • If a name exists in more than one layer, add the layer in front: composites/data-table.
  • Other NateUI components, hooks, and helpers the item needs are added too.
  • npm packages are added to package.json. A package you already have keeps its version; the CLI warns if it differs from what the component expects.
  • Files you've changed are skipped with a warning, so add never silently replaces your edits.
  • Pro items ask you to sign in if you haven't.

Run add from the project root. It works in any React project that has a components.json, and creates one on first use.

Updating

Re-run add with --overwrite to replace your copy with the current version:

npx nateui@latest add button --overwrite

This replaces any edits you made to those files. Commit first so you can compare and keep what you need.

list

Shows components and Blocks with their layer and tier. Use --template to list a template's page IDs and titles.

nateui list [--installed] [--template <slug>]
FlagDescription
--installedShow the components and template pages recorded in this project's components.json.
--template <slug>Show page IDs and titles for crm, project-management, sales-inventory or ai-chat. See Add demo pages.
ui/button  ui  free
composites/data-table  composites  pro

For example, nateui list --template crm prints a page ID and title:

crm/dashboard  Dashboard

init-template

Creates a template starter project in a new or empty directory. The starter has no template pages until you add them.

nateui init-template --<template> <directory>
Template flagTemplate
--crmCRM
--project-managementProject Management
--sales-inventorySales & Inventory
--ai-chatAI Chat

See Installation for the full setup steps.

add-page

Adds a template page and its registered route and menu entry to the project where you run the command.

nateui add-page --<page> --<template> [--overwrite]
FlagDescription
--<page>Page ID from nateui list --template <slug>.
--<template>Template that owns the page ID.
--overwriteReplace differing files only when the page is not yet recorded in components.json. To replace an installed page, follow Getting a newer version.

The CLI records installed page IDs in components.json. It prints an install command if the page adds npm dependencies. See Add demo pages for file handling and removal.

remove-page

Removes an installed template page from the project where you run the command.

nateui remove-page --<page>

The command removes the page route, its NateUI menu, route and icon entries, and its installed-page record in components.json. It does not remove npm dependencies. See Add demo pages for the effects on files you changed.

describe

Shows what one item contains before you add it: tier, files, the NateUI items it depends on, and its npm packages. Marks it as installed if it's already in your project.

nateui describe <name>
npx nateui@latest describe data-table

login

Signs this computer in for Pro components.

nateui login

Enter the email you purchased with, then the 6-digit code sent to it. The sign-in is stored in ~/.nateui/credentials. login needs an interactive terminal.

You can also skip login: a Pro command asks for your email when it needs it, then continues once you enter the code.

skill

Installs the NateUI agent skill into your AI tool's skill directory. A normal project installation also creates application-root DESIGN.md from the Default starter if absent; run the command from that application root. Existing project documents are preserved, including with --force. Installing instructions applies no CSS or components.

nateui skill [--client <name>] [--global] [--path <dir>] [--force] [--dry-run] [--json]

--global and a custom --path install only the shared skill and skip project DESIGN.md. --dry-run reports both outputs without writes; --json includes their actions and complete, planned, failed or partial status. A partial setup exits nonzero even if the skill installed successfully. Theme-aware bundles require CLI 0.0.2 or newer.

See Agent skills for ownership, design changes and each flag.