mas-cli / mas-cli/mas

Improve automation: avoid opening GUI dialogs

Open
#70 12 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature investigation
Dominant language
Swift
Stars
12.4k
Forks
299
Avg merge
1d 2h
Merged PRs (30d)
1

Description

I'm running mas over ssh to several machines to automate install of mas apps. Different machines may be signed into different mas accounts, and the apps each one has purchased may be different.

Currently attempting to install an app that's not "purchased" blocks the mas tool. Also not being logged in blocks the tool. Blocks in the sense a dialog would normally pop up when running locally on the machine, but remotely over ssh there is no way to interact with dialog boxes popped up by the Apple MAS app.

The following, which may or may not be possible, would make proper automation possible:

  • A command to have mas list all purchased (available apps) for the logged in user account
  • mas should return an error and quit if an app is not available (not purchased)
  • mas should return an error and quit if user is not logged into the store yet

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing mas app installation over SSH on accounts that are logged out or lack an app purchase, and trace the current noninteractive behavior. Done means mas can list purchased apps and returns an error instead of blocking when the user is logged out or an app is unavailable.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, swift
Domain
cli, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.