mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 23:55:51 +03:00
[GH-ISSUE #593] feat: Add opt-in extensions system (asc ext) #166
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#166
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 17, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/593
Summary
Add an opt-in extension mechanism so teams can add custom commands without forking
asc.This should be designed with strong guardrails:
Why this matters
ascis already broad, but every team eventually wants a few custom workflows:A lightweight extension system avoids:
Current state (verified)
~/.asc/pluginsor similar convention exists.Proposed UX
Explicit extension entrypoint
Behavior:
asc-ext-<name>on PATH, or under~/.asc/ext/.Passing context
ASC_APP_ID,ASC_DEFAULT_OUTPUT, etc. (existing behavior)Output expectations
asc ext runshould optionally enforce JSON output:--expect-json(default true)Management helpers (optional)
Constraints / non-goals
asc <cmd>to plugins (too risky / surprising).Security notes
--sandbox/--allow-networkmodel only if ever needed (probably out of scope).Implementation notes
internal/cli/ext/.exec.CommandContext.Test plan (TDD-first)
ext runerrors clearly when extension missingext runexecutes a fixture script and captures output--expect-jsonrejects non-JSON outputAcceptance criteria
asc ext runexists and is self-documenting.make testpasses.@rudrankriyam commented on GitHub (Feb 20, 2026):
Closing this for now. The current workflow system already covers our immediate single-app use case, and we can revisit an opt-in extensions system later if there is clear demand from users/teams.