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

# Introduction

> Use the ManageXR CLI to automate app uploads and deployments

## Overview

The ManageXR CLI is a useful tool to automate the process of uploading applications to ManageXR. You can use the CLI in your CI/CD pipeline to upload new app versions to your ManageXR organization and publish versions to [release channels](https://help.managexr.com/en/articles/5518816-release-channels).

## Getting Started

The `mxr-cli` is available as an NPM package or a binary executable. To get started select one of the three quick set up options below.

### Choose one of:

#### (A) Install using NPM

Paste in your terminal to install:

```
npm install -g @managexr/mxr-cli
```

Then, run using `mxr-cli`:

```
mxr-cli <command> [options]
```

#### (B) Run using NPX

Use `npx` to directly run a CLI command *without* an `npm install`:

```
npx @managexr/mxr-cli <command> [options]
```

#### (C) Run using a binary

If your machine does not have `node.js`, you can use a binary executable instead. Download the binary for your machine:

* [Download for Linux](https://mighty-platform-prod.appspot.com/cli/download?os=linux)

* [Download for Mac](https://mighty-platform-prod.appspot.com/cli/download?os=mac)

* [Download for Windows](https://mighty-platform-prod.appspot.com/cli/download?os=win)

Then, run the binary using:

```
path/to/mxr-cli <command> [options]
```

<Note>
  On Mac and Linux machines, you may need to grant executable permissions to the binary before you can run it. To do this, run `chmod +x path/to/mxr-cli`.
</Note>

### Authenticate Commands

Each CLI command must include valid authentication. Authenticate commands using ManageXR API Keys.

1. **Create an API Key**

   To generate an API Key, go to Organization Settings > API Keys.
2. **Choose one of the following authentication methods for your commands**

   (a) Set environment variables  for `MXR_API_KEY_ID` and `MXR_API_KEY_SECRET`, *or*

   (b) Provide a JSON file as an `--api-key-file` argument to the command

   JSON file format:

   ```
   { 
     "id": "api_key_id", 
     "secret": "api_key_secret" 
   }
   ```
