---
slug: /migration/v2/automated
---

# Automated migration

The migration CLI automatically migrates your v1 website to a v2 website.

:::info

Manual work is still required after using the migration CLI, as we can't automate a full migration

:::

The migration CLI migrates:

- Site configurations (from `siteConfig.js` to `docusaurus.config.js`)
- `package.json`
- `sidebars.json`
- `/docs`
- `/blog`
- `/static`
- `versioned_sidebar.json` and `/versioned_docs` if your site uses versioning

To use the migration CLI, follow these steps:

1. Before using the migration CLI, ensure that `/docs`, `/blog`, `/static`, `sidebars.json`, `siteConfig.js`, `package.json` follow the expected structure.

2. To migrate your v1 website, run the migration CLI with the appropriate filesystem paths:

```bash
# migration command format
npx @docusaurus/migrate migrate <v1 website directory> <desired v2 website directory>

# example
npx @docusaurus/migrate migrate ./v1-website ./v2-website
```

3. To view your new website locally, go into your v2 website's directory and start your development server.

```bash npm2yarn
cd ./v2-website
npm install
npm start
```

:::danger

The migration CLI updates existing files. Be sure to have committed them first!

:::

#### Options {#options}

You can add option flags to the migration CLI to automatically migrate Markdown content and pages to v2. It is likely that you will still need to make some manual changes to achieve your desired result.

| Name     | Description                                            |
| -------- | ------------------------------------------------------ |
| `--mdx`  | Add this flag to convert Markdown to MDX automatically |
| `--page` | Add this flag to migrate pages automatically           |

```bash
# example using options
npx @docusaurus/migrate migrate --mdx --page ./v1-website ./v2-website
```

:::danger

The migration of pages and MDX is still a work in progress.

We recommend you to try to run the pages without these options, commit, and then try to run the migration again with the `--page` and `--mdx` options.

This way, you'd be able to easily inspect and fix the diff.

:::
