Commands

Global commands

Command Usage
theme slate theme [name] [--options]
migrate slate migrate [--options]
help slate -h
version slate -v

theme

slate theme [name]

Generate a new blank theme. The name argument is required for the new theme directory.

Options
--yarn  install theme dependencies with yarn instead of npm

Note about Yarn: While Yarn is not the default installer for dependencies, it is worth noting that Yarn has significant performance improvements and we do recommend installing dependencies via --yarn. Read more about installing Yarn.

migrate

slate migrate

Converts an existing theme to work with Slate. Run this command from your project root to install dependencies and restructure your theme files into a src/ directory. Empty icons/, styles/, and scripts/ folders will also be created.

A config.yml will also be created in your root directory which is required for build commands and sync commands.

Options
--yarn  install theme dependencies with yarn instead of npm

help

slate [command] -h, slate [command] --help

Outputs help information for Slate (slate --help) or a specific command (slate deploy --help).

version

slate -v, slate --version

Outputs the current version of Slate and its dependencies installed on your system.

Build commands

Slate’s source theme files are in the root src folder. These are the files you edit and will be compiled to a Shopify-compatible theme in the dist folder. You can do this a few different ways.

Command Usage
build slate build
test slate test
zip slate zip

build

slate build

Compile theme files and assets into a Shopify theme, found in the dist folder. No files will be uploaded to your shop.

test

slate test

Uses the @shopify/theme-lint package to run translation tests on your locales found in the /src/locales folder. The package checks for untranslated keys inside of your Liquid templates, missing translation keys in specific locale files, and translation key HTML validity.

zip

slate zip

Performs a fresh build of your theme and zips it into a file that’s compatible with Shopify. The zip file can be found within an upload folder that is generated within your theme project root folder. The zip is overwritten each time you use this command and is not meant to be used for versioning.

Sync commands

Command Usage
deploy slate deploy [--options]
watch slate watch [--options]
start slate start [--options]

deploy

slate deploy [--options]

Performs a fresh build followed by a full deploy; replacing existing files on the remote server and replacing them with the full set of build files, and removing remote files that are no longer in use.

Options
-e, --env  deploy to a comma-separated list of environments
-m, --manual  disable auto-deployment of the theme files

Deploy to a specific environment with the -e flag (short for --env) plus the environment name: slate deploy -e staging. You can deploy to multiple environments at once with comma-separated values: slate deploy -e development,staging,production.

Running slate deploy --manual will instead create a new zip file of your theme (see slate zip) and open the admin themes page as defined by your environment where you can then manually install your theme from the zip file.

watch

slate watch [--options]

Sets up the watchers for all theme assets and deploys the compiled versions to your specified environment (default is development). Also opens a Browsersync window with live reloading after changing and saving a file.

Options
-e, --env  deploy to a specific environment
-n, --nosync  disable Browsersync

Note about Browsersync on HTTPS: The first time you run slate watch or start you will get an unsafe connection browser notice. This is expected because all Shopify stores run on HTTPS but no certificate exists for your localhost. Proceed through this warning to view your store.

start

slate start [--options]

Performs a full deploy of your theme (see slate deploy) and starts the watchers (see slate watch).

Options
-e, --env  deploy to a comma-separated list of environments
-n, --nosync  disable Browsersync