# Theme development resources

### ShopBase Theme CLI Overview

ShopBase Theme CLI helps you develop themes for ShopBase easily.

### How to install ShopBase Theme CLI

Node Version Requirement\
ShopBase Theme CLI requires Node.js version 10.13.0 or above. You can manage multiple versions of Node on the same machine with [nvm](https://github.com/nvm-sh/nvm) or nvm-windows

To install the new package, use one of the following commands. You need administrator privileges to execute these unless npm was installed on your system through a Node.js version manager (e.g. n or nvm).

```
npm install -g @shopbase-theme/cli
# OR
yarn global add @shopbase-theme/cli
```

### Starter theme

The quickest way to get up and running with a workspace for building themes is to use the official [starter theme](https://github.com/ShopBaseCom/starter-theme-test)

To get started, you need to log in to your Partner account (make sure you request to create partner account here)

```
shopbase-theme auth:login
```

After authenticated by using your email & password, you can use the following command to create a new theme.

```
shopbase-theme create new-theme
```

Note: **new-theme** is a handle of a theme, you may change theme name in [ShopBase Partner Dashboard](https://partners.shopbase.com)

All source code is cloned from [starter-theme](https://github.com/ShopBaseCom/starter-theme-test) repo. We recommend starting with this starter theme.

To view all available command, use the help command

```
shopbase-theme help
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.shopbase.com/build-a-theme/theme-development-resources.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
