الأدوات المدعومة
ما هي أدوات الترميز بالذكاء الاصطناعي التي يدعمها OpenSpec، وبناء جملة الأوامر الخاصة بكل منها.
كل أداة في المصفوفة تشغّل نفس سير عمل OpenSpec. المهارة وأمرها هما نفس تعليمات سير العمل. الفرق الوحيد هو ما تكتبه. الشكل الذي يثبّته init هو إعداد التسليم، المشمول في إعداد مشروعك.
مصفوفة الدعم
تُعرض الاستدعاءات لسير عمل التطبيق (apply). كل سير عمل يتبع نفس الشكل. يُمرَّر المعرف إلى openspec init --tools <id> لتخطي المنتقي (CLI).
| الأداة | --tools id | المهارات | استدعاء المهارة | الأوامر | استدعاء الأمر |
|---|---|---|---|---|---|
| Amazon Q Developer | amazon-q | .amazonq/skills/ | /openspec-apply-change | .amazonq/prompts/ | @opsx-apply |
| Amp | amp | .agents/skills/ | /openspec-apply-change | none | none |
| Antigravity | antigravity | .agents/skills/ | /openspec-apply-change | .agents/workflows/ | /opsx-apply |
| AtomCode | atomcode | .atomcode/skills/ | /openspec-apply-change | .atomcode/commands/ | /opsx-apply |
| Auggie (Augment CLI) | auggie | .augment/skills/ | /openspec-apply-change | .augment/commands/ | /opsx-apply |
| IBM Bob | bob | .bob/skills/ | /openspec-apply-change | .bob/commands/ | /opsx-apply |
| Claude Code | claude | .claude/skills/ | /openspec-apply-change | .claude/commands/opsx/ | /opsx:apply |
| Cline | cline | .cline/skills/ | /openspec-apply-change | .clinerules/workflows/ | /opsx-apply |
| CodeArts | codeartsagent | .codeartsdoer/skills/ | /openspec-apply-change | none | none |
| CodeBuddy Code (CLI) | codebuddy | .codebuddy/skills/ | /openspec-apply-change | .codebuddy/commands/opsx/ | /opsx:apply |
| Code Studio | codestudio | .codestudio/skills/ | /openspec-apply-change | .codestudio/prompts/ | /opsx-apply |
| Codex | codex | .agents/skills/ | $openspec-apply-change | none | none |
| Continue | continue | .continue/skills/ | /openspec-apply-change | .continue/prompts/ | /opsx-apply |
| CoStrict | costrict | .cospec/skills/ | /openspec-apply-change | .cospec/openspec/commands/ | /opsx-apply |
| Crush | crush | .crush/skills/ | /openspec-apply-change | .crush/commands/opsx/ | /opsx:apply |
| Cursor | cursor | .cursor/skills/ | /openspec-apply-change | .cursor/commands/ | /opsx-apply |
| DeepSeek Harness | dsh | .dsh/skills/ | /openspec-apply-change | none | none |
| Devin Desktop (formerly Windsurf) | devin | .devin/skills/ | /openspec-apply-change | .devin/workflows/ | /opsx-apply |
| EasyCode | easycode | .easycode/skills/ | /openspec-apply-change | .easycode/commands/opsx/ | /opsx:apply |
| Factory Droid | factory | .factory/skills/ | /openspec-apply-change | .factory/commands/ | /opsx-apply |
| ForgeCode | forgecode | .forge/skills/ | /openspec-apply-change | none | none |
| Gemini CLI | gemini | .gemini/skills/ | /openspec-apply-change | .gemini/commands/opsx/ | /opsx:apply |
| GigaCode | gigacode | .gigacode/skills/ | /openspec-apply-change | .gigacode/commands/ | /opsx-apply |
| GitHub Copilot | github-copilot | .github/skills/ | /openspec-apply-change | .github/prompts/ | /opsx-apply |
| Grok Build | grok | .grok/skills/ | /openspec-apply-change | none | none |
| GSD | gsd | .agents/skills/ | ask for openspec-apply-change | none | none |
| Hermes Agent | hermes | .hermes/skills/ | /openspec-apply-change | none | none |
| iFlow | iflow | .iflow/skills/ | /openspec-apply-change | .iflow/commands/ | /opsx-apply |
| Junie | junie | .junie/skills/ | /openspec-apply-change | .junie/commands/ | /opsx-apply |
| Kilo Code | kilocode | .kilocode/skills/ | /openspec-apply-change | .kilo/command/ | /opsx-apply |
| Kimi Code | kimi | .kimi-code/skills/ | /skill:openspec-apply-change | none | none |
| Kiro | kiro | .kiro/skills/ | /openspec-apply-change | .kiro/prompts/ | /opsx-apply |
| Lingma | lingma | .lingma/skills/ | /openspec-apply-change | .lingma/commands/opsx/ | /opsx:apply |
| MiniMax Code | minimax-code | ~/.minimax/skills/ (global) | /openspec-apply-change | none | none |
| Mistral Vibe | vibe | .vibe/skills/ | /openspec-apply-change | none | none |
| Oh My Pi | oh-my-pi | .omp/skills/ | /openspec-apply-change | .omp/commands/ | /opsx-apply |
| OpenCode | opencode | .opencode/skills/ | /openspec-apply-change | .opencode/commands/ | /opsx-apply |
| Pi | pi | .pi/skills/ | /openspec-apply-change | .pi/prompts/ | /opsx-apply |
| Qoder | qoder | .qoder/skills/ | /openspec-apply-change | .qoder/commands/opsx/ | /opsx:apply |
| Qwen Code | qwen | .qwen/skills/ | /openspec-apply-change | .qwen/commands/ | /opsx-apply |
| Trae | trae | .trae/skills/ | /openspec-apply-change | .trae/commands/ | /opsx-apply |
| Veai | veai | .veai/skills/ | /openspec-apply-change | none | none |
| Warp | warp | .warp/skills/ | /openspec-apply-change | none | none |
| ZCode | zcode | .zcode/skills/ | /openspec-apply-change | .zcode/commands/opsx/ | /opsx:apply |
| Zoo Code | roocode | .roo/skills/ | /openspec-apply-change | .roo/commands/ | /opsx-apply |
| Other / Universal | agents | .agents/skills/ | /openspec-apply-change | none | none |
- استدعاء المهارة: تسجيل الأداة للمهارات كإدخالات مكتوبة هو سلوك خاص بالأداة نفسها. يوضح العمود التهجئة التي يستخدمها OpenSpec في الملفات المولّدة وفي التلميح الذي يطبعه init. راجع وثائق أداتك إذا لم ينتج عن كتابتها أي شيء.
- تنسيقات ملفات الأوامر: معظم الأدوات تأخذ ملفات أوامر بصيغة
.md. EasyCode و Gemini CLI تأخذ.toml، و Continue.prompt، و Code Studio و Kiro و GitHub Copilot.prompt.md. التهجئة التي تكتبها هي نفسها في كلتا الحالتين.
ملاحظات لكل أداة
أي أداة غير مدرجة هنا تسلك السلوك الموضح في صفها بالضبط.
Amp
- مهارات المشروع: Amp يقرأ مهارات OpenSpec من
.agents/skills/. - لا ملفات أوامر: Amp يشغّل المهارات مباشرة، لذا يتخطى init توليد الأوامر.
- المجلد المشترك: Amp يتشارك
.agents/skills/مع Antigravity و Codex و Zed Agent وهدفagents. يكتب OpenSpec شجرة المهارات مرة واحدة.
Antigravity
- المجلد الحالي: Antigravity الإصدار v1.20.5 وما بعده يقرأ مهارات ومسيرات عمل مساحة العمل من
.agents/. - المجلد القديم: بعد أن يكتب OpenSpec الملفات البديلة، يزيل الملفات المولّدة المكافئة من
.agent/. تبقى الملفات المخصصة والملفات المولّدة المعدّلة في.agent/لمراجعتها. - المهارات المشتركة: Antigravity يتشارك
.agents/skills/مع Amp و Codex و Zed Agent وهدفagents. يكتب OpenSpec شجرة المهارات تلك مرة واحدة مع الاستمرار في كتابة أوامر Antigravity في.agents/workflows/.
Cline
Cline يقرأ الأوامر من .clinerules/workflows/، وليس من مجلد .cline/ الخاص به. تبقى المهارات في .cline/skills/.
Codex
- واجهة سطر الأوامر وملحق IDE: اذكر
$openspec-proposeمع فكرتك، أو شغّل/skillsلاختيار المهارة. Codex لا يتعرف على/openspec-propose(مشكلة المنبع). - تطبيق سطح المكتب: افتح Skills في الشريط الجانبي واختر
openspec-propose. وثائق مهارات OpenAI تصف كلا الواجهتين. - لا ملفات أوامر: Codex يشغّل المهارات مباشرة، لذا يتخطى init الأوامر حتى عندما يتضمنها التسليم ويطبع
Commands skipped for: codex (uses skills). - المجلد المشترك: مهارات Codex تُوضع في
.agents/skills/، نفس الشجرة التي يستخدمها Amp و Antigravity و Zed Agent وهدفagents. اختيار أكثر من واحد يحتفظ بشجرة واحدة متوافقة، وتكتب عمليات التسليم فيها$openspec-*و/openspec-*معًا عندما يمتلكها Codex. - المسار القديم: المهارات المثبتة تحت
.codex/skills/بواسطة إصدارات أقدم يتم ترحيلها عند تشغيلopenspec updateالتالي.
DeepSeek Harness
- جذر المشروع: DSH يستخدم أقرب سلف
.git، أو الدليل الحالي خارج Git. شغّلopenspec init --tools dshهناك. لمشروع OpenSpec متداخل، أضف المسار المطلق إلى دليل.dsh/skills/الخاص به إلىcustomSkillDirsفي DSH. مهارات جذر Git ما تزال تتفوق إذا تداخلت الأسماء (قواعد الاكتشاف المنبعية). - الأولوية:
.dsh/skills/له الأسبقية على المهارات التي تحمل الأسماء نفسها في.agents/skills/. - التسليم: استخدم
skillsأوboth. معcommands، لا يتم تثبيت أي سير عمل DSH. غيّر التسليم باستخدامopenspec config profile، ثم أعد تشغيلopenspec init --tools dsh.
Devin Desktop (سابقاً Windsurf)
- وكيلان: ملفات الأوامر في
.devin/workflows/تعمل فقط في Devin Desktop. Devin Local يشغّل المهارات فقط، لذا تشير المهارات المولّدة إلى/openspec-<skill>، وهو ما يعمل في كليهما. - إعادة التسمية:
--tools windsurfلا يزال يُحل إلىdevin. المشروع الذي يحتفظ بملفات OpenSpec في مجلد.windsurf/القديم يُعرض عليه النقل عندopenspec updateالتالي.
GitHub Copilot
- ملحقات IDE (تسليم الأوامر): VS Code و JetBrains و Visual Studio يحمّلون
.github/prompts/opsx-<id>.prompt.mdكـ/opsx-<id>. إذا اختفى أمر بينما ملفه ما يزال موجوداً، أعد تشغيل IDE. - Copilot CLI (تسليم المهارات): واجهة سطر الأوامر تتجاهل
.github/prompts/وتحمّل.github/skills/openspec-*/SKILL.mdبدلاً من ذلك. استدعِ المهارة كـ/openspec-<skill>. إذا اختفت مهارة بينما ملفها ما يزال موجوداً، شغّل/skills reload، ثم/skills info openspec-proposeلتأكيد الاكتشاف.
GSD
- مهارات المشروع: GSD يقرأ سير عمل OpenSpec من
.agents/skills/. - الاستدعاء: اطلب من GSD استخدام مهارة
openspec-<workflow>. يمكن لـ GSD أيضاً اختيار مهارة مطابقة من خلال إعداد اكتشاف المهارات الخاص به. - لا ملفات وكلاء فرعيين:
.gsd/agents/يحتوي على تعريفات الوكلاء الفرعيين في GSD. OpenSpec لا يكتب مهارات سير العمل هناك.
Hermes Agent
Hermes يحمّل المهارات فقط من ~/.hermes/skills/ افتراضياً. أضف مجلد .hermes/skills/ الخاص بالمشروع إلى skills.external_dirs في ~/.hermes/config.yaml؛ يطبع init هذا التذكير بعد التثبيت.
MiniMax Code
- عام فقط: المهارات تُوضع في
~/.minimax/skills/. لا يُكتب أي شيء داخل المستودع. - آمن عبر المشاريع: التسليم الذي يقتصر على الأوامر يترك المهارات العامة في مكانها، فلا يمكن لإعداد مشروع واحد إزالة مهارات يستخدمها مشروع آخر.
Warp
- المهارات دائماً: المهارات تُوضع في
.warp/skills/حتى عندما يكون التسليمcommands، لأن Warp لا يملك ملفات أوامر ويستدعي المهارات مباشرة. - ما يدّعيه OpenSpec: فقط
.warp/skills/. إعدادات Warp وWARP.mdهي لا تُنشأ ولا تُعدّل.
Other / Universal (مهارات .agents المشتركة)
- متى يناسب: أي أداة تقرأ المجلد المشترك
.agents/skills/، بما في ذلك الأدوات التي لا يوجد لها صف في المصفوفة. إنه الإدخال الذي يتم اختياره عندما لا يكون مساعدك مدرجاً. يجده مربع بحث منتقي init بالكلماتuniversalأوotherأوgenericأوcustomأوproprietaryأوunlistedأوunsupportedأوvendor-neutralأوagents.md. - جنباً إلى جنب مع أهداف أخرى: Amp و Antigravity و Codex و Zed Agent وهذا الهدف يتشاركون شجرة مهارات فعلية واحدة. يسجّل OpenSpec كاتباً واحداً في
.openspec-targetويكتب الشجرة مرة واحدة لكل تشغيل. تظل ملفات الأوامر المنفصلة لكل أداة تُولّد. - ما يدّعيه OpenSpec: فقط مجلدات
openspec-*وعلامة.openspec-target. أي شيء آخر تحت.agents/يُترك دون مساس. AGENTS.md: لا يُنشأ ولا يُعدّل. الهدف هو مجلد.agents/، وليس الملف.