What is @shopify/cli?
@shopify/cli is a command-line interface tool designed to help developers build, test, and manage Shopify apps and themes. It streamlines various development tasks, making it easier to work with Shopify's ecosystem.
What are @shopify/cli's main functionalities?
Create a new Shopify app
This command initializes a new Shopify app project, setting up the necessary files and configurations to get started quickly.
shopify app create
Serve a Shopify app locally
This command runs the Shopify app locally, allowing developers to test their app in a local environment before deploying it to a live store.
shopify app serve
Deploy a Shopify app
This command deploys the Shopify app to a live store, making it available for use by merchants.
shopify app deploy
Create a new Shopify theme
This command initializes a new Shopify theme project, setting up the necessary files and configurations to start theme development.
shopify theme create
Serve a Shopify theme locally
This command runs the Shopify theme locally, allowing developers to test their theme in a local environment before deploying it to a live store.
shopify theme serve
Deploy a Shopify theme
This command deploys the Shopify theme to a live store, making it available for use by merchants.
shopify theme deploy
Other packages similar to @shopify/cli
create-react-app
create-react-app is a command-line tool for creating React applications. It sets up a new React project with a sensible default configuration, similar to how @shopify/cli sets up Shopify apps and themes. However, it is focused solely on React applications and does not provide specific tools for Shopify development.
vue-cli
vue-cli is a command-line tool for scaffolding Vue.js projects. It provides a similar experience to @shopify/cli by setting up a new Vue.js project with a default configuration. Like create-react-app, it is focused on Vue.js applications and does not offer Shopify-specific functionalities.
gatsby-cli
gatsby-cli is a command-line tool for creating and managing Gatsby projects. It helps developers set up new Gatsby sites and provides commands for developing, building, and deploying Gatsby projects. While it offers a similar development experience, it is tailored for Gatsby and static site generation rather than Shopify apps and themes.
Shopify CLI

With the Shopify command line interface (Shopify CLI 3.0), you can:
- initialize, build, dev, and deploy Shopify apps, extensions, functions and themes
- build custom storefronts and manage their hosting
Learn more in the commands docs.
Β
Before you begin
Install the latest version of Node.js and npm (or another package manager of your choice).
Β
Developing apps with Shopify CLI
When youβre building a Shopify app, you can initialize your project using your preferred package manager. A single command will install all the dependencies you need β including Shopify CLI itself.
Initialize your project using one of the following commands:
npm init @shopify/app@latest
(installed by default with Node)
pnpm create @shopify/create-app@latest
yarn create @shopify/app
bun create @shopify/app@latest
(experimental)
Learn more in the docs: Create an app
Β
Developing themes with Shopify CLI
To work with themes, the CLI needs to be installed globally with:
npm install -g @shopify/cli @shopify/theme
You can also use do it through Homebrew on macOS: brew tap shopify/shopify && brew install shopify-cli
Learn more in the docs: Shopify CLI for themes
Β
Developing Hydrogen custom storefronts with Shopify CLI
The Hydrogen code lives here: https://github.com/Shopify/hydrogen/tree/main/packages/cli
Learn more in the docs: Shopify CLI for Hydrogen storefronts
Β
Help π
If you encounter issues using the CLI or have feedback you'd like to share with us, below are some options:
Contribute π©π½βπ»
If you'd like to contribute to the project, check out the contributors docs and the steps to get started.
Β
References