heroui-cli
v3.0.2
Published
A CLI tool that unlocks seamless HeroUI integration
Downloads
23,440
Maintainers
Readme
The CLI offers a suite of commands to initialize, manage, and improve your HeroUI projects. It enables you to install, uninstall, or upgrade HeroUI packages, assess the health of your project, and more.
Quick Start
Note: The HeroUI CLI requires Node.js 22+ or later
You can choose the following ways to start the HeroUI CLI.
Npx
npx heroui-cli@latestGlobal Installation
npm install -g heroui-cliUsage
Usage: heroui [command]
Options:
-v, --version Output the current version
--no-cache Disable cache, by default data will be cached for 30m after the first request
-d, --debug Debug mode will not install dependencies
-h --help Display help information for commands
Commands:
init [options] [projectName] Initializes a new project
install [options] Installs @heroui/react and @heroui/styles in your project
upgrade [options] Upgrades @heroui/react and @heroui/styles to the latest versions
uninstall [options] Uninstalls @heroui/react and @heroui/styles from the project
list [options] Lists installed HeroUI packages (@heroui/react, @heroui/styles)
env [options] Displays debugging information for the local environment
doctor [options] Checks for issues in the project
agents-md [options] Downloads HeroUI documentation for AI coding agents
help [command] Display help for commandAnalytics
The agents-md command collects anonymous usage data.
What we collect: Selection (react/native/both), output file names, duration, success or error. No file paths, or project contents are collected.
Opt out: Set HEROUI_ANALYTICS_DISABLED=1 in your environment or shell profile.
Commands
Init
Initialize a new HeroUI project with official templates.
heroui init [projectName] [options]Init Options
-t --template [string]The template to use for the new project e.g. app, laravel, pages, remix, vite-p --package [string]The package manager to use for the new project
Example
# Initialize a new HeroUI project with the app template, named my-heroui-app using pnpm
heroui init my-heroui-app -t app -p pnpmAlternatively, you can run init without any flags and select an option from the prompt.
heroui initoutput:
HeroUI CLI <version>
┌ Create a new project
│
◇ Select a template (Enter to select)
│ ● App (A Next.js 16 with app directory template pre-configured with HeroUI (v3) and Tailwind CSS.)
│ ○ Pages (A Next.js 16 with pages directory template pre-configured with HeroUI (v3) and Tailwind CSS.)
│ ○ Vite (A Vite template pre-configured with HeroUI (v3) and Tailwind CSS.)
│
◇ New project name (Enter to skip with default name)
│ my-heroui-app
│
◇ Select a package manager (Enter to select)
│ ● npm
│ ○ yarn
│ ○ pnpm
│ ○ bun
│
◇ Template created successfully!
│
◇ Next steps ───────╮
│ │
│ cd my-heroui-app │
│ npm install │
│ │
├────────────────────╯
│
└ 🚀 Get started with npm run devInstall
Install @heroui/react and @heroui/styles in your project, along with their peer dependencies. If they are already installed, the command does nothing.
heroui install [options]Install Options
-p --packagePath[string] The path to the package.json file
Example
heroui installOutput:
HeroUI CLI <version>
📦 Packages to be installed:
╭─────────────────────────────────────────────────────────────────────────────╮
│ Package │ Version │ Status │ Docs │
│─────────────────────────────────────────────────────────────────────────────│
│ @heroui/react │ 3.0.0 │ stable │ https://heroui.com │
│ @heroui/styles │ 3.0.0 │ stable │ https://heroui.com │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─────────────── PeerDependencies ────────────────╮
│ [email protected] latest │
│ [email protected] latest │
│ [email protected] latest │
╰─────────────────────────────────────────────────╯
? Proceed with installation? › - Use arrow-keys. Return to submit.
❯ Yes
No
✅ @heroui/react and @heroui/styles installed successfullyUpgrade
Upgrade @heroui/react and @heroui/styles with their peer dependencies to the latest versions.
heroui upgrade [options]Upgrade Options
-p --packagePath[string] The path to the package.json file
Example
heroui upgradeOutput:
HeroUI CLI <version>
╭──────────────────────────── Upgrade ────────────────────────────╮
│ @heroui/react ^3.0.0 -> ^3.1.0 │
│ @heroui/styles ^3.0.0 -> ^3.1.0 │
╰─────────────────────────────────────────────────────────────────╯
? Would you like to proceed with the upgrade? › - Use arrow-keys. Return to submit.
❯ Yes
No
✅ Upgrade complete. All packages are up to date.Uninstall
Uninstall @heroui/react and @heroui/styles from your project. Peer dependencies will not be deleted.
heroui uninstall [options]Uninstall Options
-p --packagePath[string] The path to the package.json file
Example
heroui uninstallOutput:
HeroUI CLI <version>
❗️ Packages slated for uninstallation:
╭──────────────────────────────────────────────────────────────────────────────────────╮
│ Package │ Version │ Status │ Docs │
│──────────────────────────────────────────────────────────────────────────────────────│
│ @heroui/react │ 3.0.0 │ stable │ https://heroui.com │
│ @heroui/styles │ 3.0.0 │ stable │ https://heroui.com │
╰──────────────────────────────────────────────────────────────────────────────────────╯
? Confirm uninstallation of these packages: › - Use arrow-keys. Return to submit.
❯ Yes
No
✅ Successfully uninstalled: @heroui/react, @heroui/stylesList
List the installed HeroUI packages (@heroui/react, @heroui/styles).
heroui list [options]List Options
-p --packagePath[string] The path to the package.json file
Example
heroui listOutput:
HeroUI CLI <version>
Current installed packages:
╭──────────────────────────────────────────────────────────────────────────────────────╮
│ Package │ Version │ Status │ Docs │
│──────────────────────────────────────────────────────────────────────────────────────│
│ @heroui/react │ 3.0.0 🚀latest │ stable │ https://heroui.com │
│ @heroui/styles │ 3.0.0 🚀latest │ stable │ https://heroui.com │
╰──────────────────────────────────────────────────────────────────────────────────────╯Doctor
Check for issues in your project.
heroui doctor [options]Features
- Check whether
@heroui/reactand@heroui/stylesare installed- Check whether
required peer dependenciesare installed and matched minimal requirements in the project
Doctor Options
-p --packagePath[string] The path to the package.json file
Example
heroui doctorOutput:
If there is a problem in your project, the doctor command will display the problem information.
HeroUI CLI <version>
HeroUI CLI: ❌ Your project has 1 issue that require attention
❗️Issue 1: missingHeroUIPackages
The following HeroUI packages are not installed:
- @heroui/styles
Run `heroui install` to install them.Otherwise, the doctor command will display the following message.
HeroUI CLI <version>
✅ Your project has no detected issues.Env
Display debug information about the local environment.
heroui env [options]Env Options
-p --packagePath[string] The path to the package.json file
Example
heroui envOutput:
HeroUI CLI <version>
Current installed packages:
╭──────────────────────────────────────────────────────────────────────────────────────╮
│ Package │ Version │ Status │ Docs │
│──────────────────────────────────────────────────────────────────────────────────────│
│ @heroui/react │ 3.0.0 🚀latest │ stable │ https://heroui.com │
│ @heroui/styles │ 3.0.0 🚀latest │ stable │ https://heroui.com │
╰──────────────────────────────────────────────────────────────────────────────────────╯
Environment Info:
System:
OS: darwin
CPU: arm64
Binaries:
Node: v25.8.1Agents-md
Download HeroUI documentation for AI coding agents (Claude, Cursor, etc.). This command downloads the latest documentation from the HeroUI repository and generates an index file that can be injected into markdown files like AGENTS.md or CLAUDE.md to help AI assistants understand your project's HeroUI setup.
heroui agents-md [options]Features
- Downloads latest HeroUI documentation from the
v3branch- Supports React, Native, and Migration (v2→v3) documentation
- Generates a section for the selected library (React, Native, or Migration) in the markdown file
- Automatically adds
.heroui-docs/to.gitignore
Agents-md Options
--react[boolean] Include React docs only (one library at a time)--native[boolean] Include Native docs only--migration[boolean] Include HeroUI v2 to v3 migration docs only--output <file>[string] Target file path (e.g.,AGENTS.md,CLAUDE.md)--ssh[boolean] Use SSH instead of HTTPS for git clone
Example
Run the command without any flags to enter interactive mode:
heroui agents-mdDownload React docs to a specific file:
heroui agents-md --react --output AGENTS.mdDownload Native docs:
heroui agents-md --native --output CLAUDE.mdDownload migration docs (v2→v3):
heroui agents-md --migration --output AGENTS.mdUse SSH for cloning (useful if HTTPS fails):
heroui agents-md --react --ssh --output AGENTS.mdHow It Works
- Downloads Documentation: Clones the HeroUI repository using git sparse-checkout to download only the documentation files
- Generates Index: Creates a compact index of all documentation files organized by directory
- Injects into Markdown: Injects the index into your specified markdown file (e.g.,
AGENTS.md) with special markers:<!-- HEROUI-REACT-AGENTS-MD-START -->/<!-- HEROUI-REACT-AGENTS-MD-END -->for React docs<!-- HEROUI-NATIVE-AGENTS-MD-START -->/<!-- HEROUI-NATIVE-AGENTS-MD-END -->for Native docs<!-- HEROUI-MIGRATION-AGENTS-MD-START -->/<!-- HEROUI-MIGRATION-AGENTS-MD-END -->for Migration docs
- Single library: Only one of React, Native, or Migration can be selected at a time
File Structure
After running the command, you'll have:
your-project/
├── .heroui-docs/ # Downloaded documentation (gitignored)
│ ├── react/ # React documentation files (if selected)
│ ├── native/ # Native documentation files (if selected)
│ └── migration/ # Migration docs (v2→v3, if selected)
├── AGENTS.md # Your markdown file with injected index
└── .gitignore # Updated to include .heroui-docs/Notes
- The command always downloads the latest documentation from the
v3branch - Documentation is stored in
.heroui-docs/which is automatically added to.gitignore
Community
We're excited to see the community adopt HeroUI CLI, raise issues, and provide feedback. Whether it's a feature request, bug report, or a project to showcase, please get involved!
Contributing
Contributions are always welcome!
See CONTRIBUTING.md for ways to get started.
Please adhere to this project's CODE_OF_CONDUCT.
