Skip to content

Commit 050c4b7

Browse files
authored
Merge branch 'main' into fix/stderr-warning-classification
2 parents 14eaf6e + 5c091c6 commit 050c4b7

63 files changed

Lines changed: 622 additions & 521 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ When reading issues:
1717
-
1818
## Tools
1919
- GitHub CLI for issues/PRs
20+
- When working on skill sources in `skills/`, use the `skill-creator` skill workflow.
21+
- After modifying any skill source, run `npx skill-check <skill-directory>` and address all errors/warnings before handoff.
2022
-
2123
## Style
2224
- Keep answers short and concise

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### Fixed
66

77
- Fixed stderr warnings (e.g. "multiple matching destinations") hiding actual test failures by prioritizing xcresult output when available ([#231](https://github.com/getsentry/XcodeBuildMCP/issues/231))
8+
- Fixed `swift_package_build`, `swift_package_test`, and `swift_package_clean` swallowing compiler diagnostics on failure by treating empty stderr as falsy, so stdout diagnostics are included in the error response ([#243](https://github.com/getsentry/XcodeBuildMCP/issues/243)).
89

910
## [2.1.0]
1011

@@ -79,7 +80,7 @@ enabledWorkflows:
7980
sessionDefaults:
8081
scheme: MyApp
8182
projectPath: ./MyApp.xcodeproj
82-
simulatorName: iPhone 16
83+
simulatorName: iPhone 17
8384
```
8485
8586
See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for the full reference.

config.example.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ sessionDefaults:
88
workspacePath: './MyApp.xcworkspace' # xor projectPath
99
scheme: 'MyApp'
1010
configuration: 'Debug'
11-
simulatorName: 'iPhone 16' # xor simulatorId
11+
simulatorName: 'iPhone 17' # xor simulatorId
1212
simulatorId: '<UUID>' # xor simulatorName
1313
deviceId: '<UUID>'
1414
useLatestOS: true

docs/CONFIGURATION.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ sessionDefaults:
4747
projectPath: "./MyApp.xcodeproj"
4848
scheme: "MyApp"
4949
configuration: "Debug"
50-
simulatorName: "iPhone 16"
50+
simulatorName: "iPhone 17"
5151
platform: "iOS"
5252
useLatestOS: true
5353
arch: "arm64"
@@ -104,7 +104,7 @@ sessionDefaults:
104104
projectPath: "./MyApp.xcodeproj"
105105
scheme: "MyApp"
106106
configuration: "Debug"
107-
simulatorName: "iPhone 16"
107+
simulatorName: "iPhone 17"
108108
```
109109

110110
### Setting defaults from an agent
@@ -119,7 +119,7 @@ Agents can call `session_set_defaults` at runtime. By default these are stored i
119119
| `workspacePath` | string | Path to `.xcworkspace` file. Takes precedence if both are set. |
120120
| `scheme` | string | Build scheme name. |
121121
| `configuration` | string | Build configuration (e.g., `Debug`, `Release`). |
122-
| `simulatorName` | string | Simulator name (e.g., `iPhone 16`). Mutually exclusive with `simulatorId`. |
122+
| `simulatorName` | string | Simulator name (e.g., `iPhone 17`). Mutually exclusive with `simulatorId`. |
123123
| `simulatorId` | string | Simulator UUID. Takes precedence if both are set. |
124124
| `deviceId` | string | Physical device UUID. |
125125
| `platform` | string | Target platform (e.g., `iOS`, `macOS`, `watchOS`, `tvOS`, `visionOS`). |

docs/SESSION_DEFAULTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Copy/paste this sequence when starting a new session:
4545
{"name":"session_set_defaults","arguments":{
4646
"workspacePath":"/repo/MyApp.xcworkspace",
4747
"scheme":"MyApp-iOS",
48-
"simulatorName":"iPhone 16 Pro",
48+
"simulatorName":"iPhone 17 Pro",
4949
"persist":true
5050
}}
5151
{"name":"session_show_defaults","arguments":{}}

docs/SKILLS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ xcodebuildmcp init --remove-conflict # Auto-remove conflicting variant
2626
xcodebuildmcp init --uninstall # Remove installed skill
2727
```
2828

29+
When installing `--skill mcp` in auto-detect mode, Claude Code targets are skipped because Claude already receives MCP guidance through server instructions. If you explicitly set `--client claude`, MCP skill installation is still allowed.
30+
2931
## Unsupported Clients
3032

3133
For clients without a skills directory, print the skill content and pipe it to a file or paste it into your client's instructions area:

docs/TOOLS-CLI.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ XcodeBuildMCP provides 73 canonical tools organized into 13 workflow groups.
1818

1919
- `build` - Build for device.
2020
- `clean` - Clean build products.
21-
- `discover-projects` - Scans a directory (defaults to workspace root) to find Xcode project (.xcodeproj) and workspace (.xcworkspace) files.
21+
- `discover-projects` - Scans a directory (defaults to workspace root) to find Xcode project (.xcodeproj) and workspace (.xcworkspace) files. Use when project/workspace path is unknown.
2222
- `get-app-bundle-id` - Extract bundle id from .app.
2323
- `get-app-path` - Get device built app path.
2424
- `install` - Install app on device.
@@ -38,7 +38,7 @@ XcodeBuildMCP provides 73 canonical tools organized into 13 workflow groups.
3838

3939
- `boot` - Defined in Simulator Management workflow.
4040
- `build` - Build for iOS sim (compile-only, no launch).
41-
- `build-and-run` - Build and run iOS sim (preferred for run/launch intent).
41+
- `build-and-run` - Build, install, and launch on iOS Simulator; boots simulator and attempts to open Simulator.app as needed. Preferred single-step run tool when defaults are set.
4242
- `clean` - Defined in iOS Device Development workflow.
4343
- `discover-projects` - Defined in iOS Device Development workflow.
4444
- `get-app-bundle-id` - Defined in iOS Device Development workflow.
@@ -130,10 +130,10 @@ XcodeBuildMCP provides 73 canonical tools organized into 13 workflow groups.
130130
### Simulator Management (`simulator-management`)
131131
**Purpose**: Tools for managing simulators from booting, opening simulators, listing simulators, stopping simulators, erasing simulator content and settings, and setting simulator environment options like location, network, statusbar and appearance. (8 tools)
132132

133-
- `boot` - Boot iOS simulator.
133+
- `boot` - Boot iOS simulator for manual/non-build flows. Not required before simulator build-and-run (build_run_sim).
134134
- `erase` - Erase simulator.
135135
- `list` - List iOS simulators.
136-
- `open` - Open Simulator app.
136+
- `open` - Open Simulator.app for visibility/manual workflows. Not required before simulator build-and-run (build_run_sim).
137137
- `reset-location` - Reset sim location.
138138
- `set-appearance` - Set sim appearance.
139139
- `set-location` - Set sim location.
@@ -189,4 +189,4 @@ XcodeBuildMCP provides 73 canonical tools organized into 13 workflow groups.
189189

190190
---
191191

192-
*This documentation is automatically generated by `scripts/update-tools-docs.ts` from the tools manifest. Last updated: 2026-02-22T18:16:55.247Z UTC*
192+
*This documentation is automatically generated by `scripts/update-tools-docs.ts` from the tools manifest. Last updated: 2026-02-28T20:48:25.650Z UTC*

docs/TOOLS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This document lists MCP tool names as exposed to MCP clients. XcodeBuildMCP prov
1616

1717
- `build_device` - Build for device.
1818
- `clean` - Clean build products.
19-
- `discover_projs` - Scans a directory (defaults to workspace root) to find Xcode project (.xcodeproj) and workspace (.xcworkspace) files.
19+
- `discover_projs` - Scans a directory (defaults to workspace root) to find Xcode project (.xcodeproj) and workspace (.xcworkspace) files. Use when project/workspace path is unknown.
2020
- `get_app_bundle_id` - Extract bundle id from .app.
2121
- `get_device_app_path` - Get device built app path.
2222
- `install_app_device` - Install app on device.
@@ -35,7 +35,7 @@ This document lists MCP tool names as exposed to MCP clients. XcodeBuildMCP prov
3535
**Purpose**: Complete iOS development workflow for both .xcodeproj and .xcworkspace files targeting simulators. (21 tools)
3636

3737
- `boot_sim` - Defined in Simulator Management workflow.
38-
- `build_run_sim` - Build and run iOS sim (preferred for run/launch intent).
38+
- `build_run_sim` - Build, install, and launch on iOS Simulator; boots simulator and attempts to open Simulator.app as needed. Preferred single-step run tool when defaults are set.
3939
- `build_sim` - Build for iOS sim (compile-only, no launch).
4040
- `clean` - Defined in iOS Device Development workflow.
4141
- `discover_projs` - Defined in iOS Device Development workflow.
@@ -130,7 +130,7 @@ This document lists MCP tool names as exposed to MCP clients. XcodeBuildMCP prov
130130

131131
- `session_clear_defaults` - Clear session defaults for the active profile or a specified profile.
132132
- `session_set_defaults` - Set session defaults for the active profile, or for a specified profile and make it active.
133-
- `session_show_defaults` - Show the current active defaults.
133+
- `session_show_defaults` - Show current active defaults. Required before your first build/run/test call in a session — do not assume defaults are configured.
134134
- `session_use_defaults_profile` - Switch the active session defaults profile.
135135
- `sync_xcode_defaults` - Sync session defaults (scheme, simulator) from Xcode's current IDE selection.
136136

@@ -139,10 +139,10 @@ This document lists MCP tool names as exposed to MCP clients. XcodeBuildMCP prov
139139
### Simulator Management (`simulator-management`)
140140
**Purpose**: Tools for managing simulators from booting, opening simulators, listing simulators, stopping simulators, erasing simulator content and settings, and setting simulator environment options like location, network, statusbar and appearance. (8 tools)
141141

142-
- `boot_sim` - Boot iOS simulator.
142+
- `boot_sim` - Boot iOS simulator for manual/non-build flows. Not required before simulator build-and-run (build_run_sim).
143143
- `erase_sims` - Erase simulator.
144144
- `list_sims` - List iOS simulators.
145-
- `open_sim` - Open Simulator app.
145+
- `open_sim` - Open Simulator.app for visibility/manual workflows. Not required before simulator build-and-run (build_run_sim).
146146
- `reset_sim_location` - Reset sim location.
147147
- `set_sim_appearance` - Set sim appearance.
148148
- `set_sim_location` - Set sim location.
@@ -205,4 +205,4 @@ This document lists MCP tool names as exposed to MCP clients. XcodeBuildMCP prov
205205

206206
---
207207

208-
*This documentation is automatically generated by `scripts/update-tools-docs.ts` from the tools manifest. Last updated: 2026-02-22T18:16:55.247Z UTC*
208+
*This documentation is automatically generated by `scripts/update-tools-docs.ts` from the tools manifest. Last updated: 2026-02-28T20:48:25.650Z UTC*
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# AGENTS.md
2+
3+
- If using XcodeBuildMCP, use the installed XcodeBuildMCP skill before calling XcodeBuildMCP tools.

manifests/tools/boot_sim.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module: mcp/tools/simulator/boot_sim
33
names:
44
mcp: boot_sim
55
cli: boot
6-
description: Boot iOS simulator.
6+
description: Boot iOS simulator for manual/non-build flows. Not required before simulator build-and-run (build_run_sim).
77
annotations:
88
title: Boot Simulator
99
destructiveHint: true

0 commit comments

Comments
 (0)