Using components

Add components, let cano resolve their dependencies, and own every line once it lands.

Adding components

Pass one or more component names to add. cano fetches each from the registry and writes it into your project.

npx cano-ui add command-palette npx cano-ui add app-shell stats-grid --yes

Useful flags: --dry-run prints the plan without writing anything, and --overwrite replaces files that already exist.

Dependency resolution

cano installs everything a component needs, automatically: other cano components, shadcn primitives (fetched from the official shadcn registry), and npm packages (installed with your detected package manager). A component like phone-number-input pulls in country-input and the radix primitives it depends on without a second command.

You own the code

The source lands at components/ui/<name>.tsx. It is a plain file in your repo — restyle it, refactor it, or delete it. There is no runtime dependency on cano.

Staying in sync

Because you own the copy, components do not auto-update. To compare your local copy against the latest registry version — handy after you have edited a component, or when the registry has moved on — run:

npx cano-ui diff data-table-pro

Browse the catalog

See all 68 components with live, interactive previews on the Components page, or list them in your terminal with npx cano-ui list.