From 3a9ed0c00238d7a1b9c29122b1dbf446491d6593 Mon Sep 17 00:00:00 2001 From: Yossi Elkrief Date: Thu, 26 Mar 2026 07:44:40 +0200 Subject: [PATCH] Update docs and add release notes for ASC release lane --- README.md | 18 +++++++++++++++++- RELEASE_NOTES.md | 21 +++++++++++++++++++++ docs/apple-app-store.md | 36 ++++++++++++++++++++++++++++++++---- docs/commands.md | 29 +++++++++++++++++++++++++++++ 4 files changed, 99 insertions(+), 5 deletions(-) create mode 100644 RELEASE_NOTES.md diff --git a/README.md b/README.md index ad43c4d..4d79ca2 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ cd StoreReady && make build ```bash storeready playstore-checkup . # Google Play storeready appstore-checkup . # Apple App Store +storeready release-checklist # Manual Apple release gates +storeready publish --app-id --version --build # ASC dry-run lane ``` Findings are sorted by severity: @@ -61,6 +63,7 @@ Findings are sorted by severity: | **Privacy** | — | PrivacyInfo.xcprivacy, Required Reason APIs | | **Binary** | — | IPA inspection: icons, size, launch storyboard, ATS | | **Store API** | — | App Store Connect: metadata, screenshots, builds | +| **Release lane** | — | `release-checklist` + `publish` (ASC CLI gated flow) | | **Guidelines** | Built-in Play policy matrix | Built-in Apple Review Guidelines | | **Policy checklist** | Automated + manual review items | Automated + manual review items | @@ -75,6 +78,19 @@ Findings are sorted by severity: All commands support `--format json` and `--output ` for pipeline integration. +## Apple End-to-End Lane + +```bash +# 1) Manual/hybrid policy gates not fully automatable +storeready release-checklist --app-type all + +# 2) Automated local + ASC gates, then ASC release dry-run +storeready publish --app-id --version --build + +# 3) Real submit after review +storeready publish --app-id --version --build --confirm +``` + ## AI Integrations **Claude Code:** @@ -93,4 +109,4 @@ Then invoke with `$store-preflight-compliance` in either tool. --- -[Google Play](docs/google-play.md)  •  [Apple App Store](docs/apple-app-store.md)  •  [All Commands](docs/commands.md)  •  [License (MPL-2.0)](LICENSE) +[Google Play](docs/google-play.md)  •  [Apple App Store](docs/apple-app-store.md)  •  [All Commands](docs/commands.md)  •  [Release Notes](RELEASE_NOTES.md)  •  [License (MPL-2.0)](LICENSE) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000..fe4959c --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,21 @@ +# Release Notes + +## 2026-03-24 + +### Added +- `storeready publish` command for an end-to-end Apple release lane: + - Runs local StoreReady preflight gates + - Runs ASC metadata scan gates + - Executes `asc release run` (dry-run by default, `--confirm` for real submission) +- `storeready release-checklist` command to output structured manual/hybrid App Store release gates with app-type profiles. + +### Apple ASC Verification Coverage Expanded +- Added checks for: + - content rights declaration + - privacy policy URL coverage on app-info localizations + - version copyright metadata presence + +### Documentation Updates +- Updated `README.md` with Apple end-to-end lane usage. +- Updated `docs/commands.md` with `publish` and `release-checklist`. +- Updated `docs/apple-app-store.md` with corrected scan tier descriptions and release-lane docs. diff --git a/docs/apple-app-store.md b/docs/apple-app-store.md index eeb8f25..5ee7706 100644 --- a/docs/apple-app-store.md +++ b/docs/apple-app-store.md @@ -57,10 +57,38 @@ storeready scan --app-id 6758967212 | Tier | Checks | |------|--------| -| 1 | Metadata completeness — descriptions, keywords, URLs | -| 2 | Content analysis — platform references, placeholders | -| 3 | Binary inspection — build processing status | -| 4 | Historical pattern matching — age rating, encryption | +| 1 | Metadata/completeness — app access, version state, metadata limits, screenshots, build status, age rating, encryption, content rights, privacy policy URL, copyright, territory/pricing | +| 2 | Content analysis — platform references, placeholders, URL reachability, external TestFlight coverage | +| 3 | Reserved for future binary/API expansion | +| 4 | Reserved for future historical pattern matching | + +## `release-checklist` — Manual/hybrid release gate list + +```bash +storeready release-checklist +storeready release-checklist --app-type subscription +``` + +Use this before final submit to review non-fully-automatable checks: +- Review notes and tester credentials +- Account deletion, IAP/restore, SIWA parity +- Legal links and metadata truthfulness +- App-type specific risk gates (subscription, social, kids, health, games, macos, ai, crypto, vpn) + +## `publish` — End-to-end StoreReady + ASC lane + +```bash +# Safe default: dry-run release flow after all gates pass +storeready publish --app-id --version --build + +# Real submit +storeready publish --app-id --version --build --confirm +``` + +Flow: +1. Local StoreReady preflight gates +2. ASC API scan gates +3. `asc release run` execution ## `guidelines` — Apple guideline browser diff --git a/docs/commands.md b/docs/commands.md index a6f8905..3b07767 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -40,6 +40,33 @@ All commands support: --output file.json # write to file instead of stdout ``` +## New Apple Release Commands + +### `release-checklist` — Manual/hybrid App Store release gates + +```bash +storeready release-checklist +storeready release-checklist --app-type subscription +storeready release-checklist --format json --output release-checklist.json +``` + +Use this before submit to verify non-fully-automatable requirements (review notes, account deletion, IAP/restore, SIWA parity, legal links, app-type specific policies). + +### `publish` — StoreReady-gated ASC CLI release lane + +```bash +# Dry-run by default +storeready publish --app-id --version --build + +# Real submit +storeready publish --app-id --version --build --confirm +``` + +Pipeline: +1. Run local preflight checks (can skip with `--skip-local-checks`) +2. Run ASC metadata scan checks (can skip with `--skip-asc-scan`) +3. Execute `asc release run` (dry-run unless `--confirm`) + ## Architecture ``` @@ -58,6 +85,8 @@ storeready ├── ipa Binary-only inspection │ ├── scan App Store Connect API checks (tiers 1–4) +├── release-checklist Manual/hybrid App Store release gate list +├── publish StoreReady-gated ASC release lane ├── auth App Store Connect authentication ├── guidelines Apple guideline browser ├── play-guidelines Google Play policy browser