opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

A scriptable CLI for the App Store Connect API
GitHub RepoImpressions4

Project Description

View on GitHub

Stop Clicking Through App Store Connect: A CLI That Actually Scripts

If you've ever shipped an app, you know the drill: build it, archive it, upload it, then log into App Store Connect and click through the same forms you clicked through last week. For a single release, it's tedious. For a team shipping regularly across iOS, macOS, tvOS, and visionOS, it's a genuine bottleneck. App Store Connect CLI (the binary is called asc) is a fast, lightweight command-line tool that turns those workflows into something you can run from your terminal, your IDE, or a CI pipeline.

What It Does

At its core, asc is a scriptable interface to the App Store Connect API. It's written in Go, distributed as self-contained binaries, and designed so you don't need a Go toolchain installed to use it. The goal is straightforward: automate the release workflows that normally live behind a web UI.

It covers the territory you'd expect — builds, TestFlight, metadata sync, submissions, and signing — all driven by commands you can string together in scripts. Authentication is handled through App Store Connect API keys, and you can register multiple keys by name. Individual keys (which have no issuer ID) get their own flag, so you're not forced into a one-size-fits-all auth flow.

There's also a companion piece worth knowing about: asc skills, a set of Agent Skills for automating asc workflows. You install them globally with a single command, and they become available across your projects.

Why It's Cool

The install story is genuinely low-friction. Homebrew, a curl-based install script for macOS and Linux, and a WinGet package for Windows (currently tracked in a GitHub discussion, with signed binaries available directly from releases in the meantime). Released binaries are self-contained, so you're not managing a runtime just to run a CLI.

It respects your CI environment. The README calls out headless shells and machines without keychain access explicitly — a detail that tells you the authors have actually run this in pipelines rather than just on their own laptops. That's the kind of thing you only think to document if you've hit the wall yourself.

The install-skills command is unusually careful. This is the part that stood out to me. Rather than pulling from a mutable branch, it checks out a specific reviewed commit, verifies the complete pack and every installed file before succeeding, preserves unrelated skills and lock entries, and rolls back if any replacement fails. It pins all 25 ASC lock entries to that same commit so external checks can't quietly update them. And it only requires git — no Node.js, no npx, no npm package, no arbitrary repository scripts executed on your machine. For a tool that installs things into your environment, that's a thoughtful supply-chain posture, and it's rare to see it spelled out this clearly.

It's honest about what it is. No claims of replacing Xcode or reinventing the release process. It's a CLI for an API, and it does that job with attention to the details that make CLI tools pleasant to live with.

How to Try It

Start by confirming the binary works before you bother with authentication:

asc version
asc --help

Then install it. Homebrew is the recommended path:

brew install asc

Or use the install script on macOS and Linux:

curl -fsSL https://asccli.sh/install | bash

Windows users can try WinGet, though it's still working its way through acceptance:

winget install asc
# or the exact fallback when scripting
winget install --id Rorkai.ASC --exact

Next, authenticate. You'll need an API key, which you can generate at https://appstoreconnect.apple.com/access/integrations/api:

asc auth login \
  --name "MyApp" \
  --key-id "ABC123" \
  --issuer-id "DEF456" \
  --private-key /path/to/AuthKey.p8 \
  --network

If you're using an individual API key (these have no issuer ID), drop the issuer and declare the key type instead:

asc auth login \
  --name "MyIndividualKey" \
  --key-id "ABC123" \
  --key-type individual \
  --private-key /path/to/AuthKey.p8

From there, the repository has a Common Workflows section worth reading before you start wiring things into CI. If you want the agent skills, install them globally once:

asc install-skills

Final Thoughts

If you're shipping Apple platform apps on any kind of regular cadence — especially if you're doing it from CI — asc is worth a look. It's a focused tool that solves a specific, recurring annoyance, and the care taken around binary distribution and skill installation suggests the maintainers think about the environments their users actually run in. It won't replace your build system, and it isn't trying to. It just makes the App Store Connect half of your release less of a manual chore.


Follow @githubprojects for more developer tools and open source projects.

Back to Projects
Project ID: 10f4b303-fa16-45b6-9e5f-a12d34f6ab6eLast updated: September 24, 2026 at 02:48 AM