Your AI agent can handle all the infrastructure work that usually means switching to Terminal and remembering obscure simctl flags. Simulators, runtimes, devices, Swift packages, cleaning, project setup - just describe what you need and the agent takes care of it.
Simulators
List available simulators
The agent will list all installed simulators with their names, OS versions, and current state (booted, shutdown). It highlights which ones are currently running.
Create a simulator
The agent will check if the iOS 18 runtime is installed, create the simulator with the correct device type and runtime pairing, and report the new simulator’s name and UDID.
Boot and open a simulator
The agent will boot the simulator and launch the Simulator.app window so you can watch what’s happening on screen.
Shut down simulators
The agent will find all booted simulators and shut them down. This frees up system resources when you’re done testing.
Delete old simulators
The agent will list simulators, identify the ones matching your criteria, confirm what it plans to delete, and remove them. This frees up disk space from simulators you no longer need.
Prune stale simulators
The agent will identify and remove simulators that have never been booted, have not been booted in 90+ days, or are unavailable because their runtime is no longer installed.
Reset a simulator to clean state
The agent will erase all content and settings from the simulator, returning it to its factory state. Useful for testing first-launch experiences or onboarding flows.
Clone a simulator
The agent will duplicate the existing simulator with all its settings, installed apps, and data. Cloning is faster than creating from scratch when you need an identical copy of a configured environment.
Rename a simulator
The agent will rename the existing simulator in place. The UDID stays the same, so saved destinations and scripts that target that device keep working. Only the display name in flowdeck simulator list and the Simulators & Runtimes window changes.
Set up multiple simulators
The agent will check if both simulators exist, create any that are missing, and boot both so you can run your app on either one.
Set simulator location
The agent will set the GPS coordinates on the simulator. Useful for testing location-based features without physically being there.
The agent will push the image file to the simulator’s photo library so you can test image picker flows and photo-related features.
Runtimes
List installed runtimes
The agent will list all installed simulator runtimes with their version numbers and disk usage.
Check available runtimes
The agent will check Apple’s available runtimes and show you which versions you can install, including beta releases if available.
Install a new runtime
The agent will download and install the runtime. This can take a while depending on your internet connection, since runtimes are several gigabytes.
Install a runtime and create a simulator
The agent will install the runtime, wait for it to complete, then create a new simulator paired with that runtime. You’ll be ready to build and run on it immediately.
Remove old runtimes
The agent will check for simulators that depend on the runtime, remove or prune them first if needed, then delete the runtime itself.
List available device types
The agent will list all available device types (iPhone models, iPad models, Apple Watch, Apple TV, etc.) that you can pair with your installed runtimes.
Physical devices
List connected devices
The agent will list all connected physical devices with their names, model identifiers, OS versions, and connection state.
Install an app on a device
The agent will find the built .app bundle and install it on your connected device.
Uninstall an app from a device
The agent will remove the app from the device by its bundle identifier.
Cleaning
Clean build artifacts
The agent will clean the scheme’s build artifacts from derived data. This is the standard clean that matches Xcode’s “Clean Build Folder” behavior.
Deep clean everything
The agent will clean scheme artifacts, FlowDeck’s derived data, and Xcode’s module and build caches. This is the nuclear option for when incremental builds are acting up.
Clean and rebuild
The agent will clean all artifacts first, then perform a fresh build. This solves stale cache issues and ensures a clean starting point.
Clear simulator caches
The agent will clear cached data from simulators, which can fix issues with stale resources or unexpected behavior after updates.
Swift packages
List installed packages
The agent will list all Swift Package Manager dependencies in the project with their names and resolved versions.
Add a package
The agent will add the package dependency to your project with the appropriate version constraints.
Remove a package
The agent will remove the package dependency from your project.
Resolve packages
The agent will run SPM package resolution, downloading any missing dependencies and updating the package graph.
Update all packages
The agent will update every package dependency to the newest version allowed by your version constraints. It reports which packages were updated and to what versions.
Fix package resolution issues
The agent will try an escalating series of fixes: resolve, then update, then clear the package cache, then clean and retry. If there’s a version conflict, it will read your Package.swift or .xcodeproj to understand the constraints and suggest how to resolve the conflict.
Clear package cache
The agent will clear the local package cache and re-resolve from scratch. This fixes most “weird” package issues caused by corrupted downloads or stale caches.
Link a package to a target
The agent will link the specified package product to your build target so you can import and use it in your code.
App management
List running apps
The agent will list all apps tracked by FlowDeck, showing their app IDs, bundle identifiers, and current state.
Stop a running app
The agent will terminate the app that FlowDeck launched on the simulator or device.
Uninstall an app
The agent will remove the app from the target simulator by its app ID or bundle identifier.
Stream logs from a running app
The agent will attach to the running app’s log stream, capturing real-time output including print() statements and OSLog messages, and flagging anything that looks like an error or unexpected behavior.
Project configuration
Discover the project
The agent will inspect your project and give you a complete inventory: workspaces, schemes, build configurations (Debug, Release, etc.), available simulators, and connected devices.
Save a default configuration
The agent will save these settings so all subsequent build, run, and test commands use them automatically. No more passing flags every time.
Reset configuration
The agent will clear the saved settings, so you can start fresh or reconfigure with different options.
Create a new Xcode project
The agent will generate a new Xcode project from a template with the specified name, ready to build and run.
The agent will create a project configured for all the specified platforms, with the correct deployment targets and build settings for each.
Create an iOS app with a watchOS companion
The agent will generate a project with an iOS app and a paired watchOS companion app that shares data and functionality.
Sync provisioning profiles
The agent will refresh the provisioning profiles from your developer account, resolving signing issues that come up after certificate or profile changes.
Licensing
Check license status
The agent will check whether your license is active, what tier it is, and when it expires.
Activate a license
The agent will activate the license on your machine.
Tips for better results
Be specific about versions. “Install iOS 18” is clearer than “install the latest runtime”. The agent can figure it out either way, but explicit versions avoid surprises.
Ask the agent to clean up. Old simulators and runtimes eat disk space. Periodically ask “what simulators and runtimes do I have, and which ones can I safely delete?” to reclaim space.
Combine setup steps. “Install iOS 17, create an iPhone 15 simulator with it, and run my app on it” is a single prompt that handles the full setup chain.
Use deep clean sparingly. A regular clean is usually enough. The full clean (everything + caches) is slower because it forces a complete rebuild, but it’s the right tool when something feels genuinely broken.