Skip to main content
FlowDeck is designed for automation. Every command supports JSON output for machine parsing and configuration files for reproducible builds, making it ideal for CI/CD pipelines, shell scripts, and AI-powered development tools.

Quick Start

Previewing mutations

Supported mutating commands accept --dry-run. Combine it with --json to receive a normalized object containing type: "dry_run", a display-safe command, and an argument-safe argv array without performing the mutation.
See Dry-Run Previews for the single-command and multi-command schemas.

JSON Output Mode

Add --json or -j to any command for machine-readable NDJSON (newline-delimited JSON) output:

Event Types

FlowDeck emits structured events that you can parse line-by-line: configuration events include the resolved Derived Data path so automation can trace build artifacts. flowdeck test --json finishes with a top-level flowdeck.test snapshot in addition to the streamed events. That final object is the authoritative verdict and aggregate count source; for a real test phase, it also reports the selected absolute resultBundlePath.

Event Structure

All events follow a standardized structure:

Parsing JSON Output

Use jq or similar tools to extract specific information:

Shell Script Example

Configuration Files

Store build settings in JSON files for reproducible builds:
These examples use the explicit --config file format for scripted runs. That format is separate from the project settings files at .flowdeck/config.json and .flowdeck/config.local.json.

Config File Structure

Config File Fields

See Configuration File for complete reference and examples.

Init Command

Save project settings to avoid repeating options on every command:
Settings are saved to ~/.flowdeck/ and automatically loaded by subsequent commands.

Init Options

Exit Codes

All commands return appropriate exit codes for scripting:
For test runs, any nonzero underlying xcodebuild status—including status 65—is a failure. Use the command exit status for pipeline control and the final flowdeck.test object for the authoritative verdict, counts, and result-bundle location.

Environment Variables

Common Automation Patterns

Pattern 1: Config-Driven Builds

Pattern 2: State-Driven Shortcuts

Pattern 3: JSON Streaming

Pattern 4: CI/CD Pipeline

Pattern 5: Dynamic Simulator Selection

Commands with JSON Support

Most commands support --json output:

AI Agent Integration

FlowDeck’s JSON output makes it ideal for AI-powered development tools like Claude Code, Cursor, and CodeX. The structured output allows AI agents to:
  • Parse build errors and suggest fixes
  • Monitor test results and identify failing tests
  • Automate build-test-fix cycles
  • Track simulator and device state
See AI Agent Integration for setup guides for specific AI tools.

Next Steps