asc - App Store Connect CLI
asccli.sh- Category
- Developer Tools
- Rank
- No. 444Tools index
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Deployment & Operations
- Interfaces
- CLI
- Builder
- @rudrankriyam
- GitHub
- 7.4k stars
- Latest release
- 5.5.0
- Date
About
A fast, lightweight CLI tool that automates iOS, macOS, tvOS, and visionOS app releases through the terminal. It handles TestFlight distribution, App Store submissions, code signing, screenshots, and CI/CD workflows with over 80 command groups covering the complete App Store Connect API.
What it does
asc turns App Store Connect operations into composable terminal commands. It supports both guided release paths and lower-level resource management, with authentication profiles, validation, dry runs, pagination, and structured output. Teams can inspect apps, prepare metadata, upload builds, distribute betas, manage signing, submit releases, and monitor status without driving the web interface manually.
Why it's ranked here
The breadth is unusually practical, but the operational safeguards matter more. Destructive steps require confirmation, release plans can be previewed, authentication has validation and diagnostic commands, and lifecycle labels distinguish stable, experimental, and deprecated behavior. Machine-readable output and CI reports make automation credible. The main reservation is default pseudonymous telemetry, although the tool documents its payload and provides multiple ways to disable it.
What's good
Interactive sessions get tables while pipes and CI get JSON, reducing script friction without sacrificing readable output. High-level publishing commands cover common paths, while lower-level submission commands remain available for debugging and partial workflows. The workflow runner supports persisted outputs, resume boundaries, bounded retries, per-attempt timeouts, cancellation, and terminal failures when replay could duplicate side effects. API debugging keeps diagnostics on standard error so structured standard output remains parseable.
Tradeoffs
Some capabilities carry experimental labels, including local screenshot capture and the Xcode build leaf, so scripts using them should expect change. Local Xcode execution and manual signing resolution require macOS. Mutating API requests are not automatically retried, which protects against duplicated writes but leaves recovery to the caller. Default telemetry records pseudonymous command-level usage. Apple API gaps also remain, including transaction tax reports that require manual download.
How to use it well
It fits release engineers and app teams that want one scriptable interface across local preparation, CI validation, TestFlight distribution, and App Store submission. Start with explicit JSON output, authentication validation, dry runs, and high-level publish commands. Use lower-level commands only when diagnosing or splitting retry boundaries. Keep experimental leaves isolated behind your own wrappers. It does not replace Xcode for compilation on unsupported hosts, and it cannot supply operations Apple omits from the API.
Technical notes+
main.go passes arguments through cmd.Run, with an early telemetry maintenance-worker branch and build-injected version, commit, and date fields. go.mod declares a Go 1.26.5 module and includes JWT, keyring, Xcode, terminal, JSONC, YAML, plist, and cryptography dependencies. Makefile builds one asc binary, produces Darwin amd64/arm64, Linux amd64/arm64, and Windows amd64 release artifacts, strips release symbols and filesystem paths, and provides format, lint, unit, coverage, integration, documentation, OpenAPI, and release-guardrail targets. docs/COMMANDS.md is generated from live help. docs/WORKFLOWS.md documents persisted workflow outputs, resume behavior, bounded retries, and replay-safety rules. docs/API_NOTES.md records endpoint-specific normalization, retry policy, permissions, and known Apple API mismatches.
Observed
- License
- MIT
- Primary language
- Go
- Interface
- Self-contained command-line executable for the App Store Connect API
- Install surface
- Homebrew, a macOS/Linux install script, signed release binaries, and source builds
- Release platforms
- macOS on amd64 and arm64, Linux on amd64 and arm64, and Windows on amd64
- Output formats
- Table, Markdown, and JSON, with TTY-aware defaults
- CI integrations
- Documented setup paths for GitHub Actions, GitLab CI/CD, Bitrise, and CircleCI
Read from README.md, go.mod, Makefile, main.go, docs/CI_CD.md, docs/WINGET.md, docs/TESTING.md, docs/COMMANDS.md, docs/API_NOTES.md, docs/WORKFLOWS.md, docs/CONTRIBUTING.md, docs/GO_STANDARDS.md, docs/openapi/README.md, docs/design/release-rehearsal.md, docs/design/xcode-build-command.md.
What it can do
Submit iOS/macOS/tvOS/visionOS apps to App Store
App binary and metadata → App Store submission confirmation
Distribute beta builds through TestFlight
App build and tester information → TestFlight beta distribution
Sign app code for distribution
Unsigned app binary and certificates → Code-signed app binary
Upload app screenshots and metadata
Screenshot images and app store listing data → Updated App Store Connect listing
Automate CI/CD release workflows
Build artifacts and deployment configuration → Automated app release pipeline execution
Manage app store certificates and provisioning profiles
Certificate requests and app identifiers → Generated certificates and profiles
Query App Store Connect API endpoints
API parameters and authentication → App Store Connect data responses
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.