mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 15:45:48 +03:00
[PR #510] [MERGED] feat(shots): add Koubou framing and screenshot review workflow #583
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#583
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?
📋 Pull Request Information
Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/510
Author: @rudrankriyam
Created: 2/13/2026
Status: ✅ Merged
Merged: 2/14/2026
Merged by: @rudrankriyam
Base:
main← Head:feat/shots-capture-mvp📝 Commits (10+)
1efc944feat(shots): add asc shots capture with maestro and simctl providersda514d5feat(shots): switch to AXe workflows and add framingcd0daacfeat(shots): add frame device discovery commande460bf9feat(shots): normalize framed images to upload sizes5b7f310Use shared screenshots provider constant (#512)857a127feat(shots): switch framing to Koubou and add review workflowf71700cFix shots bundle-id capture targeting and run override orderinga496a19Fix shots frame/review config metadata and cleanup bugs644219fFix shots run relaunch and koubou stderr JSON parsing98b5d00Fix shots frame config filename device and remove dead exports (#516)📊 Changes
40 files changed (+6095 additions, -0 deletions)
View changed files
📝
.gitignore(+3 -0)📝
ASC.md(+1 -0)📝
go.mod(+1 -0)📝
go.sum(+2 -0)➕
internal/cli/cmdtest/shots_capture_test.go(+134 -0)➕
internal/cli/cmdtest/shots_frame_test.go(+449 -0)➕
internal/cli/cmdtest/shots_frames_list_devices_test.go(+69 -0)➕
internal/cli/cmdtest/shots_review_generate_test.go(+155 -0)➕
internal/cli/cmdtest/shots_review_open_approve_test.go(+215 -0)➕
internal/cli/cmdtest/shots_run_test.go(+155 -0)📝
internal/cli/docs/templates/ASC.md(+1 -0)📝
internal/cli/registry/registry.go(+2 -0)➕
internal/cli/shots/shots.go(+46 -0)➕
internal/cli/shots/shots_capture.go(+84 -0)➕
internal/cli/shots/shots_frame.go(+167 -0)➕
internal/cli/shots/shots_frame_test.go(+44 -0)➕
internal/cli/shots/shots_frames.go(+31 -0)➕
internal/cli/shots/shots_frames_list_devices.go(+37 -0)➕
internal/cli/shots/shots_review.go(+35 -0)➕
internal/cli/shots/shots_review_approve.go(+68 -0)...and 20 more files
📄 Description
Summary
asc shotsworkflow on this branch:shots captureshots runshots frameshots frames list-devicesshots review generate|open|approveshots frameexecution to a Koubou YAML pipeline (kou generate) while preserving existing CLI ergonomics (--input,--device, and new--configsupport)manifest.jsonfor structured checks (status/size/approval)index.htmlfor side-by-side visual reviewapproved.jsonmanagement throughshots review approveshots captureby launching the requested app before screenshot captureshots runoverride ordering so--bundle-idcan satisfy plans that omitapp.bundle_idshots runexternal command output handling so JSON parsing reads stdout cleanly and still includes stderr details on failuresscreenshots.ProviderAXe) from merged follow-upIncluded file scope
internal/cli/shots/*(review commands + frame/capture/run updates)internal/cli/cmdtest/*shots*(capture/run/frame/review coverage)internal/screenshots/*(capture/plan/run/frame/review logic and tests)internal/cli/registry/registry.go,ASC.md,internal/cli/docs/templates/ASC.md,.gitignore)Test plan
go test ./internal/screenshotsgo test ./internal/cli/cmdtest -run "TestShotsReviewGenerate|TestShotsReviewOpen|TestShotsReviewApprove|TestShotsRun|TestShotsFrame|TestShotsFramesListDevices"go test ./internal/cli/shotsgo build -o /tmp/asc ./tmp/asc shots review generate .../tmp/asc shots review open --dry-run .../tmp/asc shots review approve --all-ready ...Notes
shots framerequireskouinstalled (pip install koubouorbrew install bitomule/tap/koubou).asc assets screenshots upload --path ... --device-type ....🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.