> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: Migrate a Dashboard Menu Plugin Extension

## Article: Migrate a Dashboard Menu Plugin Extension

## Article Link: https://dev.wix.com/docs/build-apps/develop-your-app/develop-an-app-with-the-cli/migrate-an-app-from-legacy-cli/migrate-a-dashboard-menu-plugin-extension.md

## Article Content:

# Migrate a Dashboard Menu Plugin Extension

This guide explains how to add a dashboard menu plugin extension to your new Wix CLI project as part of [migrating an app from the legacy Wix CLI](https://dev.wix.com/docs/build-apps/develop-your-app/develop-an-app-with-the-cli/about-the-wix-cli.md).

## Folder structure

| Legacy | New |
|--------|-----|
| `src/dashboard/menu-plugins/<name>/plugin.json` | `src/extensions/dashboard/menu-plugins/<name>/<name>.extension.ts` |

Dashboard menu plugins are configuration-only. There is no component file.

## Step 1 | Create the extension file

In the new project:

1. Create the folder `src/extensions/dashboard/menu-plugins/<name>/`.
2. Inside the folder, create `<name>.extension.ts`:

```ts
import { extensions } from '@wix/astro/builders';

export default extensions.dashboardMenuPlugin({
  id: '<id-from-plugin.json>',
  title: '<title-from-plugin.json>',
  extends: '<extends-from-plugin.json>',
  iconKey: '<iconKey-from-plugin.json>',
  action: {
    navigateToPage: {
      pageId: '<navigateToPage.pageId-from-plugin.json>',
    },
  },
});
```

| Field | Source | Required |
|-------|--------|----------|
| `id` | `id` from `plugin.json` | Yes. Must match legacy value to preserve the extension. |
| `title` | `title` from `plugin.json` | Yes |
| `extends` | `extends` from `plugin.json`, the parent page this plugin extends | Yes |
| `iconKey` | `iconKey` from `plugin.json` | Yes. Use `''` if not set in legacy config. |
| `action` | `action` object from `plugin.json` | Yes. Use `{ navigateToPage: { pageId: '' } }` if not set in legacy config. |
| `subtitle` | `subtitle` from `plugin.json` | No |

<blockquote class="important">

__Important:__
The `id` must match the value from the legacy `plugin.json`. Otherwise, the new entry is treated as a separate extension instead of a continuation of the legacy one.

</blockquote>

## Step 2 | Register the extension

In the new project, in `src/extensions.ts`, import the extension and add it with `.use()`:

```ts
import { app } from '@wix/astro/builders';
import myMenuPlugin from './extensions/dashboard/menu-plugins/<name>/<name>.extension';

export default app().use(myMenuPlugin);
```

## Step 3 | Return to the main migration guide

Return to the [Test, build, and release](https://dev.wix.com/docs/build-apps/develop-your-app/develop-an-app-with-the-cli/about-the-wix-cli.md#test-build-and-release) step in the main migration guide.