[GH-ISSUE #688] feat(metadata): add metadata pull with deterministic git-safe layout #188

Closed
opened 2026-02-26 21:33:56 +03:00 by kerem · 0 comments
Owner

Originally created by @rudrankriyam on GitHub (Feb 20, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/688

Parent

Summary

Implement asc metadata pull to export App Store Connect metadata into a stable file layout that is safe to commit and easy to review.

Proposed CLI

asc metadata pull \
  --app "APP_ID" \
  --version "1.2.3" \
  --dir "./metadata" \
  --include localizations

Scope

  • Add metadata command group and pull subcommand.
  • Required flags:
    • --app (supports ASC_APP_ID fallback)
    • --version (version string for version-metadata scope)
    • --dir
  • Optional flags:
    • --include (default localizations)
    • --output json|table|markdown, --pretty
  • Resolve app-info/version IDs via existing shared helpers.
  • Write files via canonical schema from #687.
  • Produce deterministic, machine-readable command output summarizing what was written.

Detailed Tasks

  • Register metadata + metadata pull in CLI registry.
  • Implement app/version resolution flow (with clear usage errors).
  • Fetch app-info and version localizations (with pagination safety).
  • Convert ASC payloads to canonical on-disk JSON model.
  • Write files with deterministic ordering.
  • Emit pull result artifact (files written, locales covered, include scopes).

Test Plan (TDD)

  • Cmdtest: missing required flags returns exit usage code 2 with stderr assertion.
  • Cmdtest: writes expected directory layout for app-info + version localizations.
  • Cmdtest: output in JSON parses and includes deterministic file list.
  • Unit: locale/file ordering is deterministic across runs.
  • Unit: invalid --include value is rejected with usage error.

Acceptance Criteria

  • asc metadata pull is self-documenting via --help.
  • Pull writes stable canonical files suitable for git.
  • Output artifact is deterministic and parseable.
  • Tests cover flag validation + layout + output determinism.

Out of Scope

  • Mutation (push) and schema-only validation (validate).
Originally created by @rudrankriyam on GitHub (Feb 20, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/688 ## Parent - #587 - Depends on #687 ## Summary Implement `asc metadata pull` to export App Store Connect metadata into a stable file layout that is safe to commit and easy to review. ## Proposed CLI ```bash asc metadata pull \ --app "APP_ID" \ --version "1.2.3" \ --dir "./metadata" \ --include localizations ``` ## Scope - Add `metadata` command group and `pull` subcommand. - Required flags: - `--app` (supports `ASC_APP_ID` fallback) - `--version` (version string for version-metadata scope) - `--dir` - Optional flags: - `--include` (default `localizations`) - `--output json|table|markdown`, `--pretty` - Resolve app-info/version IDs via existing shared helpers. - Write files via canonical schema from #687. - Produce deterministic, machine-readable command output summarizing what was written. ## Detailed Tasks - [ ] Register `metadata` + `metadata pull` in CLI registry. - [ ] Implement app/version resolution flow (with clear usage errors). - [ ] Fetch app-info and version localizations (with pagination safety). - [ ] Convert ASC payloads to canonical on-disk JSON model. - [ ] Write files with deterministic ordering. - [ ] Emit pull result artifact (files written, locales covered, include scopes). ## Test Plan (TDD) - [ ] Cmdtest: missing required flags returns exit usage code `2` with stderr assertion. - [ ] Cmdtest: writes expected directory layout for app-info + version localizations. - [ ] Cmdtest: output in JSON parses and includes deterministic file list. - [ ] Unit: locale/file ordering is deterministic across runs. - [ ] Unit: invalid `--include` value is rejected with usage error. ## Acceptance Criteria - [ ] `asc metadata pull` is self-documenting via `--help`. - [ ] Pull writes stable canonical files suitable for git. - [ ] Output artifact is deterministic and parseable. - [ ] Tests cover flag validation + layout + output determinism. ## Out of Scope - Mutation (`push`) and schema-only validation (`validate`).
kerem 2026-02-26 21:33:56 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#188
No description provided.