# CLI

<figure><img src="https://2627198405-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9mLpgMKJql1OpDNVdcbF%2Fuploads%2Fgit-blob-d28575165e0abe59ea9f22624e2791d479be181a%2Fcli.jpg?alt=media" alt=""><figcaption></figcaption></figure>

## Introduction

Use the Specify CLI to integrate Specify in your workflow.

You can use the Specify CLI to:

* Pull your design tokens in the right format using parsers
* Test your configuration before using it in a GitHub repository
* Sync a Specify repository

## Installation

Install `@specifyapp/cli` via npm or Yarn.

{% tabs %}
{% tab title="NPM" %}

```bash
npm install -g @specifyapp/cli
```

{% endtab %}

{% tab title="Yarn" %}

```bash
yarn global add @specifyapp/cli
```

{% endtab %}
{% endtabs %}

## Commands

### Init

Initialize a Specify configuration tailored for a specific output format. [See all configuration templates](https://specifyapp.com/templates).

```bash
specify init
```

### Pull

Pull design tokens and assets from your Specify repository.

```bash
specify pull [flags]
```

### Sync

Sync a Specify repository to update its design tokens and assets.

```bash
specify sync [flags]
```

## Flags

Flags are parameters you can pass while launching the command. All of these parameters are optional if you use a config file.

#### -C, --config-path

Relative path to your Specify config file.

#### -r, --repository

The name of the Specify repository you want to pull your design tokens and assets from.

#### -p, --personal-access-token

The Specify Personal Access Token used to authenticate your actions.

{% hint style="info" %}
Need a personal access token? [Generate one ↗](https://specifyapp.com/user/personal-access-tokens)
{% endhint %}

#### -R, --rules

Rules Specify will follow to generate design tokens and assets in your desired output format.

#### --dry-run

Execute command without actually writing files. Use this flag to test the output of a configuration without generating files.


---

# 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://docs.specifyapp.com/v1/apps-and-tools/cli.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.
