-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtechpack.yaml
More file actions
122 lines (109 loc) · 4.57 KB
/
techpack.yaml
File metadata and controls
122 lines (109 loc) · 4.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
schemaVersion: 1
identifier: ios
displayName: "iOS Development"
description: Xcode integration, simulator management, and Apple documentation for Claude Code
author: Bruno Guidolim
minMCSVersion: "2026.3.6"
# ---------------------------------------------------------------------------
# Prompts — resolved interactively during `mcs configure`
# ---------------------------------------------------------------------------
prompts:
- key: PROJECT
type: fileDetect
label: "Xcode project / workspace"
detectPattern:
- "*.xcodeproj"
- "*.xcworkspace"
# ---------------------------------------------------------------------------
# Components (short IDs — auto-prefixed by engine with `mcs-ios-pack.`)
# ---------------------------------------------------------------------------
components:
# ── Dependencies ────────────────────────────────────────────────────────
- id: homebrew
displayName: Homebrew
description: macOS package manager
type: brewPackage
shell: '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"'
doctorChecks:
- type: commandExists
name: Homebrew
section: Dependencies
command: brew
- id: node
displayName: Node.js
description: JavaScript runtime (for npx-based MCP servers)
dependencies: [homebrew]
brew: node
- id: jq
description: JSON processor (used by simulator hook)
dependencies: [homebrew]
brew: jq
# ── MCP Servers ─────────────────────────────────────────────────────────
- id: xcodebuildmcp
displayName: XcodeBuildMCP
description: MCP server for Xcode build, test, and simulator workflows
dependencies: [node]
mcp:
name: XcodeBuildMCP
command: npx
args:
- "-y"
- "xcodebuildmcp@latest"
- "mcp"
env:
XCODEBUILDMCP_SENTRY_DISABLED: "1"
- id: sosumi
displayName: Sosumi
description: Apple documentation search via MCP (HTTP transport)
mcp:
url: https://sosumi.ai/mcp
# ── Skills ──────────────────────────────────────────────────────────────
- id: skill-xcodebuildmcp
displayName: xcodebuildmcp skill
description: Loads XcodeBuildMCP tool catalog and workflow guidance
type: skill
dependencies: [xcodebuildmcp]
shell: "npx -y skills add cameroncooke/xcodebuildmcp -g -a claude-code -y"
# ── Hooks ───────────────────────────────────────────────────────────────
- id: hook-ios-simulator
displayName: iOS simulator status hook
description: Reports booted iOS simulator UUID on session start
dependencies: [jq]
hookEvent: SessionStart
hook:
source: hooks/ios-simulator-status.sh
destination: ios-simulator-status.sh
# ── Configuration ───────────────────────────────────────────────────────
- id: gitignore
displayName: Gitignore
description: Ignores XcodeBuildMCP config directory
isRequired: true
gitignore:
- .xcodebuildmcp
# ---------------------------------------------------------------------------
# Templates — CLAUDE.local.md sections
# ---------------------------------------------------------------------------
templates:
- sectionIdentifier: ios
contentFile: templates/ios.md
- sectionIdentifier: xcodebuildmcp
placeholders:
- __PROJECT__
contentFile: templates/xcodebuildmcp.md
dependencies:
- xcodebuildmcp
# ---------------------------------------------------------------------------
# Configure project script — runs during `mcs configure`
# ---------------------------------------------------------------------------
configureProject:
script: scripts/configure-xcode.sh
# ---------------------------------------------------------------------------
# Supplementary doctor checks
# ---------------------------------------------------------------------------
supplementaryDoctorChecks:
- type: commandExists
name: Xcode Command Line Tools
section: iOS
command: xcode-select
args: ["-p"]
fixCommand: "xcode-select --install"