Skip to content

Commit 5d34c5a

Browse files
committed
fix(cli): replace skill installer script with init command
1 parent fc5a184 commit 5d34c5a

14 files changed

Lines changed: 739 additions & 365 deletions

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
### Added
6+
7+
- Added `xcodebuildmcp init` CLI command to install agent skills, replacing the standalone `install-skill.sh` script. Supports auto-detection of AI clients (Claude Code, Cursor, Codex), `--print` for unsupported clients, and `--uninstall` for removal.
8+
59
### Changed
610

711
- Changed MCP `xcode-ide` integration to expose manifest-managed gateway tools (`xcode_ide_list_tools`, `xcode_ide_call_tool`) while keeping CLI dynamic `xcode_tools_*` behavior unchanged ([#210](https://github.com/getsentry/XcodeBuildMCP/issues/210))
@@ -12,6 +16,10 @@
1216
- Removed startup dependency on handshake-time Xcode bridge `tools/list` sync for MCP tool registration, preventing bridge list latency from delaying initial connect ([#210](https://github.com/getsentry/XcodeBuildMCP/issues/210))
1317
- Fixed Sentry telemetry scope to capture only internal XcodeBuildMCP runtime failures, removing broad MCP wrapping, PII-heavy tags, and default per-error log capture ([#204](https://github.com/getsentry/XcodeBuildMCP/issues/204))
1418

19+
### Removed
20+
21+
- Removed `scripts/install-skill.sh` in favour of `xcodebuildmcp init`.
22+
1523
## [2.0.7]
1624

1725
### Changed

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,13 +300,19 @@ XcodeBuildMCP now includes two optional agent skills:
300300
- **CLI Skill**: Primes the agent with instructions on how to navigate the CLI (recommended when using the CLI).
301301

302302

303-
To install, copy and paste the command below into a terminal and follow the on-screen instructions.
303+
To install with a global binary:
304304

305305
```bash
306-
curl -fsSL https://raw.githubusercontent.com/getsentry/XcodeBuildMCP/v2.0.7/scripts/install-skill.sh -o install-skill.sh && bash install-skill.sh
306+
xcodebuildmcp init
307307
```
308308

309-
For further information on how to install the skill, see: [docs/SKILLS.md](docs/SKILLS.md)
309+
Or install directly via npx without a global install:
310+
311+
```bash
312+
npx -y xcodebuildmcp@latest init
313+
```
314+
315+
For further information on installing skills, see: [docs/SKILLS.md](docs/SKILLS.md)
310316

311317
## Notes
312318

docs/MIGRATION_V2.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,10 +229,16 @@ v2.0.0 introduces optional skill files that prime your coding agent with usage i
229229
- **CLI Skill** -- strongly recommended when using the CLI with a coding agent.
230230
- **MCP Skill** -- optional when using the MCP server; gives the agent better context on available tools.
231231

232-
Install via the interactive installer:
232+
Install via the built-in CLI command:
233233

234234
```bash
235-
curl -fsSL https://raw.githubusercontent.com/getsentry/XcodeBuildMCP/v2.0.0/scripts/install-skill.sh -o install-skill.sh && bash install-skill.sh
235+
xcodebuildmcp init
236+
```
237+
238+
Or run it via npx without a global install:
239+
240+
```bash
241+
npx -y xcodebuildmcp@latest init
236242
```
237243

238244
See [SKILLS.md](SKILLS.md) for more details.

docs/SKILLS.md

Lines changed: 17 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,40 @@
11
# XcodeBuildMCP Skill
22

3-
XcodeBuildMCP now includes two optional agent skills:
3+
XcodeBuildMCP includes two optional agent skills:
44

55
- **MCP Skill**: Primes the agent with instructions on how to use the MCP server's tools (optional when using the MCP server).
66

77
- **CLI Skill**: Primes the agent with instructions on how to navigate the CLI (recommended when using the CLI).
88

9-
## Easiest way to install
10-
11-
Install via the interactive installer and follow the on-screen instructions.
9+
## Install
1210

1311
```bash
14-
curl -fsSL https://raw.githubusercontent.com/getsentry/XcodeBuildMCP/v2.0.7/scripts/install-skill.sh -o install-skill.sh && bash install-skill.sh
12+
xcodebuildmcp init
1513
```
1614

17-
## Automated installation
18-
19-
Useful for CI/CD pipelines or for agentic installation. `--skill` should be set to either `mcp` or `cli` to install the appropriate skill.
15+
This auto-detects installed AI clients (Claude Code, Cursor, Codex) and installs the CLI skill.
2016

21-
### Install (Claude Code)
17+
### Options
2218

2319
```bash
24-
curl -fsSL https://raw.githubusercontent.com/getsentry/XcodeBuildMCP/v2.0.7/scripts/install-skill.sh -o install-skill.sh && bash install-skill.sh --claude --remove-conflict --skill <mcp|cli>
20+
xcodebuildmcp init --skill cli # Install CLI skill (default)
21+
xcodebuildmcp init --skill mcp # Install MCP skill
22+
xcodebuildmcp init --client claude # Install to Claude only
23+
xcodebuildmcp init --dest /path/to/dir # Install to custom directory
24+
xcodebuildmcp init --force # Overwrite existing
25+
xcodebuildmcp init --remove-conflict # Auto-remove conflicting variant
26+
xcodebuildmcp init --uninstall # Remove installed skill
2527
```
2628

27-
### Install (Cursor)
29+
## Unsupported Clients
2830

29-
```bash
30-
curl -fsSL https://raw.githubusercontent.com/getsentry/XcodeBuildMCP/v2.0.7/scripts/install-skill.sh -o install-skill.sh && bash install-skill.sh --cursor --remove-conflict --skill <mcp|cli>
31-
```
32-
33-
### Install (Codex CLI)
31+
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:
3432

3533
```bash
36-
curl -fsSL https://raw.githubusercontent.com/getsentry/XcodeBuildMCP/v2.0.7/scripts/install-skill.sh -o install-skill.sh && bash install-skill.sh --codex --remove-conflict --skill <mcp|cli>
34+
xcodebuildmcp init --print
35+
xcodebuildmcp init --print --skill mcp > my-skill.md
3736
```
3837

39-
### Install (Other Clients)
40-
41-
For other clients if you know the path to the skills directory you can pass the `--dest` flag.
42-
43-
```bash
44-
curl -fsSL https://raw.githubusercontent.com/getsentry/XcodeBuildMCP/v2.0.7/scripts/install-skill.sh -o install-skill.sh && bash install-skill.sh --dest /path/to/skills --remove-conflict --skill <mcp|cli>
45-
```
46-
47-
## Unsupporting Clients
48-
49-
Some MCP clients that do not yet support skills. Use the skill content as a concise, static instruction prompt:
50-
51-
1. Open `skills/xcodebuildmcp[-cli]/SKILL.md`.
52-
2. Copy the body (everything below the YAML frontmatter).
53-
3. Paste it into the client’s global or project-level instructions/rules area.
54-
5538
## Skills
5639

57-
To learn more about skills see: [https://agentskills.io/home](https://agentskills.io/home).
40+
To learn more about skills see: [https://agentskills.io/home](https://agentskills.io/home).

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@
4747
"build",
4848
"bundled",
4949
"plugins",
50-
"manifests"
50+
"manifests",
51+
"skills"
5152
],
5253
"keywords": [
5354
"xcodebuild",

scripts/check-docs-cli-commands.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ function extractCommandCandidates(content) {
125125
}
126126

127127
function findInvalidCommands(files, validPairs, validWorkflows) {
128-
const validTopLevel = new Set(['mcp', 'tools', 'daemon']);
128+
const validTopLevel = new Set(['mcp', 'tools', 'daemon', 'init']);
129129
const validDaemonActions = new Set(['status', 'start', 'stop', 'restart', 'list']);
130130
const findings = [];
131131

0 commit comments

Comments
 (0)