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

# Command Overview

> Complete command and option index for FlowDeck CLI

FlowDeck CLI provides commands for building, running, testing, and managing Xcode projects, simulators, and devices.

## Command Structure

```bash theme={null}
flowdeck <command> [subcommand] [options]
```

## Command Index

### Core Actions

| Command         | Description                                                              |
| --------------- | ------------------------------------------------------------------------ |
| `config`        | Show or save project settings (workspace, scheme, target, configuration) |
| `context`       | Inspect workspace, schemes, simulators, and build configs                |
| `build`         | Build for simulator, device, or macOS                                    |
| `run`           | Build and launch on simulator, device, or macOS                          |
| `test`          | Run unit/UI tests                                                        |
| `test discover` | Discover tests without building                                          |
| `test plans`    | List test plans referenced by a scheme                                   |
| `clean`         | Clean scheme artifacts, FlowDeck Derived Data, and Xcode cache           |
| `logs`          | Stream logs for a running app                                            |
| `stop`          | Stop a running app                                                       |
| `uninstall`     | Uninstall an app from a simulator or device                              |
| `apps`          | List apps launched by FlowDeck                                           |
| `activity`      | Read recent CLI activity and active commands                             |

### Project Tools

| Command                    | Description                                   |
| -------------------------- | --------------------------------------------- |
| `project create`           | Create a new Xcode project from template      |
| `project schemes`          | List schemes                                  |
| `project configs`          | List build configurations                     |
| `project packages list`    | List installed Swift packages                 |
| `project packages add`     | Add a package dependency                      |
| `project packages remove`  | Remove a package dependency                   |
| `project packages resolve` | Resolve package dependencies                  |
| `project packages update`  | Update packages to latest allowed versions    |
| `project packages clear`   | Clear package cache                           |
| `project packages link`    | Link package products to a target             |
| `project packages unlink`  | Unlink package products from a target         |
| `project packages targets` | List project targets with their product types |
| `project sync-profiles`    | Sync provisioning profiles via build          |

### Simulators

| Command                         | Description                                                               |
| ------------------------------- | ------------------------------------------------------------------------- |
| `simulator list`                | List simulators                                                           |
| `simulator list-apps`           | List installed apps on a simulator                                        |
| `simulator boot`                | Boot a simulator                                                          |
| `simulator shutdown`            | Shut down a simulator                                                     |
| `simulator open`                | Open Simulator.app                                                        |
| `simulator launch`              | Launch an installed app on a booted simulator by bundle ID                |
| `simulator erase`               | Erase simulator data                                                      |
| `simulator clear-cache`         | Clear simulator caches                                                    |
| `simulator create`              | Create a simulator                                                        |
| `simulator clone`               | Clone an existing simulator                                               |
| `simulator delete`              | Delete a simulator                                                        |
| `simulator prune`               | Delete never-booted, stale, and unavailable simulators                    |
| `simulator rename`              | Rename a simulator                                                        |
| `simulator update`              | Upgrade a simulator to a newer runtime in place                           |
| `simulator device-types`        | List available device types                                               |
| `simulator runtime list`        | List installed runtimes                                                   |
| `simulator runtime available`   | List downloadable runtimes                                                |
| `simulator runtime install`     | Download and install a runtime                                            |
| `simulator runtime delete`      | Remove a runtime                                                          |
| `simulator runtime prune`       | Delete simulators for a runtime                                           |
| `simulator location`            | Set or clear simulator location                                           |
| `simulator media`               | Add media to a simulator                                                  |
| `simulator record`              | Record simulator video                                                    |
| `simulator frames`              | Capture frames as a contact sheet or individual images                    |
| `simulator orientation`         | Get or set simulator orientation                                          |
| `simulator button`              | Press simulator hardware buttons                                          |
| `simulator keyboard hardware`   | Connect or disconnect the hardware keyboard                               |
| `simulator memory-warning`      | Simulate a memory warning                                                 |
| `simulator ca-debug`            | Toggle CoreAnimation debug overlays                                       |
| `simulator appearance`          | Set simulator light or dark appearance                                    |
| `simulator content-size`        | Get, set, or reset Dynamic Type (content size category)                   |
| `simulator increase-contrast`   | Get, set, or reset the Increase Contrast accessibility setting            |
| `simulator language`            | Get, set, or reset the simulator system language and locale               |
| `simulator reduce-motion`       | Get, set, or reset the Reduce Motion accessibility setting                |
| `simulator reduce-transparency` | Get, set, or reset the Reduce Transparency accessibility setting          |
| `simulator show-borders`        | Get, set, or reset the Show Borders (button shapes) accessibility setting |
| `simulator voiceover`           | Get, set, or reset the VoiceOver accessibility setting                    |
| `simulator color-filter`        | Get, set, or reset the Color Filter accessibility setting                 |
| `simulator liquid-glass`        | Get, set, or reset the Liquid Glass opacity and look and feel             |
| `simulator audio`               | Get, set, or reset the simulator audio output, input, and volume          |
| `simulator audio devices`       | List the host's audio devices available to a simulator                    |
| `simulator status-bar`          | Override, clear, or list simulator status bar values                      |
| `simulator push`                | Send a simulated push notification from a JSON payload                    |
| `simulator privacy`             | Grant, revoke, or reset app privacy permissions                           |
| `simulator pasteboard`          | Get, set, or clear the simulator pasteboard                               |
| `simulator keychain`            | Reset the simulator keychain or add a certificate                         |
| `simulator pair`                | Manage watch+phone simulator pairs (create, delete, list, activate)       |
| `simulator app`                 | Inspect an installed app (container path, info)                           |

### UI Automation

Core UI automation commands under `flowdeck ui simulator`:

| Command                        | Description                                                                  |
| ------------------------------ | ---------------------------------------------------------------------------- |
| `ui simulator screen`          | Capture screenshot and accessibility tree                                    |
| `ui simulator session start`   | Start background tree + screenshot capture                                   |
| `ui simulator session list`    | List active simulator capture sessions                                       |
| `ui simulator session stop`    | Stop one or all active capture sessions                                      |
| `ui simulator find`            | Locate elements by label/ID/role                                             |
| `ui simulator tap`             | Tap elements or coordinates                                                  |
| `ui simulator double-tap`      | Double tap elements or coordinates                                           |
| `ui simulator type`            | Type into the focused element                                                |
| `ui simulator swipe`           | Swipe by direction or coordinates                                            |
| `ui simulator scroll`          | Scroll content (gentler than swipe)                                          |
| `ui simulator back`            | Navigate back (edge swipe)                                                   |
| `ui simulator pinch`           | Pinch to zoom in/out                                                         |
| `ui simulator wait`            | Wait for an element or state                                                 |
| `ui simulator assert visible`  | Assert element visibility                                                    |
| `ui simulator assert hidden`   | Assert element is hidden                                                     |
| `ui simulator assert enabled`  | Assert element is enabled                                                    |
| `ui simulator assert disabled` | Assert element is disabled                                                   |
| `ui simulator assert text`     | Assert element text                                                          |
| `ui simulator erase`           | Erase text from focused field                                                |
| `ui simulator hide-keyboard`   | Hide the on-screen keyboard                                                  |
| `ui simulator key`             | Send keyboard keycodes                                                       |
| `ui simulator open-url`        | Open a URL or deep link                                                      |
| `ui simulator clear-state`     | Clear app data/state                                                         |
| `ui simulator rotate`          | Rotate with a two-finger gesture                                             |
| `ui simulator touch down`      | Touch down at coordinates                                                    |
| `ui simulator touch up`        | Touch up at coordinates                                                      |
| `ui simulator batch`           | Run a whole UI flow in one invocation (spans screens, auto-scrolls, asserts) |

`ui simulator button`, `ui simulator set-appearance`, and `ui simulator orientation` remain as compatibility aliases. Prefer `simulator button`, `simulator appearance`, and `simulator orientation` in new scripts.

### Device Management

| Command            | Description                 |
| ------------------ | --------------------------- |
| `device list`      | List connected devices      |
| `device install`   | Install an app on a device  |
| `device uninstall` | Remove an app from a device |
| `device launch`    | Launch an app on a device   |

### AI Agent Skills

| Command              | Description                                 |
| -------------------- | ------------------------------------------- |
| `ai install-skill`   | Install FlowDeck skill pack for an AI agent |
| `ai uninstall-skill` | Remove FlowDeck skill pack for an AI agent  |

### Licensing & Updates

| Command              | Description                                    |
| -------------------- | ---------------------------------------------- |
| `license status`     | Show license status                            |
| `license activate`   | Activate a license on this machine             |
| `license deactivate` | Deactivate this machine                        |
| `license validate`   | Force an immediate server license validation   |
| `license trial`      | Start or verify a FlowDeck CLI trial           |
| `license purchase`   | Open the FlowDeck pricing page in your browser |
| `update`             | Update FlowDeck CLI                            |
| `mcp call`           | Call a FlowDeck MCP tool from the CLI          |

### Aliases

Hidden aliases are still supported for backward compatibility:

| Alias | Command     |
| ----- | ----------- |
| `sim` | `simulator` |
| `dev` | `device`    |
| `log` | `logs`      |
| `up`  | `update`    |

## JSON Output

Commands that stream progress (build/run/test/logs/apps/stop/context) output newline-delimited JSON (NDJSON) events when `--json` is set. Snapshot commands such as `status` and `activity` return a single JSON object.

Supported mutating commands accept `--dry-run` to preview their operations. With `--json`, previews use the normalized `type: "dry_run"` contract. See [Dry-Run Previews](/cli/dry-run).

## Environment Variables

| Variable                   | Description                         |
| -------------------------- | ----------------------------------- |
| `FLOWDECK_LICENSE_KEY`     | License key for CI/CD environments  |
| `DEVELOPER_DIR`            | Override Xcode installation path    |
| `FLOWDECK_NO_UPDATE_CHECK` | Set to `1` to disable update checks |

## Global Flags

| Flag                | Description             |
| ------------------- | ----------------------- |
| `-i, --interactive` | Launch interactive mode |
| `--changelog`       | Show release notes      |
| `--version`         | Show CLI version        |
| `-h, --help`        | Show help               |
