Skip to content

Conversation

@cameroncooke
Copy link
Collaborator

@cameroncooke cameroncooke commented Feb 11, 2026

Add namespaced session defaults profiles so one session can switch cleanly between iOS, watchOS, and other target setups without rewriting global defaults each time.

Session defaults were previously effectively global per session, which caused friction in monorepos and multi-target projects. This change keeps the existing global behavior fully backward compatible while adding profile-scoped defaults and an explicit active profile.

The change adds sessionDefaultsProfiles and activeSessionDefaultsProfile support in config/schema resolution, introduces session_use_defaults_profile (including optional persistence to config), and wires profile-aware behavior through runtime bootstrap and Xcode defaults sync paths. It also updates docs with full config examples and startup flow guidance, and adds coverage for profile selection and persistence behavior in unit/integration tests.

I considered replacing sessionDefaults entirely with profile-only config, but kept both so existing setups continue to work unchanged and users can adopt named profiles incrementally.

Add profile-aware session defaults so agents can switch between global and named defaults in multi-target projects. Keep existing global defaults behavior fully backward compatible while enabling per-profile persistence in project config.

Add session_use_defaults_profile, config schema support, runtime/bootstrap wiring, docs updates, and tests for profile activation and persistence behavior.

Co-Authored-By: Claude <noreply@anthropic.com>
@pkg-pr-new
Copy link

pkg-pr-new bot commented Feb 11, 2026

Open in StackBlitz

npm i https://pkg.pr.new/getsentry/XcodeBuildMCP/xcodebuildmcp@215

commit: cf31e10

@cameroncooke cameroncooke marked this pull request as ready for review February 12, 2026 11:16
Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

description: Select the active session defaults profile for multi-target workflows.
annotations:
title: Use Session Defaults Profile
readOnlyHint: true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

State-modifying tool incorrectly annotated as read-only

High Severity

The session_use_defaults_profile manifest declares readOnlyHint: true, but the tool mutates session state via sessionStore.setActiveProfile and can write to the config file on disk when persist: true. The sibling tools session_set_defaults and session_clear_defaults correctly use destructiveHint: true for the same reason. MCP clients rely on readOnlyHint to decide whether a tool can be auto-approved without user confirmation, so this annotation could allow silent, unconfirmed state and filesystem changes.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant