إرشادات لاستخدام أدوات Xcode MCP بكفاءة، توضّح متى تستخدمها ومتى تفضّل الأدوات القياسية. لأنها تستهلك رموزًا كثيرة، استخدمها فقط للبناء والاختبارات والمحاكي والمعاينات وتشخيصات SourceKit، ولا تستخدمها لقراءة/كتابة الملفات أو grep.
من نص البرومبت
---
name: xcode-mcp
description: إرشادات لاستخدام أدوات Xcode MCP بكفاءة، توضّح متى تستخدمها ومتى تفضّل الأدوات القياسية. لأنها تستهلك رموزًا كثيرة، استخدمها فقط للبناء والاختبارات والمحاكي والمعاينات وتشخيصات SourceKit، ولا تستخدمها لقراءة/كتابة الملفات أو grep.
---
# إرشادات استخدام Xcode MCP
تستهلك أدوات Xcode MCP عددًا كبيرًا من الرموز (tokens). توضّح هذه المهارة متى تستخدم Xcode MCP ومتى يكون الأفضل الاعتماد على الأدوات القياسية.
## مرجع كامل لأدوات Xcode MCP
### إدارة النوافذ والمشروع
| الأداة | الوصف | تكلفة الرموز |
|------|-------------|------------|
| `mcp__xcode__XcodeListWindows` | يعرض نوافذ Xcode المفتوحة (للحصول على tabIdentifier) | منخفضة ✓ |
### عمليات البناء
| الأداة | الوصف | تكلفة الرموز |
|------|-------------|------------|
| `mcp__xcode__BuildProject` | يبني مشروع Xcode | متوسطة ✓ |
| `mcp__xcode__GetBuildLog` | يجلب سجل البناء مع الأخطاء والتحذيرات | متوسطة ✓ |
| `mcp__xcode__XcodeListNavigatorIssues` | يعرض المشاكل في Issue Navigator | منخفضة ✓ |
### الاختبارات
| الأداة | الوصف | تكلفة الرموز |
|------|-------------|------------|
| `mcp__xcode__GetTestList` | يجلب الاختبارات المتاحة من خطة الاختبار | منخفضة ✓ |
| `mcp__xcode__RunAllTests` | يشغّل جميع الاختبارات | متوسطة |
| `mcp__xcode__RunSomeTests` | يشغّل اختبارات محددة (الخيار المفضّل) | متوسطة ✓ |
### المعاينة والتنفيذ
| الأداة | الوصف | تكلفة الرموز |
|------|-------------|------------|
| `mcp__xcode__RenderPreview` | يعرض لقطة لمعاينة SwiftUI | متوسطة ✓ |
| `mcp__xcode__ExecuteSnippet` | ينفّذ مقطع كود ضمن سياق ملف | متوسطة ✓ |
### التشخيصات
| الأداة | الوصف | تكلفة الرموز |
|------|-------------|------------|
| `mcp__xcode__XcodeRefreshCodeIssuesInFile` | يجلب تشخيصات المترجم لملف محدد | منخفضة ✓ |
| `mcp__ide__getDiagnostics` | يجلب تشخيصات SourceKit (لكل الملفات المفتوحة) | منخفضة ✓ |
### التوثيق
| الأداة | الوصف | تكلفة الرموز |
|------|-------------|------------|
| `mcp__xcode__DocumentationSearch` | يبحث في توثيق Apple Developer | منخفضة ✓ |
### عمليات الملفات (استهلاك عالٍ للرموز - لا تستخدمها أبدًا)
| الأداة | البديل | السبب |
|------|-------------|-----|
| `mcp__xcode__XcodeRead` | أداة `Read` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeWrite` | أداة `Write` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeUpdate` | أداة `Edit` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeGrep` | أداة `rg` / `Grep` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeGlob` | أداة `Glob` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeLS` | أمر `ls` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeRM` | أمر `rm` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeMakeDir` | أمر `mkdir` | استهلاك عالٍ للرموز |
| `mcp__xcode__XcodeMV` | أمر `mv` | استهلاك عالٍ للرموز |
---
## مسارات العمل الموصى بها
### 1. مسار تعديل الكود والبناء
```
1. البحث في الكود → rg "pattern" --type swift
2. قراءة الملف → أداة Read
3. تعديل الملف → أداة Edit
4. فحص صحة الكود → mcp__ide__getDiagnostics
5. البناء → mcp__xcode__BuildProject
6. مراجعة الأخطاء → mcp__xcode__GetBuildLog (إذا فشل البناء)
```
### 2. مسار كتابة الاختبارات وتشغيلها
```
1. قراءة ملف الاختبار → أداة Read
2. كتابة/تعديل الاختبار → أداة Edit
3. جلب قائمة الاختبارات → mcp__xcode__GetTestList
4. تشغيل الاختبارات → mcp__xcode__RunSomeTests (اختبارات محددة)
5. مراجعة النتائج → راجع مخرجات الاختبار
```
### 3. مسار SwiftUI Preview
```
1. تعديل الواجهة → أداة Edit
2. عرض المعاينة → mcp__xcode__RenderPreview
3. التكرار والتحسين → كرّر حسب الحاجة
```
### 4. مسار التصحيح
```
1. فحص التشخيصات → mcp__ide__getDiagnostics (فحص سريع لصحة الكود)
2. بناء المشروع → mcp__xcode__BuildProject
3. جلب سجل البناء → mcp__xcode__GetBuildLog (severity: error)
4. إصلاح المشاكل → أداة Edit
5. إعادة البناء → mcp__xcode__BuildProject
```
### 5. البحث في التوثيق
```
1. البحث في التوثيق → mcp__xcode__DocumentationSearch
2. مراجعة النتائج → استخدم المعلومات في التنفيذ
```
---
## أوامر بديلة عند عدم توفر MCP
إذا كان Xcode MCP غير متصل أو غير متاح، استخدم أوامر xcodebuild التالية:
### أوامر البناء
```bash
# بناء Debug (للمحاكي) - استبدل <SchemeName> بمخطط مشروعك
xcodebuild -scheme <SchemeName> -configuration Debug -sdk iphonesimulator build
# بناء Release (للجهاز)
xcodebuild -scheme <SchemeName> -configuration Release -sdk iphoneos build
# البناء باستخدام workspace (لمشاريع CocoaPods)
xcodebuild -workspace <ProjectName>.xcworkspace -scheme <SchemeName> -configuration Debug -sdk iphonesimulator build
# البناء باستخدام ملف المشروع
xcodebuild -project <ProjectName>.xcodeproj -scheme <SchemeName> -configuration Debug -sdk iphonesimulator build
# عرض المخططات المتاحة
xcodebuild -list
```
### أوامر الاختبار
```bash
# تشغيل جميع الاختبارات
xcodebuild test -scheme <SchemeName> -sdk iphonesimulator \
-destination "platform=iOS Simulator,name=iPhone 16" \
-configuration Debug
# تشغيل كلاس اختبار محدد
xcodebuild test -scheme <SchemeName> -sdk iphonesimulator \
-destination "platform=iOS Simulator,name=iPhone 16" \
-only-testing:<TestTarget>/<TestClassName>
# تشغيل ميثود اختبار محددة
xcodebuild test -scheme <SchemeName> -sdk iphonesimulator \
-destination "platform=iOS Simulator,name=iPhone 16" \
-only-testing:<TestTarget>/<TestClassName>/<testMethodName>
# التشغيل مع تغطية الكود
xcodebuild test -scheme <SchemeName> -sdk iphonesimulator \
-configuration Debug -enableCodeCoverage YES
# عرض المحاكيات المتاحة
xcrun simctl list devices available
```
### تنظيف البناء
```bash
xcodebuild clean -scheme <SchemeName>
```
---
## مرجع سريع
### استخدم Xcode MCP مع:
- ✅ `BuildProject` - البناء
- ✅ `GetBuildLog` - أخطاء البناء
- ✅ `RunSomeTests` - تشغيل اختبارات محددة
- ✅ `GetTestList` - عرض قائمة الاختبارات
- ✅ `RenderPreview` - معاينات SwiftUI
- ✅ `ExecuteSnippet` - تنفيذ الكود
- ✅ `DocumentationSearch` - توثيق Apple
- ✅ `XcodeListWindows` - الحصول على tabIdentifier
- ✅ `mcp__ide__getDiagnostics` - أخطاء SourceKit
### لا تستخدم Xcode MCP أبدًا مع:
- ❌ `XcodeRead` → استخدم أداة `Read`
- ❌ `XcodeWrite` → استخدم أداة `Write`
- ❌ `XcodeUpdate` → استخدم أداة `Edit`
- ❌ `XcodeGrep` → استخدم أداة `rg` أو `Grep`
- ❌ `XcodeGlob` → استخدم أداة `Glob`
- ❌ `XcodeLS` → استخدم أمر `ls`
- ❌ عمليات الملفات → استخدم الأدوات القياسية
---
## ملخص كفاءة استهلاك الرموز
| العملية | الخيار الأفضل | أثر الرموز |
|-----------|-------------|--------------|
| فحص سريع لصحة الكود | `mcp__ide__getDiagnostics` | 🟢 منخفض |
| بناء كامل | `mcp__xcode__BuildProject` | 🟡 متوسط |
| تشغيل اختبارات محددة | `mcp__xcode__RunSomeTests` | 🟡 متوسط |
| تشغيل جميع الاختبارات | `mcp__xcode__RunAllTests` | 🟠 عالٍ |
| قراءة ملف | أداة `Read` | 🟠 عالٍ |
| تعديل ملف | أداة `Edit` | 🟠 عالٍ|
| البحث في الكود | `rg` / `Grep` | 🟢 منخفض |
| عرض الملفات | `ls` / `Glob` | 🟢 منخفض |