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

# CLI installation

> Get the Roveflow CLI and your phone ready in one command.

<Note>Want a click-to-install app instead? The [desktop app](/app/installation) does the same thing with no terminal.</Note>

## What you need

* A **Mac** with **Node 18+**.
* An **iPhone or Android phone** and a **USB cable** (keep the phone unlocked while it's plugged in).
* **iPhone only:** an Apple **developer identity**, a free Apple ID in Xcode is enough. New to this? See [First-time signing](#first-time-signing-iphone) below.
* **Android only:** **USB debugging** turned on, see [Android setup](#android-setup) below. No signing needed.

## Install

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
npm install -g roveflow
roveflow setup
```

`roveflow setup` gets everything ready in one step, it detects whether an iPhone or an Android phone is plugged in. The first time, you'll approve one prompt:

* **iPhone:** click **Allow** once on a Mac popup, then type your **passcode** when the iPhone asks.
* **Android:** tap **Allow USB debugging** on the phone.

That's it, no files to edit, nothing to configure. Run `roveflow doctor` any time to check everything's connected.

## First-time signing (iPhone)

If you've never built an app on this iPhone before, do this once:

1. Open **Xcode → Settings → Accounts** and add your Apple ID (free works).
2. Plug in the iPhone, pick it as the run target, and Run any sample app to it once. Xcode sets up your phone automatically.
3. Re-run `roveflow setup`.

Your signing key never leaves your Mac, Roveflow uses it in place and never copies it out.

## Android setup

On Android there's no signing, you just turn on USB debugging once:

1. **Settings → About phone** → tap **Build number** seven times to unlock Developer options.
2. **Settings → System → Developer options** → turn on **USB debugging**.
3. Plug in via USB and run `roveflow setup`; tap **Allow USB debugging** when the phone asks.

Testing on an **emulator**? Launch it with `-gpu host` (e.g. `emulator -avd <name> -gpu host`) so screenshots capture correctly, the default headless software GPU produces black frames. Everything else behaves exactly like a real device.
