Getting started with Theme Kit

Theme Kit is a cross-platform command line tool that you can use to build Shopify themes. To get up and running quickly with Theme Kit, follow the steps in this guide.

Requirements

  • You need to create a partner account and have access to a Shopify store. If you don't have a Shopify store, then you can log in to your Partner dashboard and click Development stores to create a test store.
  • Make sure you're familiar with the basics of the command line.

Step 1: Install Theme Kit

You can install Theme Kit using the command line on the following operating systems:

Linux

Use the following installation script to automatically download and install the latest version of Theme Kit:

curl -s https://shopify.dev/themekit.py | sudo python

macOS

Use Homebrew to install Theme Kit by running the following commands:

Terminal
$ brew tap shopify/shopify
$ brew install themekit

The Apple M1 architecture is not yet natively supported, but Theme Kit will work if you start the terminal with the Open using Rosetta option.

Windows

Install Theme Kit with Chocolatey by running the following command:

Terminal
$ choco install themekit

Step 2: Generate API credentials

After you install Theme Kit, you need to generate new Shopify API credentials to connect Theme Kit to your store and manage your template files. Theme Kit manages its connection using a private app.

Steps:

  1. From your Shopify admin, click Apps.
  2. Near the bottom of the page, click Manage private apps.
  3. If private app development is disabled, then click Enable private app development. Only the store owner can enable private app development.
  4. Click Create new private app.
  5. In the App details section, fill out the app name and your email address.
  6. In the Admin API section, click Show inactive Admin API permissions.
  7. Scroll to the Themes section and select Read and write from the dropdown.
  8. Click Save.
  9. Read the private app confirmation dialog, then click Create app.

Your new, unique access credentials are visible in the Admin API section. Copy the password. You’ll use it in the next step.

Step 3: Connect to an existing theme

To connect to an existing theme, you'll need the theme's ID. The easiest way to get your theme's ID is to use the theme get command. Make sure to replace your-password with the API password that you generated in step 2 and your-store with your store's domain name:

Terminal
$ theme get --list --password=[your-password] --store=[your-store.myshopify.com]

The theme get command returns a list of themes and IDs that exist on the store.

Step 4: Set up your config file

A config.yml file creates a local connection to your Shopify store’s theme. You can use the previous information you collected (API password and theme ID) to create a config.yml file in your theme, and then download the theme locally.

Steps:

  1. Create a directory for your theme:

    Terminal
    $ mkdir [your-theme-name]
  2. Navigate to the new directory:

    Terminal
    $ cd [your-theme-name]
  3. To download a specific theme, and create the config.yml file that connects this theme with a local version in the directory you just created, run the following command:

    Terminal
    $ theme get -p=[your-password] -s=[your-store.myshopify.com] -t=[your-theme-id]

Step 5: Create a new theme

To create a new theme, run the following command:

Terminal
$ theme new --password=[your-password] --store=[your-store.myshopify.com] --name=[theme name]

Executing the theme new command does the following:

  • Generates a basic theme template locally
  • Creates a new theme in your Shopify store
  • Uploads the new files to your Shopify store
  • Creates or updates your config.yml file with the configuration for your new theme

Step 6: Push updates to your theme

Now that you've established a connection to a Shopify theme, you can run the following command in your theme directory:

Terminal
$ theme watch

The theme watch command instructs Theme Kit to watch for any changes made to your local files, and automatically pushes changes to your theme in the connected Shopify store. To close the watch connection, type ctrl + c.

Next steps