Documentation Index
Fetch the complete documentation index at: https://docs.asccli.sh/llms.txt
Use this file to discover all available pages before exploring further.
metadata
Manage app metadata with deterministic file workflowsManage app metadata with deterministic file workflows. Pull metadata from App Store Connect, edit locally, and push changes back.
Quick Start
Features
Phase 1 scope:- App-info localizations: name, subtitle, privacyPolicyUrl, privacyChoicesUrl, privacyPolicyText
- Version localizations: description, keywords, marketingUrl, promotionalText, supportUrl, whatsNew
- Categories, copyright, review information, age ratings, screenshots
Subcommands
pull- Pull metadata from App Store Connect into canonical filespush- Push metadata changes from canonical filesvalidate- Validate metadata files for errors
Commands
metadata pull
Pull metadata from App Store Connect into canonical files:--app- App Store Connect app ID (orASC_APP_ID)--version- App version string (e.g.,1.2.3) (required)--platform- Optional platform:IOS,MAC_OS,TV_OS, orVISION_OS--dir- Output root directory (required)--force- Overwrite existing metadata files in--dir--include- Included metadata scopes (default:localizations)--output- Output format:json,table,markdown--pretty- Pretty-print JSON output
metadata push
Push metadata changes from canonical files:--app- App Store Connect app ID (orASC_APP_ID)--app-info- App Info ID (optional override)--version- App version string (e.g.,1.2.3) (required)--platform- Optional platform:IOS,MAC_OS,TV_OS, orVISION_OS--dir- Metadata root directory (required)--include- Included metadata scopes (default:localizations)--dry-run- Preview changes without mutating App Store Connect--allow-deletes- Allow destructive delete operations (disables default locale fallback)--confirm- Confirm destructive operations (required with--allow-deletes)--output- Output format:json,table,markdown--pretty- Pretty-print JSON output
default.jsonfallback is applied only when--allow-deletesis not set- With
--allow-deletes, remote locales missing locally are planned as deletes - Omitted fields are treated as no-op; they do not imply deletion
metadata validate
Validate metadata files for errors:--dir- Metadata root directory (required)--output- Output format:json,table,markdown--pretty- Pretty-print JSON output
File Format
App Info Localization
metadata/app-info/en-US.json:name- App name (30 characters max)subtitle- App subtitle (30 characters max)privacyPolicyUrl- Privacy policy URLprivacyChoicesUrl- Privacy choices URLprivacyPolicyText- Privacy policy text
Version Localization
metadata/versions/1.2.3/en-US.json:description- App description (4000 characters max)keywords- Keywords (100 characters max)marketingUrl- Marketing URLpromotionalText- Promotional text (170 characters max)supportUrl- Support URLwhatsNew- What’s new / release notes (4000 characters max)
Default Locale
metadata/app-info/default.json:default.json file provides fallback values for locales not explicitly defined. It is only applied when --allow-deletes is not set.
Workflow
1. Pull Current Metadata
Pull metadata from App Store Connect:2. Edit Locally
Edit the JSON files in your preferred editor:3. Preview Changes
Preview changes with--dry-run:
4. Apply Changes
Apply changes to App Store Connect:Examples
Add New Locale
-
Create locale file:
-
Edit content:
-
Push changes:
Update What’s New
-
Edit release notes:
-
Update
whatsNewfield: -
Preview and apply:
Delete Locale
With--allow-deletes, remove a locale by deleting its file:
Version Control
Commit metadata files to version control:- Track changes over time
- Review metadata changes in pull requests
- Revert to previous versions
- Collaborate on metadata updates