Skip to content

Latest commit

 

History

History
147 lines (107 loc) · 4.33 KB

File metadata and controls

147 lines (107 loc) · 4.33 KB

Introduction

A fast, lightweight, and scriptable CLI for the App Store Connect API

Welcome to the App Store Connect CLI (asc) - an unofficial, community-driven command-line tool for automating iOS, macOS, tvOS, and visionOS release workflows.

What is asc?

asc is a Go-based CLI that provides direct access to the App Store Connect API from your terminal, IDE, or CI/CD pipeline. It's designed to be:

  • Fast: Built in Go with minimal dependencies
  • Lightweight: Single binary with no runtime requirements
  • Scriptable: JSON output, exit codes, and TTY-aware defaults
  • Agent-friendly: Built by AI agents, for AI agents
This project is an independent, unofficial tool and is not affiliated with, endorsed by, or sponsored by Apple Inc.

Key features

Upload builds, manage beta testers, collect feedback, and analyze crashes Submit versions, manage metadata, handle screenshots, and track reviews Manage certificates, provisioning profiles, and bundle IDs GitHub Actions, GitLab CI, Bitrise, CircleCI support with structured output

Why use asc?

For developers

  • Skip the App Store Connect web interface for repetitive tasks
  • Automate build distribution to TestFlight
  • Script metadata updates across multiple localizations
  • Monitor crash reports and feedback from the command line

For teams

  • Integrate App Store Connect into your existing CI/CD workflows
  • Version-control your release processes
  • Standardize deployment procedures across projects
  • Audit and track all API operations

For AI agents

  • Self-documenting commands via --help
  • Structured JSON output for parsing
  • Deterministic behavior with explicit flags
  • No interactive prompts (use --confirm flags)

Common workflows

Here are some everyday tasks you can automate with asc:

```bash theme={null} asc builds upload --app "123456789" --ipa "/path/to/MyApp.ipa" asc builds list --app "123456789" --output table ``` ```bash theme={null} asc testflight feedback list --app "123456789" --paginate asc testflight crashes list --app "123456789" --sort -createdDate --limit 10 ``` ```bash theme={null} asc release stage --app "123456789" --version "1.2.3" --build-id "BUILD_ID" --copy-metadata-from "1.2.2" --dry-run asc publish appstore --app "123456789" --ipa "./MyApp.ipa" --version "1.2.3" --submit --confirm ``` ```bash theme={null} asc certificates list asc profiles list asc bundle-ids list ```

TTY-aware output

asc automatically chooses sensible defaults based on where stdout is connected:

  • Interactive terminal (TTY): table format for human readability
  • Pipes, files, CI: json format for machine parsing

You can override this behavior:

# Set a global preference
export ASC_DEFAULT_OUTPUT=markdown

# Or use explicit flags (always wins)
asc apps list --output json
asc builds list --output table

Wall of Apps

60+ apps ship with asc, including:

  • Developer tools and utilities
  • Productivity apps
  • Entertainment and games
  • Health and fitness trackers

View the complete Wall of Apps →

Want to add your app? See our contributing guide.

Next steps

Install asc via Homebrew or install script Set up your App Store Connect API credentials Run your first commands and explore workflows Browse the complete command reference