feat(setup): platform-aware wizard with smart workflow pre-seeding and macOS-only skip#281
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
73b4ceb to
e12b50a
Compare
Introduce platform selection to the setup wizard, recommend workflows per platform, and avoid prompting for a simulator when macOS is the only platform selected. Add helpers and constants (SetupPlatform, PLATFORM_WORKFLOWS, PLATFORM_OPTIONS, infer/derive/filter helpers), a multi-select platform prompt, and make the setup flow platform-aware (seed workflow defaults, filter simulators, preserve platform in sessionDefaults). Add selectionToMcpConfigJson() and a --format mcp-json option to print a ready-to-paste MCP client config JSON block (runSetupWizard supports 'mcp-json' early-exit). Update tests (createPlatformPrompter and four platform-aware cases) and CHANGELOG.md to document the new behavior.
e12b50a to
48129b4
Compare
|
This PR has been inactive for 21 days. It will be closed in 7 days if no further activity occurs. Add a comment to keep it open, or apply the |
|
Hi @ichoosetoaccept — thanks for this PR and for kicking off the platform-aware wizard work. We're closing this in favor of a replacement PR from a branch on Your original commit is preserved as the base of the new branch (authorship intact). On top of it we made the following changes during review:
Replacement PR: #365 Closing this one to consolidate review there. |

Closes #280
Builds on the env var session defaults and
--format mcp-jsonfoundation landed in #272 to add the platform-aware wizard described in #269.What this adds
New
selectPlatformsstep — the first substantive wizard prompt asks which platforms the project targets (macOS, iOS, tvOS, watchOS, visionOS) via multi-select. Previous choices are recovered on re-run fromsessionDefaults.platform,sessionDefaults.simulatorPlatform, or the existing workflow set viainferPlatformsFromExisting.PLATFORM_WORKFLOWSmapping — each platform maps to its recommended workflow set. The workflow selection prompt is pre-seeded with the union of recommended workflows for all selected platforms. Users can still freely adjust.macOS-only guard — when macOS is the only selected platform, both the simulator selection prompt and the device selection prompt are skipped entirely (
isMacOsOnlyguard incollectSetupSelection). StalesimulatorId,simulatorName, anddeviceIdsession defaults are cleaned up from config on save.platformsession default — for single-platform selections,derivePlatformSessionDefaultwritesplatformtosessionDefaultsinconfig.yaml. For multi-platform the key is omitted and any existingplatformvalue is deleted.--format mcp-jsonincludesXCODEBUILDMCP_PLATFORM— when a single platform is selected,XCODEBUILDMCP_PLATFORMis included in the output env block.Changes
src/cli/commands/setup.ts— platform selection,PLATFORM_WORKFLOWS,inferPlatformsFromExisting,filterSimulatorsByPlatforms,derivePlatformSessionDefault, macOS-only guards, mcp-json platform outputsrc/cli/commands/__tests__/setup.test.ts— tests for macOS-only skip, platform env var in mcp-json output, multi-platform handling, platform inference from existing configCHANGELOG.md— new entries under[Unreleased]