CiderFlight
● LINUX x86_64 COMPILER & HEADLESS PREFLIGHT ENGINE

Linux preflight for iOS/SwiftUI agents. Catch type and complexity failures in seconds—before a Mac VM.

Stage 1 type-check + 200 ms @ViewBuilder gate + optional Stage 2 headless checks. Built for AI coding agents and Linux CI. Complements (does not replace) Xcode or on-device testing.

Built for AI coding platform runtimes (Cursor, Claude Code, Devin, Windsurf, Codex, Replit) and Linux CI runners. Eliminates blind iOS code generation on Linux containers by returning deterministic line- and column-exact JSON diagnostics in seconds.

For individual developers →  ·  Read the architecture

Interactive Stage 1 snippet presets are inspectable directly in the diagnostic viewer on this page; live browser cloud sandbox is coming.

ciderflight --run-headless --json
$ ciderflight live_demo/CoffeeOrderBroken.swift --json
{
  "status": "failed",
  "stage": "stage1_typecheck",
  "elapsed_ms": 184.2,
  "delta_line_invariant": 0,
  "sdk_cache": { "cache_hit": true, "frameworks_loaded": 17 },
  "diagnostics": [
    {
      "file": "live_demo/CoffeeOrderBroken.swift",
      "line": 16,
      "column": 39,
      "severity": "error",
      "category": "type_mismatch",
      "message": "cannot convert value of type 'String' to specified type 'Bool'",
      "source_line": "    public var isOrderPlaced: Bool =  \"BROKEN_TYPE_AT_LINE_16_COL_39\""
    }
  ],
  "slow_expressions": [
    {
      "file": "live_demo/CoffeeOrderBroken.swift",
      "line": 35,
      "column": 24,
      "estimated_ms": 340,
      "threshold_ms": 200,
      "category": "viewbuilder_complexity_gate",
      "remediation": "Extract chained arithmetic inside VStack(spacing:) into an explicitly typed local 'let spacingValue: Double' or child @ViewBuilder subview."
    }
  ]
}
Line/Col Shift
Delta_line == 0
@ViewBuilder Gate
200 ms threshold
Stage 2 Runtime
Linux x86_64 ELF
Interactive Stage 1/Stage 2 preset selector above • Live cloud snippet sandbox coming soon.
Why Agents Need This

Why agents need this

Wasted agent cycles. Agents waste cycles and tokens on type and complexity failures that a Mac VM is slow to catch.
Fast Linux feedback. Stage 1 gives sub-second feedback on Linux.
Escalate only when ready. Only escalate to a Mac when the Linux gate passes.

Example: CoffeeOrderBroken.swift: Stage 1 caught a Line 16 type mismatch plus a >200 ms @ViewBuilder expression in 184.2 ms on Linux.

Measured Telemetry 1.94 s Stage 1  /  4.89 s Stage 2  /  6.88 s total on a 6,954-line multi-framework fixture vs. cold Mac VM boot + Xcode typecheck.
Inspect methodology & 6,954-line fixture →

Current limitations

  • Input surface: single-file or flat multi-file Swift targets only.
  • Limited SPM: no external binary package resolution; no .xcodeproj / scheme parsing.
  • Narrow framework shim: 17 frameworks (listed in Supported Surface).
  • No rendering: no simulator, pixel, or Metal rendering. The Stage 2 layout snapshotter checks structural geometry, tap-target minimums, and accessibility labels only.
Two-Stage Verification Pipeline

How CiderFlight Works on Linux

A deterministic 4-step compiler and headless runtime harness engineered for Linux agent containers and CI pipelines. Read the full technical architecture →

Step 1 • Coordinate-Preserving Normalizer (Delta_line == 0)

Horizontal In-Place Source Normalization

Darwin conditionals (#if os(iOS)) and entry-point attributes are rewritten horizontally in-place on the exact same line while preserving UTF-8 byte offsets and multiline string literals. Compiler diagnostics stay 100% line- and column-accurate (Delta_line == 0) against the agent's original file.

Step 2 • Stage 1 Typecheck + 200 ms Gate

Precompiled 17-Framework Linux .swiftmodule Shim

Links against our clean-room precompiled CiderFlightSDK.swiftmodule (17 frameworks + 56 module proxies + native SwiftSyntax macros @Observable / @Model) and runs Linux swiftc -typecheck with a 200 ms @ViewBuilder expression-complexity gate to catch exponential type-inference stalls before they hang an agent turn.

Step 3 • Optional Stage 2 Headless Runtime

Sandboxed Linux x86_64 ELF Behavioral Execution

When Stage 1 passes with zero errors and zero slow expressions, CiderFlight compiles normalized code into a sandboxed Linux x86_64 ELF binary to execute headless assertions on @State / @Observable state transitions, in-memory SwiftData models, StoreKit 2 test-double transactions, %PDF-1.4 synthesis, and structural layout/accessibility trees.

Step 4 • Deterministic Agent Feedback

Structured JSON for MCP & Linux CI

Emits a deterministic JSON payload (file, line, column, severity, category, remediation, headless_runtime) consumed directly by MCP servers (verify_ios_swift, inspect_viewbuilder_complexity, snapshot_headless_layout), Linux CI gates, and autonomous coding loops.

Engineering Transparency & Scope

Supported Surface & Explicit Boundaries

CiderFlight is a fast Linux Stage 1 type-check and optional Stage 2 headless behavioral preflight engine—not a pixel-rendering iPhone emulator. Knowing exact boundaries prevents false expectations in production pipelines.

✓ Supported 17 iOS / SwiftUI Frameworks

Clean-room Linux API surface shim compiled into CiderFlightSDK.swiftmodule + libCiderFlightSDK.a, plus 56 module re-export proxies and native SwiftSyntax macro plugins (@Observable, @Model):

SwiftUI UIKit Foundation Observation SwiftData StoreKit 2 Charts MapKit CoreLocation PDFKit CryptoKit AuthenticationServices Combine ARKit SceneKit RealityKit simd

Also covers CoreMotion and ReplayKit stub surfaces for multi-framework apps. See Docs → Framework Reference for per-module APIs.

✕ What CiderFlight Does Not Do (Explicit Non-Goals)

  • • No closed-source Darwin Mach-O binaries: Cannot link third-party vendor .xcframework binaries or CocoaPods compiled exclusively for Darwin/arm64 without pure-Swift Linux sources.
  • • Host toolchain requirement: Requires an open-source Swift 6.0.x toolchain on x86_64 Linux (Ubuntu 22.04 / 24.04, Python 3.10–3.13).
  • • Input surface, SPM, framework-shim, and rendering limits are listed once in Current limitations.
Who It Is For

Two audiences, same honest scope

For AI platforms & agent teams

For individual developers

  • Same Stage 1 checks, usable from a Linux machine or cloud
  • Speeds up local iteration before you need a Mac
  • Still need a Mac for final signing and App Store submission
  • Same honest limitations (Current limitations)
See individual / small team plans →
For AI Coding Platforms & Agent Runtime Teams
AI coding platforms: $10,000 90-day evaluation pilot (100% credited). Drop-in MCP + container. Measured agent-loop metrics.
Request AI Platform Pilot →

Individual / small team

For solo iOS engineers, verified .edu students, and small development teams (2–24 seats).

Student (.edu)
50% off Pro with a verified .edu email.
$6/mo
Or $4.50/mo billed $54/yr
  • 2,500 cloud checks / mo
  • Local Linux CLI included
  • 17 iOS/SwiftUI frameworks
  • Headless iOS test runner
  • Requires verified .edu email
Team
For teams of 2 to 24 developers.
$19/user/mo
Or $15/user/mo billed $180/user/yr
  • 5,000 pooled checks / user / mo
  • Unlimited Linux CI runs
  • GitHub Actions integration
  • One team license key for all seats
Need 25 or more seats for a company, university class, or AI coding platform? View Platform Pilot, Enterprise & Education Licensing →