Command Structure
Command Index
Core Actions
| Command | Description |
|---|---|
init | 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 |
clean | Clean scheme artifacts, FlowDeck Derived Data, and Xcode cache |
logs | Stream logs for a running app |
stop | Stop a running app |
apps | List apps launched by FlowDeck |
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 sync-profiles | Sync provisioning profiles via build |
Simulators
| Command | Description |
|---|---|
simulator list | List simulators |
simulator boot | Boot a simulator |
simulator shutdown | Shut down a simulator |
simulator open | Open Simulator.app |
simulator erase | Erase simulator data |
simulator clear-cache | Clear simulator caches |
simulator create | Create a simulator |
simulator delete | Delete a simulator |
simulator prune | Delete unused simulators |
simulator device-types | List available device types |
simulator runtime list | List installed runtimes |
simulator runtime available | List downloadable runtimes |
simulator runtime create | Download and install a runtime |
simulator runtime delete | Remove a runtime |
simulator runtime prune | Delete simulators for a runtime |
simulator location set | Set simulator location coordinates |
simulator media add | Add media to a simulator |
UI Automation
Core UI automation commands underflowdeck ui simulator:
| Command | Description |
|---|---|
ui simulator screen | Capture screenshot and accessibility tree |
ui simulator session start | Start background tree + screenshot capture |
ui simulator session stop | Stop the active capture session |
ui simulator record | Record simulator video |
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 button | Press hardware buttons |
ui simulator touch down | Touch down at coordinates |
ui simulator touch up | Touch up at coordinates |
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 |
Licensing & Updates
| Command | Description |
|---|---|
license status | Show license status |
license activate | Activate a license on this machine |
license deactivate | Deactivate this machine |
update | Update FlowDeck 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. Other commands return a single JSON object.
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 |
