---
title: 'CLI options'
---
The Storybook command line interface (CLI) is the main tool you use to build and develop Storybook.
Storybook collects completely anonymous data to help us improve user experience. Participation is optional, and you may [opt-out](../configure/telemetry.md#how-to-opt-out) if you'd not like to share any information.
## API commands
All of the following documentation is available in the CLI by running `storybook --help`.
### `dev`
Compiles and serves a development build of your Storybook that reflects your source code changes in the browser in real time. Should be run from the root of your project.
```shell
storybook dev [options]
```
Options include:
| Option | Description |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--help` | Output usage information
`storybook dev --help` |
| `-V`, `--version` | Output the version number
`storybook dev -V` |
| `-p`, `--port [number]` | Port to run Storybook
`storybook dev -p 9009` |
| `-h`, `--host [string]` | Host to run Storybook
`storybook dev -h my-host.com` |
| `-s`, `--static-dir` | **Deprecated** [see note](#static-dir-deprecation). Directory where to load static files from, comma-separated list
`storybook dev -s public` |
| `-c`, `--config-dir [dir-name]` | Directory where to load Storybook configurations from
`storybook dev -c .storybook` |
| `--https` | Serve Storybook over HTTPS. Note: You must provide your own certificate information
`storybook dev --https` |
| `--ssl-ca` | Provide an SSL certificate authority. (Optional with --https, required if using a self-signed certificate)
`storybook dev --ssl-ca my-certificate` |
| `--ssl-cert` | Provide an SSL certificate. (Required with --https)
`storybook dev --ssl-cert my-ssl-certificate` |
| `--ssl-key` | Provide an SSL key. (Required with --https)
`storybook dev --ssl-key my-ssl-key` |
| `--smoke-test` | Exit after successful start
`storybook dev --smoke-test` |
| `--ci` | CI mode (skip interactive prompts, don't open browser)
`storybook dev --ci` |
| `--no-open` | Do not open Storybook automatically in the browser
`storybook dev --no-open` |
| `--quiet` | Suppress verbose build output
`storybook dev --quiet` |
| `--debug-webpack` | Display final webpack configurations for debugging purposes
`storybook dev --debug-webpack` |
| `--webpack-stats-json` | Write Webpack Stats JSON to disk
`storybook dev --webpack-stats-json /tmp/webpack-stats` |
| `--docs` | Starts Storybook in documentation mode. Learn more about it in [here](../writing-docs/build-documentation.md#preview-storybooks-documentation)
`storybook dev --docs` |
| `--disable-telemetry` | Disables Storybook's telemetry. Learn more about it [here](../configure/telemetry.md)
`storybook dev --disable-telemetry` |
Starting in 6.4 the `-s` flag is deprecated. Instead, use a configuration object in your `.storybook/main.js` file. See the [images and assets documentation](../configure/images-and-assets.md#serving-static-files-via-storybook) for more information.
### `build`
Compiles your Storybook instance so it can be [deployed](../sharing/publish-storybook.md). Should be run from the root of your project.
```shell
storybook build [options]
```
Options include:
| Option | Description |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-h`, `--help` | Output usage information
`storybook build --help` |
| `-V`, `--version` | Output the version number
`storybook build -V` |
| `-s`, `--static-dir` | **Deprecated** [see note](#static-dir-deprecation).
Directory where to load static files from, comma-separated list
`storybook build -s public` |
| `-o`, `--output-dir [dir-name]` | Directory where to store built files
`storybook build -o /my-deployed-storybook` |
| `-c`, `--config-dir [dir-name]` | Directory where to load Storybook configurations from
`storybook build -c .storybook` |
| `--loglevel [level]` | Controls level of logging during build.
Available options: `silly`, `verbose`, `info` (default), `warn`, `error`, `silent`
`storybook build --loglevel warn` |
| `--quiet` | Suppress verbose build output
`storybook build --quiet` |
| `--debug-webpack` | Display final webpack configurations for debugging purposes
`storybook build --debug-webpack` |
| `--webpack-stats-json` | Write Webpack Stats JSON to disk
`storybook build --webpack-stats-json /my-storybook/webpack-stats` |
| `--docs` | Builds Storybook in documentation mode. Learn more about it in [here](../writing-docs/build-documentation.md#publish-storybooks-documentation)
`storybook build --docs` |
| `--disable-telemetry` | Disables Storybook's telemetry. Learn more about it [here](../configure/telemetry.md).
`storybook build --disable-telemetry` |
| `--test` | Optimize Storybook's production build for performance and tests by removing unnecessary features with the `test` option. Learn more [here](../api/main-config-build.md).
`storybook build --test` |
If you're using npm instead of yarn to publish Storybook, the commands work slightly different. For example, `npm run storybook build -- -o ./path/to/build`.