Skip to main content
FlowDeck CLI provides a comprehensive set of commands for managing Xcode projects, simulators, devices, and builds from the command line.

Command Structure

flowdeck <command> [subcommand] [options]

Quick Reference

Build & Run

CommandAliasDescription
contextctxDiscover project structure (workspace, schemes, simulators)
buildBuild the project
runBuild and launch the app
testRun unit and UI tests
test discoverDiscover available tests
cleanClean build artifacts

App Management

CommandDescription
appsList apps launched by FlowDeck
logs / logStream app logs
stopStop a running app

Simulator Management

CommandAliasDescription
simulator listsim listList available simulators
simulator bootBoot a simulator
simulator shutdownShutdown a simulator
simulator screenshotCapture a screenshot
simulator eraseReset simulator to factory
simulator clear-cacheClear simulator caches
simulator createCreate a new simulator
simulator deleteDelete a simulator
simulator pruneDelete unused simulators
simulator runtimesList available runtimes
simulator device-typesList available device types

Device Management

CommandAliasDescription
device listdev listList connected devices
device installInstall app on device
device uninstallRemove app from device
device launchLaunch app on device

Platform & Xcode

CommandAliasDescription
platform listplat listList installed runtimes
platform availableList downloadable runtimes
platform installInstall a runtime
platform removeRemove a runtime
platform pruneDelete simulators for a runtime
xcode openxc openOpen Xcode with project
xcode clean-derived-dataDelete DerivedData folder
xcode clean-cacheDelete Xcode cache

Project Configuration

CommandDescription
scheme listList schemes in workspace
scheme infoShow scheme details
buildconfigList build configurations (aliases: config, cfg)

System

CommandDescription
license statusCheck license status
license activateActivate a license
license deactivateDeactivate license
updateCheck for updates

Common Options

Most commands support these options:
OptionShortDescription
--json-jOutput as JSON (for automation)
--workspace <path>-wPath to .xcworkspace or .xcodeproj
--scheme <name>-sBuild scheme name
--simulator <name>-SSimulator name/UDID
--device <name>-DPhysical device name/UDID, or “My Mac” for macOS
--configuration <name>-CBuild configuration (Debug/Release)
--project <path>-pProject directory
--verbose-vShow detailed output
--config <path>-cLoad settings from config file

Exit Codes

CodeDescription
0Success
1Failure

Environment Variables

VariableDescription
FLOWDECK_LICENSE_KEYLicense key for CI/CD environments
DEVELOPER_DIROverride Xcode installation path
FLOWDECK_NO_UPDATE_CHECKSet to 1 to disable update checks

Config File

Many commands support loading settings from a JSON config file via --config:
{
  "workspace": "MyApp.xcworkspace",
  "scheme": "MyApp",
  "configuration": "Debug",
  "platform": "iOS",
  "version": "18.0",
  "derivedDataPath": "/custom/path"
}
This is useful for saving project configuration once and reusing it across commands.