mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 23:55:51 +03:00
[GH-ISSUE #484] Migrate Import: ingest Deliverfile + metadata/screenshots with automatic localization mapping #137
Labels
No labels
bug
bug
documentation
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/App-Store-Connect-CLI#137
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rudrankriyam on GitHub (Feb 10, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/484
Summary
Expand
asc migrate importso it can ingest a full Deliver-style project layout, not just a subset of localization text files.Why this matters
Migration friction is highest at import time:
Deliverfile+metadata/+screenshots/Reducing this to a single import command is a high-leverage onboarding win.
Current state (verified)
internal/cli/migrate/migrate.gocurrently:metadata/<locale>name/subtitleDeliverfileprivacy_url.txtProposed UX
Input discovery
asc migrate importshould auto-discover inputs in this order:Deliverfilevalues (metadata_path,screenshots_path,app_identifier,app_version,platform, skip flags)metadata/,screenshots/)Import scope
In one run, import:
name.txt,subtitle.txt,description.txt,keywords.txt,release_notes.txt,promotional_text.txt,support_url.txt,marketing_url.txt,privacy_url.txtmetadata/review_information/screenshots/<locale>/...:Dry-run behavior
--dry-runshould show a complete import plan:Detailed implementation plan
Deliverfileparser ininternal/cli/migrate/deliverfile_parser.go.internal/cli/migrate/path_resolution.go.internal/cli/migrate/migrate.goto include:internal/cli/assets/assets_screenshots.go.Deliverfileparsing and precedence rulesREADME.mdmigrate section with new import behavior and examples.Acceptance criteria
asc migrate importcan run from a project containing onlyDeliverfile+ metadata/screenshots directories.privacy_url.txtis imported where supported.--dry-runaccurately reports what would change.make testpasses with new migrate coverage.@rudrankriyam commented on GitHub (Feb 11, 2026):
@cursor Please implement this issue end-to-end.
What to build
Enhance
asc migrate importto ingest Deliver-style project layouts (metadata + screenshots + review info) with automatic localization mapping and dry-run planning.Implementation plan
privacy_url.txt(where API supports it)metadata/review_information/.New tests to write
A) Parser + discovery tests (
internal/cli/migrate)B) Import behavior tests (
internal/cli/cmdtest)C) Field coverage tests
privacy_url.txthandling in supported pathsHow to test locally
Run exactly:
make formatmake lintmake testTargeted tests:
go test ./internal/cli/migrate -run 'Deliverfile|Import|DryRun'go test ./internal/cli/cmdtest -run 'migrate import'Done criteria
asc migrate importrun can ingest metadata, screenshots, and review info from local project layout.format,lint,test).@cursor[bot] commented on GitHub (Feb 11, 2026):
Summary:
migrate importto resolve Deliverfile/paths, ingest metadata + app info + review info, build screenshot plans, and carry skip handling into the dry-run/output flow.Tests:
make formatgo test ./internal/cli/migrate -run 'Deliverfile|Import|DryRun'go test ./internal/cli/cmdtest -run TestMigrateImportgo test ./internal/cli/cmdtest -run 'migrate import'(no tests matched)make lintmake testgo build -o /tmp/asc . && /tmp/asc migrate import(exit code 2 with usage output)@rudrankriyam commented on GitHub (Feb 11, 2026):
Resolved by PR #493 (https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/493), which is merged into main.