Flightlinev0.7.0

App Store as Code

Your App Store is a file now.

Flightline is the first declarative tool for App Store Connect. Fetch live state into YAML, lint it offline, plan the diff, apply idempotently. Rejections stop being a surprise.

Read the docs
go install github.com/ul0gic/flightline@latest
  • Single Go binary
  • No SaaS
  • No telemetry
  • MIT
state.yamlfetched from App Store Connect
apiVersion: flightline.dev/v1alpha1
kind: AppState

metadata:
  bundleId: app.tideterm.ios
  version: "2.1"
  platform: IOS

spec:
  version:
    releaseType: AFTER_APPROVAL
    copyright: 2026 Tideterm
  metadata:
    locales:
      en-US:
        name: Tideterm
        subtitle: Tide tables in your terminal
        whatsNew: Offline harbor data for 1,400 stations.
Two edits staged. Pink is what changes.

The lifecycle

Four verbs between you and a clean submission.

The Terraform workflow, pointed at App Store Connect. Steps one through three never write. Nothing reaches Apple until you say apply --confirm.

flightline fetchread-only
$ flightline fetch app.tideterm.ios > state.yaml$ head -7 state.yamlapiVersion: flightline.dev/v1alpha1kind: AppStatemetadata:  bundleId: app.tideterm.ios  version: "2.1"  platform: IOSspec:

Real plan output shape: ~ update, + create, - delete.

Preflight

Apple’s checklist runs on your laptop now.

Eleven rules cover the clerical rejection causes: missing screenshots, unanswered compliance, absent review assets. Run them offline in seconds, or live against ASC when you want certainty before you submit.

Every rule, with fix hints

Observation

The ASC web UI becomes optional.

Everything Apple scatters across a dozen portal screens reads as one command surface. Sales, reviews, crashes, performance: composable, scriptable, yours.

  • $ flightline sales app.tideterm.ios --days 30

    Thirty days of units and proceeds, no Sales portal.

  • $ flightline reviews summary app.tideterm.ios

    Rating histogram and the latest customer reviews.

  • $ flightline beta-feedback crash app.tideterm.ios

    TestFlight crash feedback with device context.

  • $ flightline performance app.tideterm.ios

    Launch time, hang rate, memory: Apple metrics as data.

  • $ flightline finance app.tideterm.ios --month 2026-06

    Monthly financial reports, pipeable instead of downloadable.

  • $ flightline analytics request app.tideterm.ios --wait

    App Store analytics exports, requested and fetched in one go.

Every command speaks --output json. Pipe it to jq, feed it to an LLM, cron it into snapshots.

Lineage

Every platform got its “as code” moment.

Infrastructure got Terraform. Kubernetes got Helm. The App Store got a web form and a checklist you keep in your head. Flightline closes that gap.

ToolDomainManages as code
TerraformAWS, GCP, AzureInfrastructure
PulumiCloud + KubernetesInfrastructure
HelmKubernetesReleases
FlightlineApp Store ConnectThe App Store

Install

One binary. Zero ceremony.

go install github.com/ul0gic/flightline@latest

Requires Go 1.26+ and a Mac · MIT · no SaaS, no telemetry, no accounts