asc-cli

A Swift CLI for App Store Connect: builds, TestFlight, metadata, subscriptions and review submission with ready commands in JSON

  • 397 ★ on the repository
  • Last commit
  • Apache-2.0
CLI

Broad access

Why this level

  • The API key gives the agent the team's apps: prices, subscriptions, review submission, certificates and users.
  • Submitting for review and changing prices are visible to customers and cannot be undone without manual work.
All reasons and checks

tddworks/asc-cli

Install

Works in

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/asc-cli

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The API key gives the agent the team's apps: prices, subscriptions, review submission, certificates and users.
  • Submitting for review and changing prices are visible to customers and cannot be undone without manual work.

This is third-party code. Review the repository files before installing.

What it does

asc-cli drives App Store Connect from a terminal and CI: it archives an Xcode project, uploads IPA and PKG, manages TestFlight groups and testers, edits descriptions, keywords and screenshots, sets up purchases and subscriptions and submits a version for review. Every JSON response carries an `affordances` field with commands that can run next. For an editable version, for example, it holds the readiness check and review submission. The agent follows these hints and does not have to memorise the whole command tree. For people there is table and Markdown output and the `asc tui` interface, while `asc web-server` serves the same commands as a REST API. `asc skills install --all` installs Claude Code skills from the author's asc-cli-skills repository.

Who it is for. iOS and macOS app developers who want an agent to handle releases and App Store Connect work.

Good fit when

  • A new build must be archived, uploaded and shared with a TestFlight beta group in one request to the agent.
  • Description and keywords must be updated in several languages before release.
  • The app was rejected in review, and you want to read App Review's message right in the terminal.
  • The first subscription and purchases have to go to review together with the version.

Not a fit when

  • You work on Linux or Windows: macOS 14 or newer is required.
  • There is no App Store Connect API key and no rights to issue one in the team.
  • A manual release once a quarter through the web UI is enough.

Example request

Archive the project, upload the build, add it to the internal TestFlight group and check whether version 2.1.0 is ready for review.

Limitations

The CLI is written in Swift 6.2, runs on macOS 14 and newer and installs through Homebrew. It needs an App Store Connect API key with key ID, issuer ID and a `.p8` file. Some features such as creating apps and reading App Review replies use the private Iris web API, which Apple may change without notice. `asc skills list`, `install`, `check` and `update` call `npx skills`, so they need Node.js and npx.

How to disable. Run `asc skills uninstall` for installed skills, then `brew uninstall asccli`. Keys and settings live in `~/.asc`.

FAQ

How do I authorize asc-cli?

Run `asc auth login` with `--key-id`, `--issuer-id` and `--private-key-path` pointing to the `.p8` file. The key is created in App Store Connect integrations.

How do I install the Claude Code skills?

`asc skills install --all` installs every skill from the tddworks/asc-cli-skills repository into `~/.claude/skills/`. `asc skills check` reports available updates.

What are affordances in responses?

Ready next commands inside the JSON. The agent sees, for example, `asc versions submit` only on an editable version and does not guess the syntax.

Can I skip the app ID in every command?

Yes. Run `asc init --app-id <id>`, and later commands use that ID without the `--app-id` flag.

Can I call asc-cli from my own service?

Yes, `asc web-server` serves the same commands as a REST API. It can also be embedded as the ASCKit Swift package.

Discussion

No questions or reviews yet.

CLI tools

Skills for driving App Store Connect through the asc CLI: builds, TestFlight, analytics, ads and crash triage

SkillMinimal access1.1KRepository stars

The asc CLI manages builds, TestFlight and App Store Connect releases, returning results as tables or structured JSON.

CLIBroad access8.3KRepository stars

Claude Code skill that takes an iOS or Flutter app from archive and signing to App Store submission and review rejection recovery.

SkillBroad access144Repository stars

App Store Connect MCP reads TestFlight builds, reviews and sales and updates app metadata through the Apple API

MCP serverBroad access60Repository stars

Heimdall gives an agent the whole App Store Connect and Server APIs: releases, subscriptions, reviews, TestFlight, 786 tools

MCP serverBroad access57Repository stars

The Itsyconnect MCP server edits App Store Connect listings, translates fields and adds locales from your coding agent.

MCP serverBroad access132Repository stars

README in short

The README starts with a Homebrew and API key quick start, then explains the CAEOAS approach with a version list response. A feature table links to a separate docs page for each area.

README badge

Report a problem