> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goldsky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy a Compose App

> Get up and running with Compose in under 5 minutes.

### 1. Install the Compose CLI Extension

If you already have the Goldsky CLI installed, you'll just need to install the Compose extension.

```bash theme={null}
goldsky compose install
```

If you don't already have the Goldsky CLI installed you'll need to start by installing that, then run the above command.

**For macOS/Linux:**

```shell theme={null}
curl https://goldsky.com | sh
```

**For Windows:**

```shell theme={null}
npm install -g @goldskycom/cli
```

<Note>Windows users need to have Node.js and npm installed first. Download from [nodejs.org](https://nodejs.org) if not already installed.</Note>

### 2. Create your app

Create a new Compose project with a working Bitcoin oracle example:

```bash theme={null}
goldsky compose init
```

This command will:

* Prompt you for a project name and create the app under that directory
* Scaffold a complete example app with a working Bitcoin oracle
  ```bash theme={null}
  demo-app/
    compose.yaml              # the app manifest
    tsconfig.json             # TypeScript configuration
    .env                      # local environment variables
    .gitignore
    src/
      tasks/
        bitcoin-oracle.ts     # example task
      lib/
        utils.ts              # shared utilities
  ```

### 3. Start the app locally

`cd` into the project directory that was just created:

```bash theme={null}
cd <your-project-name>
```

Start the app:

```bash theme={null}
goldsky compose start --fork-chains
```

`--fork-chains` allows you to run a smart wallet locally. You can also use a private key wallet for your local Compose app. See more [here](/compose/secrets).

Your Compose application is now running! The server will start and begin accepting requests on port 4000.

You can test triggering a task like so:

```bash theme={null}
goldsky compose callTask bitcoin_oracle '{}'
```

## Updating the CLI

To update to the latest version, run the update command:

```bash theme={null}
goldsky compose update
```
