Open Source · Licenza MIT

App Store Connect,
dal tuo terminale.

Una CLI Swift per gestire le tue app iOS e macOS su App Store Connect. Invia versioni, gestisci screenshot, monitora i build — con pieno supporto per agenti AI tramite CAEOAS.

$ brew install tddworks/tap/asccli
130+
Comandi
CAEOAS
Pronto per agenti AI
MIT
Open Source
100+
Endpoint API
zsh — 80×24

Funzionalità

Tutto quello che ti serve, niente di superfluo

Basato sull'API ufficiale di App Store Connect, con un'architettura pulita a tre livelli e output completo di affordance per i workflow degli agenti AI.

Pronto per agenti AI (CAEOAS)

Ogni risposta incorpora comandi pronti per l'esecuzione in un campo affordances. Nessun agente deve conoscere l'intero albero dei comandi — basta seguire i link.

App
├─ AppStoreVersion
│  └─ Localization
│     └─ ScreenshotSet
├─ AppInfo
│  └─ AppInfoLocalization
├─ Build
└─ TestFlight

Gerarchia completa delle risorse

Gestisci l'intero albero delle risorse di App Store Connect: App → Versioni → Localizzazioni → Set di screenshot → Screenshot. Più Build e TestFlight.

$ asc versions submit \
  --version-id a9657737
// 4 API calls, 1 command:
1. GET /appStoreVersions/{id}
2. POST /reviewSubmissions
3. POST /reviewSubmissionItems
4. PATCH /reviewSubmissions/{id}
state: WAITING_FOR_REVIEW

Invio con un solo comando

Invia qualsiasi versione iOS o macOS per la revisione con un singolo comando. La CLI gestisce automaticamente l'intero flusso di invio multi-step.

Controllo pre-invio

Esegui tutti i controlli prima dell'invio con un solo comando. Rileva build mancanti, prezzi non configurati e localizzazioni incomplete — con gravità MUST FIX vs SHOULD FIX. L'azione di invio appare solo quando tutto è in verde.

$ asc iris status
source: browser · cookies: 5
$ asc iris apps create \
  --name "My App" \
  --bundle-id com.example.app \
  --sku MYSKU
id: 1234567890

Iris (API Privata)

Accedi all'API privata che alimenta l'interfaccia web di App Store Connect. Crea nuove app, elenca tutte le app — funzionalità non disponibili tramite l'API REST pubblica. Autenticazione basata sui cookie del browser, nessuna configurazione aggiuntiva.

# salva la chiave una volta
$ asc app-shots config \
  --gemini-api-key KEY
# inserisci PNG in .asc/app-shots/ → esegui
$ asc app-shots generate
# localizza in un comando
$ asc app-shots translate \
  --to zh --to ja
screen-0.png · 1320×2868
zh/ ja/ ← localized

Generatore Screenshot AI

Genera screenshot App Store a 1320×2868 con Gemini AI. Localizza in un comando — asc app-shots translate --to zh --to ja. Dimensioni corrette garantite.

$ asc version-localizations list \
  --version-id v1
$ asc version-localizations update \
  --localization-id id \
  --whats-new "Bug fixes"
en-US · zh-Hans · ja · ko

Localizzazioni di versione

Aggiorna il testo «Novità», la descrizione, le parole chiave e gli URL promozionali per lingua per qualsiasi versione dell'app. CRUD completo — elenca, crea e aggiorna in tutte le lingue supportate.

$ asc screenshot-sets create \
  --localization-id id \
  --display-type APP_IPHONE_67
$ asc screenshots upload \
  --set-id id --file screen.png
3-step ASC upload flow

Screenshot

Crea set di screenshot per qualsiasi dimensione dello schermo e carica immagini PNG tramite il flusso di caricamento ASC in 3 fasi. Supporta tutti i tipi di display iPhone, iPad, Mac e Apple TV.

$ asc app-preview-sets create \
  --localization-id id \
  --preview-type IPHONE_67
$ asc app-previews upload \
  --set-id id --file preview.mp4 \
  --preview-frame-time-code 00:00:05

Anteprime app

Carica anteprime video (.mp4, .mov, .m4v) con codice temporale miniatura opzionale. Il CLI gestisce il flusso completo in 3 fasi: prenotazione, caricamento a blocchi e conferma MD5.

$ asc app-info-localizations list \
  --app-info-id id
$ asc app-info-localizations update \
  --localization-id id \
  --name "My App" \
  --subtitle "Do things faster"

Localizzazioni info app

Leggi e scrivi i metadati dell'app per lingua: nome, sottotitolo e URL dell'informativa sulla privacy. Metadati a livello app applicabili a tutte le versioni — separati dalle localizzazioni di versione.

# configurazione una-tantum
$ asc auth login \
  --key-id KEY \
  --private-key-path ~/.asc/Key.p8
salvato in ~/.asc/credentials.json
# niente variabili d'ambiente da ora in poi
$ asc apps list

Autenticazione persistente

Accedi una volta con asc auth login. Le credenziali vengono salvate in ~/.asc/credentials.json e utilizzate automaticamente da ogni comando. Nessuna variabile d'ambiente per sessione.

$ asc builds upload \
  --app-id id --file MyApp.ipa \
  --version 1.2.0 --build-number 55
// 5-step flow:
1. Reserve slot
2. Upload chunks
3. Confirm MD5
state: processing

Caricamento build

Carica IPA/PKG con il flusso ASC in 5 fasi: prenotazione slot, caricamento a blocchi, conferma MD5 e attesa del processing. Include elenco, consultazione e cancellazione dei record di caricamento.

$ asc testflight groups list \
  --app-id id
$ asc testflight testers add \
  --beta-group-id id \
  --email [email protected]
$ asc testflight testers import \
  --beta-group-id id --file testers.csv

TestFlight

Gestisci gruppi beta e tester: aggiungi o rimuovi per email, importa/esporta in blocco via CSV, distribuisci build ai gruppi e aggiorna le note sulle novità per lingua.

Formati di output multipli

Progettato per umani e macchine. Output in JSON (predefinito), tabella o markdown. Pipe facile verso jq, script o agenti AI.

$ asc iap create --app-id id \
  --type consumable \
  --reference-name "Coins 100"
$ asc iap prices set \
  --iap-id id --base-territory USA \
  --price-point-id id
$ asc iap submit --iap-id id

Acquisti in-app

Crea IAP consumabili, non consumabili e abbonamenti non rinnovabili. Imposta prezzi per territorio dai punti prezzo App Store, gestisci nome e descrizione per lingua e invia alla revisione.

$ asc subscription-groups create \
  --app-id id --reference-name "Pro"
$ asc subscriptions create \
  --group-id id --period ONE_MONTH
$ asc subscription-offers create \
  --subscription-id id \
  --mode FREE_TRIAL --periods 7

Abbonamenti a rinnovo automatico

Crea gruppi di abbonamenti e livelli (settimanale-annuale). Gestisci offerte introduttive (prova gratuita, pagamento a consumo, pagamento anticipato), metadati per lingua e invia alla revisione.

$ asc bundle-ids create \
  --name "My App" \
  --identifier com.example.app \
  --platform ios
$ asc profiles create \
  --type IOS_APP_STORE \
  --bundle-id-id id --certificate-ids id

Firma del codice

Gestisci l'intera catena di firma: registra Bundle ID, crea certificati da CSR, registra dispositivi per UDID e crea o elimina profili di provisioning — tutto dal terminale.

$ asc tui
┌─ Apps ─────────────────────────┐
▶ AppNexus
│  My Other App
└────────────────────────────────┘
↑↓ navigate · Enter · Esc back

Modalità TUI interattiva

Esegui asc tui per aprire un browser TUI completo nel terminale. Naviga tra app, versioni, build e TestFlight con i tasti freccia — senza memorizzare comandi.

Avvio rapido

Operativo in pochi minuti

1
$ brew install tddworks/tap/asccli
🍺 Pouring asc...
asc installed
$ asc --version
asc 1.0.0

Installa con Homebrew

Un comando installa l'ultima versione. Non è richiesto Xcode o la toolchain Swift.

2
$ asc auth login \
  --key-id YOUR_KEY_ID \
  --issuer-id YOUR_ISSUER \
  --private-key-path ~/.asc/Key.p8
$ asc auth check
source: "file" · key: YOUR_KEY_ID
# salvato in ~/.asc/credentials.json

Accedi una volta, usa sempre

Salva la tua chiave API con asc auth login. Le credenziali vengono memorizzate in ~/.asc/credentials.json — nessuna variabile d'ambiente per sessione.

3
$ asc apps list
$ asc versions list --app-id <id>
$ asc screenshots upload \
  --set-id <id> --file shot.png
$ asc versions submit \
  --version-id <id>
Submitted for review

Inizia a gestire le tue app

Elenca le app, ispeziona le versioni, carica screenshot e invia per la revisione — tutto dal tuo terminale o tramite un agente AI.

Competenze dell'agente

Potenzia il tuo agente AI

Installa oltre 26 competenze pronte all'uso che insegnano al tuo agente di codifica AI come usare ogni comando asc — dagli upload alle sottomissioni.

$ asc skills install --all

asc-builds-upload

Carica build IPA/PKG e gestisci la distribuzione TestFlight

asc-app-shots

Genera e traduci screenshot App Store con l'AI

asc-check-readiness

Controlli preliminari prima dell'invio per la revisione

asc-auth

Configura e gestisci le credenziali API di App Store Connect

asc-testflight

Gestisci gruppi beta e tester per TestFlight

asc-release-workflow

Release end-to-end: bump versione, archivia, carica, invia

Oltre 26 competenze disponibili — compatibile con Claude Code, Cursor, Windsurf e altri

Pronto a provare asc?

Automatizza il tuo workflow App Store Connect

$ brew install tddworks/tap/asccli

Community

App Wall

App reali sull'App Store pubblicate da sviluppatori che usano asc CLI.

$ asc app-wall submit --app-id <your-app-id>

Un solo comando per inviare la tua app e aprire una pull request →

Built for real apps

Sponsors