CLI

The boardui CLI copies component source files straight into your project — no runtime package, the code is yours. It resolves each component's internal dependencies (utils, icons, other components) transitively and installs any missing npm packages with your package manager.

npx boardui@latest add button select date-picker

init

Sets up BoardUI in an existing Next.js project: installs the runtime dependencies (react-aria-components, tailwind-merge, @remixicon/react, Tailwind v4), writes styles/theme.css, styles/typography.css, styles/globals.css, and utils/cx.ts, then prints the import line to add to your root layout.

npx boardui@latest init
OptionDescription
-y, --yesSkip confirmation prompts
-o, --overwriteOverwrite existing files
-d, --dir <dir>Target directory (defaults to the project source root)
--proAlso install dependencies used by BoardUI Pro components

add

Adds one or more components. By default, files keep the same structure as this site (components/base/…, components/application/…), imports use the @/ alias, and existing files are skipped unless you pass --overwrite. Run it without arguments for an interactive picker.

npx boardui@latest add # interactive pickernpx boardui@latest add table paginationnpx boardui@latest add --all
OptionDescription
-a, --allAdd every component in the registry
-p, --path <path>Custom directory to write files into
-d, --dir <dir>Target directory (defaults to the project source root)
-o, --overwriteOverwrite existing files
-y, --yesSkip prompts — keep existing files, install dependencies

Custom paths and monorepos

Add an optional boardui.json next to the destination package's package.json to configure where files go and which import aliases they use. Both init and add read it, including for Pro components. Without it, the existing root and src/ layouts behave as before.

Configure paired paths and aliases entries for components, utils, hooks, styles, or lib. Run the CLI inside the destination package so npm dependencies install there too. Configured mappings cannot be combined with --path or --dir; those flags remain available for unconfigured projects. Changing the config does not migrate previously installed files.

Configure a shared UI package and consuming apps

list

Prints every available component grouped by type — base components, application blocks, and foundations.

npx boardui@latest list

skill

Installs the BoardUI agent skill (SKILL.md plus catalog, theming, and pattern references) so AI assistants like Claude Code and Codex load BoardUI knowledge every session. Defaults to the project's .claude/skills/boardui; re-run with --force to update.

npx boardui@latest skill
OptionDescription
-g, --globalInstall to ~/.claude/skills/boardui instead of the project
-c, --client <client>Install to ~/.agents/skills/boardui (codex, gemini)
-p, --path <dir>Custom directory to install the skill into
-f, --forceOverwrite an existing install (how you update)

Updating components

Installed components are copies — yours to edit, never touched silently. To pull the latest version of a component from the registry, re-run add with --overwrite.

npx boardui@latest add button --overwrite

Anonymous telemetry

After a successful init, the CLI sends an anonymous event containing its version, your package manager, and whether --pro was used. After a successful add, it sends the component names you explicitly requested, but not their automatically resolved dependencies. After a successful skill install, it sends where the skill was placed (project, global, or agents directory), never the path itself. A random ID in your operating system's user config directory lets us distinguish repeat runs. BoardUI does not send project paths, source code, dependency names, email addresses, other command arguments, or telemetry for list.

Disable telemetry by setting BOARDUI_TELEMETRY_DISABLED=1 or DO_NOT_TRACK=1.

Events are retained as lifetime counters and anonymous daily buckets used for daily, weekly, and monthly trend reporting. Daily buckets do not expire automatically.

shadcn compatibility

The registry uses the shadcn item schema, so every component also installs with the shadcn CLI if you prefer it:

npx shadcn@latest add https://www.boardui.com/r/button.json