> Deprecated:
> Theme Kit is deprecated. Theme developers should use [Shopify CLI](/docs/storefronts/themes/tools/cli) for Shopify theme development.


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 have access to a Shopify store.
- You're familiar with the basics of the command line.

<a id="install-theme-kit"></a>

## Step 1: Install Theme Kit

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

- [Linux](#linux)
- [macOS](#macos)
- [Windows](#windows)

> Note:
> If you have previously installed Theme Kit, then make sure you're using the [latest version](/docs/storefronts/themes/tools/theme-kit/troubleshooting#update-theme-kit).

### Linux

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

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

> Note:
> Homebrew for Linux is not currently supported.

### macOS

Use [Homebrew](https://brew.sh/) to install Theme Kit by running the following commands:

```sh
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](https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment).

### Windows

Install Theme Kit with [Chocolatey](https://chocolatey.org/) by running the following command:

```sh
choco install themekit
```

<a id="get-theme-password"></a>

## Step 2: Get a Theme password

After you install Theme Kit, you need to get a Theme password to connect Theme Kit to your store and manage your template files. The store owner or a staff member with the appropriate permissions can create a Theme password for you using the [Theme Access app](/docs/storefronts/themes/tools/theme-access).

### Steps:

1. Ask the store owner or a staff member with the [appropriate permissions](/docs/storefronts/themes/tools/theme-access#requirements) to create a Theme password for you using the [Theme Access app](https://apps.shopify.com/theme-access).
2. Go to your email inbox and open the invitation containing your Theme password.
3. In the invitation, click **Get Theme password**.
4. Copy the password. You’ll use it in the next step.

The link expires after 7 days or after you have viewed the password. You can only view the password once.

<a id="connect-to-an-existing-theme"></a>

## Step 3: Connect to an existing theme

> Note:
> If you don't want to work on an existing theme, then you can [create a new theme](#create-a-new-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, which returns a list of themes and IDs that exist on the store.

The following is an example of the `theme get` command, where `your-password` is your Theme password from [step 2](#get-theme-password) and `your-store` is your store's Shopify domain name:

```sh
theme get --list --password=[your-password] --store="[your-store.myshopify.com]"
```

> Tip:
> Don't include the URL protocol (HTTP or HTTPS) in the `store` parameter.

### Using PowerShell

If you're using PowerShell, then you need to include quotations around the URL if it follows a single dash. This is especially important if you're using the short form in the command. For example, the following shows one example that will work, and one that won't:

<p>
<div class="react-code-block" data-preset="file">
<div class="react-code-block-preload ThemeMode-dim">
<div class="react-code-block-preload-bar "></div>
<div class="react-code-block-preload-placeholder-container">
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>

</div>
</div>

<script data-option="filename" data-value="Correct example"></script>

<script type="text/plain" data-language="sh">
theme get --list -p=[password] -s="my-store.myshopify.com"
</script>

</div>
</p>


<p>
<div class="react-code-block" data-preset="file">
<div class="react-code-block-preload ThemeMode-dim">
<div class="react-code-block-preload-bar "></div>
<div class="react-code-block-preload-placeholder-container">
<div class="react-code-block-preload-code-container">
<div class="react-code-block-preload-codeline-number"></div>
<div class="react-code-block-preload-codeline"></div>
</div>

</div>
</div>

<script data-option="filename" data-value="Incorrect example"></script>

<script type="text/plain" data-language="sh">
theme get --list -p=[password] -s=my-store.myshopify.com
</script>

</div>
</p>


<a id="set-up-your-config-file"></a>

## Step 4: Set up your config file

A [`config.yml`](/docs/storefronts/themes/tools/theme-kit/configuration-reference#config-file) file creates a local connection to your Shopify store’s theme. You can use the previous information you collected (Theme 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:

    ```sh
    mkdir [your-theme-name]
    ```

2. Navigate to the new directory:

    ```sh
    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:

    ```sh
    theme get --password=[your-password] --store="[your-store.myshopify.com]" --themeid=[your-theme-id]
    ```

<a id="create-a-new-theme"></a>

## Step 5: Create a new theme

To create a new theme, run the following command:

```sh
theme new --password=[your-password] --store="[your-store.myshopify.com]" --name=[theme name]
```

Running 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

<a id="push-updates-to-your-theme"></a>

## 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:

```sh
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

- Build and customize your themes faster using [component-based Liquid examples](https://shopify.github.io/liquid-code-examples/).
- Use the [Liquid Cheat Sheet](https://www.shopify.ca/partners/shopify-cheat-sheet) as a quick reference while you build your themes.
- Access our comprehensive [Liquid reference](/docs/api/liquid) for detailed documentation on Liquid tags, objects, and filters.
- Learn about the [different commands](/docs/storefronts/themes/tools/theme-kit/command-reference) that you can use in Theme Kit to execute key operations.
- Familiarize yourself with the [configuration variables and their accepted values](/docs/storefronts/themes/tools/theme-kit/configuration-reference) in Theme Kit.
- Learn how to identify and resolve [common issues](/docs/storefronts/themes/tools/theme-kit/troubleshooting) in Theme Kit.