Docusaurus provides a set of scripts to help you generate, serve, and deploy your website.

Once your website is generated, your website package will contain the Docusaurus scripts that you may invoke with your package manager:

// package.json
// ...
"scripts": {
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy"

Docusaurus CLI commands

Below is a list of Docusaurus CLI commands and their usages:

docusaurus start

Builds and serves the static site with Webpack Dev Server.


--port3000Specifies the port of the dev server
--hostlocalhostSpecify a host to use. E.g., if you want your server to be accessible externally, you can use --host
--hot-onlyfalseEnables Hot Module Replacement without page refresh as fallback in case of build failures. More information here.

docusaurus build

Compiles your site for production.


--bundle-analyzerAnalyze your bundle with bundle analyzer

docusaurus swizzle

Swizzle any Docusaurus Theme components with your own component with docusaurus swizzle.

$ docusaurus swizzle <themeName> [componentName] [siteDir]


  • themeName: name of the theme you are using
  • swizzleComponent: name of the component to be swizzled

Running the above command will copy the relevant theme files to your site folder. You may then make any changes to it and Docusaurus will use it instead of the one provided from the theme.

To unswizzle a component, simply delete the files of the swizzled component.

To learn more about swizzling, check here.

docusaurus deploy

Deploys your site with GitHub Pages.