---
id: migration-automated
title: Automated migration
slug: /migration/automated
---

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 [structure](#) shown at the start of this page.

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
cd ./v2-website
yarn install
yarn start
```

:::danger

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

:::

#### 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.

:::
