What is @storybook/cli?
The @storybook/cli package, also known as Storybook CLI, is a command-line tool that helps developers to quickly set up and configure Storybook in their project. Storybook is an open-source tool for developing UI components in isolation for React, Vue, Angular, and many other frameworks. The CLI automates many of the initial setup and configuration processes, making it easier to integrate Storybook into a project.
What are @storybook/cli's main functionalities?
Initialize Storybook
This command sets up Storybook in your project by detecting the project type (e.g., React, Vue, Angular) and installing the necessary dependencies and adding default configurations and examples.
npx -p @storybook/cli sb init
Add Storybook support for a specific type of project
This command explicitly sets up Storybook for a React project. You can replace 'react' with 'vue', 'angular', etc., depending on the project type you are working on.
npx -p @storybook/cli sb init --type react
Addons installation
This command helps in adding specific Storybook addons to enhance its functionality, such as '@storybook/addon-essentials' which includes a set of essential addons.
npx -p @storybook/cli sb add @storybook/addon-essentials
Other packages similar to @storybook/cli
react-scripts
Similar to @storybook/cli, react-scripts is used in the setup and configuration of React applications created with Create React App. It abstracts complex configurations for Babel, Webpack, and other tools. However, it does not specifically focus on component development environments like Storybook.
angular-cli
Angular CLI is a command-line interface tool that is used to initialize, develop, scaffold, and maintain Angular applications directly. It provides a similar ease of setup for Angular projects as @storybook/cli does for setting up Storybook in Angular projects.
vue-cli
Vue CLI is a full system for rapid Vue.js development, similar to Angular CLI for Angular. It provides project scaffolding, development tools, and build optimizations. It is similar to @storybook/cli in that it helps in setting up a development environment but is focused on Vue.js applications rather than component libraries.
Storybook
CLI
Storybook CLI (Command Line Interface) is the easiest way to add Storybook to your project.
Go to your project and run:
cd my-app
npx storybook@latest init
In addition to init
, the CLI also has other commands:
add
- add an addon and register itinfo
- print out system information for bug reportsupgrade
- upgrade to the latest version of Storybook (or a specific version)migrate
- run codemods to migrate your code
See the command-line help with -h
(including other useful commands) for details.
Core APIs
This package has multiple sub-exports to can be used to gain access to storybook's APIs.
storybook/components
This export contains a list of components very useful for building out addons.
We recommend addon-authors to use these components to ensure a consistent look and feel, and to reduce the amount of code they need to write.
storybook/theming
This export exposes a few utility functions to help writing components that automatically adapt to the current theme.
Useful for addon authors who want to make their addons theme-aware.
storybook/preview-api
This export contains the API that is available in the preview iframe.
storybook/manager-api
This export contains the API that is available in the manager iframe.
storybook/types
This export exposes a lot of TypeScript interfaces used throughout storybook, including for storybook configuration, addons etc.