โอเพนซอร์ส · สัญญาอนุญาต MIT

App Store Connect,
จาก terminal ของคุณ

Swift CLI สำหรับจัดการแอป iOS และ macOS บน App Store Connect ส่งเวอร์ชัน จัดการภาพหน้าจอ ติดตาม build — พร้อมรองรับ AI agent อย่างสมบูรณ์ผ่าน CAEOAS

$ brew install tddworks/tap/asccli
130+
คำสั่ง
CAEOAS
พร้อมใช้กับ AI
MIT
โอเพนซอร์ส
100+
API Endpoints
zsh — 80×24

คุณสมบัติ

ทุกสิ่งที่ต้องการ ไม่มีสิ่งที่ไม่จำเป็น

สร้างบน App Store Connect API อย่างเป็นทางการ พร้อมสถาปัตยกรรมสามชั้นที่สะอาดและการส่งออก affordance เต็มรูปแบบสำหรับ workflow ของ AI agent

พร้อมใช้กับ AI Agent (CAEOAS)

ทุกการตอบสนองมีคำสั่งพร้อมรันในฟิลด์ affordances ไม่จำเป็นต้องรู้ต้นไม้คำสั่งทั้งหมด — แค่ติดตามลิงก์

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

ลำดับชั้นทรัพยากรครบถ้วน

จัดการต้นไม้ทรัพยากร App Store Connect ทั้งหมด: แอป → เวอร์ชัน → การแปลภาษา → ชุดภาพหน้าจอ → ภาพหน้าจอ พร้อม Build และ 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

ส่งด้วยคำสั่งเดียว

ส่งเวอร์ชัน iOS หรือ macOS ใดก็ได้เพื่อรีวิว App Store ด้วยคำสั่งเดียว CLI จัดการกระบวนการส่งรีวิวหลายขั้นตอนโดยอัตโนมัติ

ตรวจสอบก่อนส่ง

รันการตรวจสอบทั้งหมดก่อนส่งด้วยคำสั่งเดียว ตรวจพบบิลด์ที่ขาดหาย ราคาที่ยังไม่ได้ตั้งค่า และการแปลที่ไม่สมบูรณ์ — แยกความรุนแรง MUST FIX กับ SHOULD FIX ปุ่มส่งจะปรากฏเมื่อผ่านทุกการตรวจสอบแล้วเท่านั้น

$ 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 ส่วนตัว)

เข้าถึง API ส่วนตัวที่ขับเคลื่อนหน้าเว็บ App Store Connect สร้างแอปใหม่ แสดงรายการแอปทั้งหมด — ความสามารถที่ไม่มีใน REST API สาธารณะ ยืนยันตัวตนผ่านคุกกี้เบราว์เซอร์ ไม่ต้องตั้งค่าเพิ่มเติม

# บันทึกคีย์ครั้งเดียว
$ asc app-shots config \
  --gemini-api-key KEY
# วาง PNG ใน .asc/app-shots/ → รัน
$ asc app-shots generate
# localize ในคำสั่งเดียว
$ asc app-shots translate \
  --to zh --to ja
screen-0.png · 1320×2868
zh/ ja/ ← localized

สร้างภาพหน้าจอด้วย AI

สร้าง App Store screenshot ขนาด 1320×2868 ด้วย Gemini AI จากนั้น localize ในคำสั่งเดียว — asc app-shots translate --to zh --to ja รับรองขนาดที่ถูกต้อง

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

การแปลเวอร์ชัน

อัปเดตข้อความ «มีอะไรใหม่» คำอธิบาย คำหลัก และ URL โปรโมชันตามภาษาสำหรับเวอร์ชันแอปใดก็ได้ CRUD ครบถ้วน — รายการ สร้าง และอัปเดตในทุกภาษาที่รองรับ

$ 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

ภาพหน้าจอ

สร้างชุดภาพหน้าจอสำหรับขนาดหน้าจอใดก็ได้และอัปโหลดภาพ PNG ผ่านกระบวนการอัปโหลด ASC 3 ขั้นตอน รองรับทุกประเภทจอแสดงผล iPhone, iPad, Mac และ 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

ตัวอย่างแอป

อัปโหลดวิดีโอตัวอย่าง (.mp4, .mov, .m4v) พร้อม timecode ภาพขนาดย่อเสริม CLI จัดการกระบวนการ 3 ขั้นตอนครบถ้วน: จอง อัปโหลดเป็นชิ้น และยืนยัน 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"

การแปลข้อมูลแอป

อ่านและเขียน metadata แอปตามภาษา: ชื่อ คำบรรยาย และ URL นโยบายความเป็นส่วนตัว metadata ระดับแอปที่ใช้กับทุกเวอร์ชัน — แยกจากการแปลเวอร์ชัน

# ตั้งค่าครั้งเดียว
$ asc auth login \
  --key-id KEY \
  --private-key-path ~/.asc/Key.p8
บันทึกใน ~/.asc/credentials.json แล้ว
# ไม่ต้องใช้ environment variable อีกต่อไป
$ asc apps list

การยืนยันตัวตนถาวร

เข้าสู่ระบบครั้งเดียวด้วย asc auth login ข้อมูลรับรองจะถูกบันทึกใน ~/.asc/credentials.json และใช้โดยอัตโนมัติทุกคำสั่ง ไม่ต้องตั้งค่า environment variable ทุกครั้ง

$ 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

อัปโหลดบิลด์

อัปโหลด IPA/PKG ผ่านกระบวนการ ASC 5 ขั้นตอน: จองสล็อต อัปโหลดเป็นชิ้น ยืนยัน MD5 และรอการประมวลผล รวมถึงรายการ ดู และลบบันทึกการอัปโหลด

$ 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

จัดการกลุ่มเบตาและผู้ทดสอบ: เพิ่มหรือลบด้วยอีเมล นำเข้า/ส่งออกจำนวนมากผ่าน CSV แจกจ่ายบิลด์ให้กลุ่ม และอัปเดตบันทึกมีอะไรใหม่ตามภาษา

รูปแบบการส่งออกหลายแบบ

ออกแบบสำหรับทั้งมนุษย์และเครื่องจักร ส่งออกเป็น JSON (ค่าเริ่มต้น) ตาราง หรือ markdown เชื่อมต่อกับ jq สคริปต์ หรือ AI agent ได้ง่าย

$ 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

การซื้อในแอป

สร้าง IAP ประเภทใช้แล้วหมด ไม่ใช้แล้วหมด และการสมัครสมาชิกแบบไม่ต่ออายุ ตั้งราคาตามเขตแดนจากจุดราคา App Store จัดการชื่อและคำอธิบายตามภาษา และส่งเพื่อตรวจสอบ

$ 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

การสมัครสมาชิกแบบต่ออายุอัตโนมัติ

สร้างกลุ่มการสมัครสมาชิกและระดับ (รายสัปดาห์ถึงรายปี) จัดการข้อเสนอแนะนำ (ทดลองฟรี จ่ายตามการใช้ จ่ายล่วงหน้า) metadata ตามภาษา และส่งเพื่อตรวจสอบ

$ 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

การลงชื่อรหัส

จัดการห่วงโซ่การลงชื่อทั้งหมด: ลงทะเบียน Bundle ID สร้างใบรับรองจาก CSR ลงทะเบียนอุปกรณ์ด้วย UDID และสร้างหรือลบโปรไฟล์การจัดเตรียม — ทั้งหมดจากเทอร์มินัล

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

โหมด TUI แบบโต้ตอบ

เรียกใช้ asc tui เพื่อเปิดเบราว์เซอร์ TUI แบบสมบูรณ์ในเทอร์มินัล นำทางผ่านแอป เวอร์ชัน บิลด์ และ TestFlight ด้วยปุ่มลูกศร — ไม่ต้องจำคำสั่ง

เริ่มต้นด่วน

ใช้งานได้ภายในไม่กี่นาที

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

ติดตั้งผ่าน Homebrew

คำสั่งเดียวติดตั้งเวอร์ชันล่าสุด ไม่ต้องใช้ Xcode หรือ Swift toolchain

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
# บันทึกใน ~/.asc/credentials.json แล้ว

เข้าสู่ระบบครั้งเดียว ใช้ตลอดไป

บันทึก API key ด้วย asc auth login ข้อมูลรับรองจะถูกเก็บใน ~/.asc/credentials.json ไม่ต้องตั้งค่า environment variable ทุก session

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

เริ่มจัดการแอปของคุณ

แสดงรายการแอป ตรวจสอบเวอร์ชัน อัปโหลดภาพหน้าจอ และส่งเพื่อรีวิว — ทั้งหมดจาก terminal หรือผ่าน AI agent

ทักษะเอเจนต์

เพิ่มพลังให้ AI agent ของคุณ

ติดตั้ง 26+ ทักษะสำเร็จรูปที่สอน AI coding agent ของคุณให้ใช้คำสั่ง asc ทุกตัว — ตั้งแต่อัปโหลดจนถึงส่งรีวิว

$ asc skills install --all

asc-builds-upload

อัปโหลดบิลด์ IPA/PKG และจัดการการแจกจ่ายผ่าน TestFlight

asc-app-shots

สร้างและแปลภาพหน้าจอ App Store ด้วย AI

asc-check-readiness

ตรวจสอบก่อนส่งเพื่อรีวิว

asc-auth

ตั้งค่าและจัดการข้อมูลรับรอง API ของ App Store Connect

asc-testflight

จัดการกลุ่มเบตาและผู้ทดสอบสำหรับ TestFlight

asc-release-workflow

การเผยแพร่ครบวงจร: เพิ่มเวอร์ชัน, archive, อัปโหลด, ส่ง

26+ ทักษะพร้อมใช้ — ใช้ได้กับ Claude Code, Cursor, Windsurf และอื่นๆ

พร้อมลอง asc แล้วหรือยัง?

ทำให้ workflow App Store Connect ของคุณเป็นอัตโนมัติ

$ brew install tddworks/tap/asccli

ชุมชน

App Wall

แอปจริงบน App Store ที่นักพัฒนาเผยแพร่โดยใช้ asc CLI

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

คำสั่งเดียวเพื่อส่งแอปและเปิด pull request →

Built for real apps

Sponsors