تخطَّ إلى المحتوى

نظام سوق الإضافات

يتيح لك نظام السوق اكتشاف وتثبيت وإدارة الإضافات من كتالوجات مستضافة على Git. وهو متوافق مع تنسيق سجل إضافات Claude Code.

/marketplace add anthropics/f5-sales-demo-marketplace
/marketplace install wordpress.com@f5-sales-demo-marketplace

أو اكتب /marketplace بدون أي معاملات لفتح متصفح الإضافات التفاعلي.

السوق هو مستودع Git (أو مجلد محلي) يحتوي على ملف كتالوج في المسار .xcsh-plugin/marketplace.json. يسرد الكتالوج الإضافات المتاحة مع مصادرها وأوصافها وبياناتها الوصفية.

الإضافة هي مجلد يحتوي على مهارات أو أوامر أو خطافات (hooks) أو خوادم MCP أو خوادم LSP. يتم تعريف الإضافات بصيغة name@marketplace (مثل code-review@f5-sales-demo-marketplace).

النطاقات: يمكن تثبيت الإضافات على نطاقين:

  • المستخدم (الافتراضي) — متاحة في جميع المشاريع، تُخزَّن في ~/.xcsh/plugins/installed_plugins.json
  • المشروع — متاحة فقط في المشروع الحالي، تُخزَّن في .xcsh/installed_plugins.json

تثبيتات نطاق المشروع تتجاوز تثبيتات نطاق المستخدم للإضافة نفسها.

الأمرالتأثير
/marketplaceفتح متصفح الإضافات التفاعلي (تثبيت)
الأمرالتأثير
/marketplace add <source>إضافة مصدر سوق
/marketplace remove <name>إزالة سوق
/marketplace update [name]إعادة جلب الكتالوج(ات)؛ احذف الاسم لتحديث الكل
/marketplace listعرض الأسواق المُعدّة
الأمرالتأثير
/marketplace discover [marketplace]تصفح الإضافات المتاحة
/marketplace install [--force] [--scope user|project] name@marketplaceتثبيت إضافة
/marketplace uninstall [--scope user|project] name@marketplaceإلغاء تثبيت إضافة
/marketplace installedعرض الإضافات المثبتة من السوق
/marketplace upgrade [--scope user|project] [name@marketplace]ترقية إضافة واحدة أو جميع الإضافات

المكافئات في سطر الأوامر

Section titled “المكافئات في سطر الأوامر”

نفس العمليات متاحة من سطر الأوامر:

xcsh plugin marketplace add <source>
xcsh plugin marketplace remove <name>
xcsh plugin marketplace update [name]
xcsh plugin marketplace list
xcsh plugin discover [marketplace]
xcsh plugin install --scope project name@marketplace

عند تشغيل /marketplace add <source>، يصنّف النظام المصدر:

صيغة المصدرالنوعمثال
owner/repoاختصار GitHubanthropics/f5-sales-demo-marketplace
https://...*.jsonرابط كتالوج مباشرhttps://example.com/marketplace.json
https://...*.git أو git@...مستودع Githttps://github.com/org/repo.git
./path أو ~/path أو /pathمجلد محلي./my-marketplace

يقوم النظام باستنساخ المستودع (أو قراءة المجلد المحلي)، وتحديد موقع .xcsh-plugin/marketplace.json، والتحقق من صحته، وتخزين الكتالوج محلياً في ذاكرة التخزين المؤقت.

صيغة الكتالوج (marketplace.json)

Section titled “صيغة الكتالوج (marketplace.json)”

يوجد كتالوج السوق في .xcsh-plugin/marketplace.json في جذر المستودع:

{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "my-marketplace",
"owner": {
"name": "Your Name",
"email": "you@example.com"
},
"description": "A collection of plugins",
"plugins": [
{
"name": "my-plugin",
"description": "What this plugin does",
"source": "./plugins/my-plugin",
"category": "development",
"homepage": "https://github.com/you/my-plugin"
}
]
}
الحقلالوصف
nameاسم السوق. أحرف صغيرة أبجدية رقمية، شرطات، ونقاط. يجب أن يبدأ وينتهي بحرف أبجدي رقمي. بحد أقصى 64 حرفاً.
owner.nameاسم مالك السوق
pluginsمصفوفة من إدخالات الإضافات
الحقلمطلوبالوصف
nameنعماسم الإضافة (نفس قواعد اسم السوق)
sourceنعممكان العثور على الإضافة (انظر أدناه)
descriptionلاوصف مختصر
versionلاسلسلة الإصدار
authorلا{ name, email? }
homepageلارابط URL
categoryلاسلسلة التصنيف (مثل development، productivity، security)
tagsلامصفوفة من الوسوم النصية
strictلاقيمة منطقية
commandsلاأوامر الشرطة المائلة المُقدَّمة
agentsلاالوكلاء المُقدَّمون
hooksلاتعريفات الخطافات
mcpServersلاتعريفات خوادم MCP
lspServersلاتعريفات خوادم LSP

يدعم حقل source عدة صيغ:

مسار نسبي (داخل مستودع السوق):

"source": "./plugins/my-plugin"

رابط مستودع Git:

"source": {
"source": "url",
"url": "https://github.com/org/repo.git",
"sha": "abc123..."
}

اختصار GitHub:

"source": {
"source": "github",
"repo": "org/repo",
"ref": "main",
"sha": "abc123..."
}

مجلد فرعي في Git (مستودع أحادي):

"source": {
"source": "git-subdir",
"url": "https://github.com/org/monorepo.git",
"path": "plugins/my-plugin",
"ref": "main",
"sha": "abc123..."
}

حزمة npm:

"source": {
"source": "npm",
"package": "@scope/my-plugin",
"version": "1.0.0"
}
~/.xcsh/
config/
marketplaces.json # سجل الأسواق المُضافة
plugins/
installed_plugins.json # الإضافات المثبتة على نطاق المستخدم
cache/
marketplaces/ # كتالوجات السوق المخزنة مؤقتاً
plugins/ # مجلدات الإضافات المخزنة مؤقتاً
<project>/.xcsh/
installed_plugins.json # الإضافات المثبتة على نطاق المشروع

يجب أن تكون أسماء الأسواق والإضافات:

  • تبدأ وتنتهي بحرف صغير أو رقم
  • تحتوي فقط على أحرف صغيرة وأرقام وشرطات ونقاط
  • بحد أقصى 64 حرفاً

يجب ألا تتجاوز معرّفات الإضافات (name@marketplace) 128 حرفاً إجمالاً.

أمثلة صحيحة: my-plugin، code-review، wordpress.com، ai-firstify أمثلة غير صحيحة: -bad، bad-، .bad، Bad، under_score