# Kendo CLI Options for Vue

The Kendo CLI (`@progress/kendo-cli`) is a command-line tool shared across the Kendo UI product suite. For Kendo UI for Vue, it creates new projects, adds components to existing apps, manages your license, and migrates projects to newer package versions. This article describes the available commands and their options.

## Install the Kendo CLI

Install the Kendo CLI globally so that the `kendo` command is available in any project:

```sh
npm i -g @progress/kendo-cli@latest
```

## Interactive Wizard

Running `kendo` with no arguments opens an interactive, menu-driven wizard. Use the arrow keys to navigate and Enter to select an option.

The wizard presents a two-level menu:

* **Create new project**—Scaffolds a new Kendo UI for Vue application (`kendo create`).
* **Set up your environment**—Configures your Kendo UI for Vue license (`kendo setup`).
* **Enhance Project**
  * Add pages/components (`kendo scaffold`)
  * Add Kendo to existing project (`kendo add`)
  * Migrate to latest version (`kendo migrate`)
  * ~~Build custom jQuery bundle~~ (`kendo custom-build`)—Kendo UI for jQuery only, not applicable to Vue.
  * ~~Configure AI generator (MCP)~~ (`kendo mcp`)—Not yet available for Kendo UI for Vue.
* **Utilities**
  * Manage license (`kendo license`)
  * Account settings
  * Display system & configuration info
  * Print machine ID (`kendo machine-id`)
* **Upgrade CLI**—Checks for and installs a newer version of the Kendo CLI (`kendo upgrade`).

When a flow completes, the wizard prints a summary of the next steps, for example the commands to install dependencies and start the development server after creating a project.

## Set Up Kendo UI for Vue

Use `kendo setup vue` to configure your development environment for Kendo UI for Vue, including your license:

```sh
kendo setup vue
```

| Option    | Description                               |
| --------- | ----------------------------------------- |
| `--force` | Re-runs setup even if already configured. |

## License Setup for Kendo UI for Vue

The `kendo license` command manages your Telerik and Kendo UI license key.

### Activate Your License

Validates and imports a license key file in the current project. The command searches for a key in the `TELERIK_LICENSE` and `KENDO_UI_LICENSE` environment variables, and in `telerik-license.txt` or `kendo-ui-license.txt` files located in the current directory, its parent directories, or your home directory:

```sh
kendo license activate
```

| Option                | Description                                                         |
| --------------------- | ------------------------------------------------------------------- |
| `--ignore-no-license` | Sets the exit status to `0` (success) if a license file is missing. |

### Download or Refresh a License Key

Downloads a new license key file after you authenticate through telerik.com in your browser. By default, the file is saved to your home directory:

```sh
kendo license refresh
```

### Inspect the Active License

Prints information about the license that is currently active for the project:

```sh
kendo license info
```

For more information, see the [Set Up Your Kendo UI for Vue License Key](https://www.telerik.com/kendo-vue-ui-develop/components/my-license) article.

## Generate a Kendo UI for Vue Project

Use `kendo create vue vite` to scaffold a new Kendo UI for Vue application built with Vite:

```sh
kendo create vue vite MyKendoVueApp
```

### Vue Generator Synopsis

```
kendo create vue vite [name]
```

| Option                 | Description                                                                                                                                                                 |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                 | Name of the generated application. Defaults to `KendoUIForVueApp`.                                                                                                          |
| `--typescript`, `--ts` | Initializes the project as TypeScript. Defaults to a JavaScript project.                                                                                                    |
| `--styling`            | Styling language to use—`CSS` or `Sass`. Defaults to `CSS`.                                                                                                                 |
| `--theme`              | [Kendo theme](https://www.telerik.com/kendo-vue-ui-develop/components/styling) to apply—`default`, `bootstrap`, `material`, `fluent`, or `meridian`. Defaults to `default`. |
| `--swatch`             | Theme swatch to apply. See the available swatches below. Defaults to the base swatch of the selected theme.                                                                 |

### Available Theme Swatches

* `default-main`, `default-main-dark`, `default-nordic`, `default-purple`, `default-turquoise`, `default-ocean-blue`, `default-ocean-blue-a11y`
* `bootstrap-main`, `bootstrap-main-dark`, `bootstrap-nordic`, `bootstrap-urban`, `bootstrap-vintage`
* `material-main`, `material-main-dark`, `material-arctic`, `material-lime-dark`, `material-nova`
* `fluent-main`, `fluent-main-dark`
* `meridian-main`, `meridian-main-dark`

### Build and Run

After the project is generated, install the dependencies and start the development server:

```sh
cd MyKendoVueApp
npm install
npm run dev
```

## Add Kendo UI to an Existing Project

Run `kendo add` inside an existing project to add Kendo UI for Vue to it. The command auto-detects the framework from `package.json` and lets you choose which Kendo UI packages to add:

```sh
kendo add
```

## Scaffold Components in an Existing Project

Use `kendo scaffold vue` to add a ready-made Kendo UI for Vue page to an existing Vue project:

```sh
kendo scaffold vue grid
```

| Command                        | Description                                                                                                                  |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| `kendo scaffold vue grid`      | Generates a new page with a Kendo UI for Vue [Grid](https://www.telerik.com/kendo-vue-ui-develop/components/grid).           |
| `kendo scaffold vue chart`     | Generates a new page with a Kendo UI for Vue [Chart](https://www.telerik.com/kendo-vue-ui-develop/components/charts).        |
| `kendo scaffold vue form`      | Generates a new page with a Kendo UI for Vue [Form](https://www.telerik.com/kendo-vue-ui-develop/components/form).           |
| `kendo scaffold vue scheduler` | Generates a new page with a Kendo UI for Vue [Scheduler](https://www.telerik.com/kendo-vue-ui-develop/components/scheduler). |

Add `--dry-run` to preview the files that a scaffold command would generate without writing them to disk.

## Assisted Migration for Kendo UI for Vue

Use `kendo migrate` to update the Kendo UI for Vue packages in a project and apply the related codemods (automated code transformations):

```sh
kendo migrate @progress/kendo-vue-grid
```

Omit the package names to migrate every `@progress` package in the project:

```sh
kendo migrate
```

For a step-by-step guide, best practices, and the codemods that are available for each version, see [Assisted Migration Tooling](https://www.telerik.com/kendo-vue-ui-develop/components/migration/assisted-migration) and [Available Codemods](https://www.telerik.com/kendo-vue-ui-develop/components/migration/available-codemods).

### Migration Arguments Reference

| Option                | Description                                                                                                                                                                                                                           |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `packages`            | One or more packages to migrate. Migrates all `@progress` packages if omitted.                                                                                                                                                        |
| `--to`                | Version to migrate to. Defaults to the latest version. Applies only when you specify exactly one package.                                                                                                                             |
| `--from`              | Version to migrate from. The codemods for the versions from this one up to the installed version run. If omitted, the codemods of all versions up to the installed one run.                                                           |
| `-i`, `--install`     | Installs the new package versions. Defaults to `true`.                                                                                                                                                                                |
| `-c`, `--codemods`    | Runs the codemods for the listed or updated packages. Defaults to `true`.                                                                                                                                                             |
| `--peer-deps`, `--pd` | Also installs `@progress` packages found in peer dependencies. Defaults to `true`.                                                                                                                                                    |
| `-o`, `--optional`    | Runs the optional codemods configured by the package. Defaults to `true`.                                                                                                                                                             |
| `--ignore-pattern`    | Glob patterns of files to ignore.                                                                                                                                                                                                     |
| `-f`, `--force`       | Runs the migration in force mode and does not ask for confirmations.                                                                                                                                                                  |
| `--ai-mode`           | Runs the instruction-only codemods and prints their instructions with the affected files. Also runs the optional codemods without asking and applies the code-updating codemods without a review. Requires Kendo CLI 1.17.0 or later. |

For guidance on updating package versions manually, see the [Keeping Up to Date](https://www.telerik.com/kendo-vue-ui-develop/components/up-to-date) article.

## Utilities

A few generic commands are available regardless of the product you use:

```sh
# Print a hardware-based hash for the current machine, useful for license troubleshooting.
kendo machine-id

# Check whether a newer version of the Kendo CLI is available and print the upgrade command.
kendo upgrade
```

## Suggested Links

* [Getting Started with Kendo UI for Vue](https://www.telerik.com/kendo-vue-ui-develop/components/getting-started)
* [Set Up Your Kendo UI for Vue License Key](https://www.telerik.com/kendo-vue-ui-develop/components/my-license)
* [Keeping Up to Date](https://www.telerik.com/kendo-vue-ui-develop/components/up-to-date)
* [Assisted Migration Tooling](https://www.telerik.com/kendo-vue-ui-develop/components/migration/assisted-migration)
* [Kendo UI Productivity Tools extension for VS Code](https://www.telerik.com/kendo-vue-ui-develop/components/vscode-extension)
