Skip to content

مرجع واجهة سطر الأوامر

يوفر واجهة سطر أوامر OpenSpec (openspec) أوامر طرفية لإعداد المشروع والتحقق منه وفحص الحالة وإدارته. تكمل هذه الأوامر أوامر الشريحة الخاصة بالذكاء الاصطناعي (مثل /opsx:propose) الموثقة في قسم الأوامر.

ملخص

الفئةالأوامرالغرض
الإعدادinit, updateتهيئة وتحديث OpenSpec في مشروعك
التصفحlist, view, showاستكشاف التغييرات والمواصفات
التحققvalidateفحص التغييرات والمواصفات بحثًا عن مشاكل
دورة الحياةarchiveتأكيد التغييرات المكتملة
سير العملstatus, instructions, templates, schemasدعم سير العمل القائم على المخرجات
المخططاتschema init, schema fork, schema validate, schema whichإنشاء وإدارة سير عمل مخصص
الإعداداتconfigعرض وتعديل الإعدادات
الأدوات المساعدةfeedback, completionتقديم الملاحظات وتكامل وحدة التحكم

أوامر البشر مقابل الوكلاء

معظم أوامر واجهة سطر الأوامر (CLI) مصممة لاستخدام البشر في الطرفية. بعض الأوامر تدعم أيضًا استخدام الوكيل/السكريبت عبر الإخراج بصيغة JSON.

أوامر البشر فقط

هذه الأوامر تفاعلية ومصممة للاستخدام في الطرفية:

الأمرالغرض
openspec initتهيئة المشروع (مطالبات تفاعلية)
openspec viewلوحة معلومات تفاعلية
openspec config editفتح الإعدادات في محرر
openspec feedbackإرسال ملاحظات عبر GitHub
openspec completion installتثبيت إكمالات الصدفة

أوامر متوافقة مع الوكيل

هذه الأوامر تدعم الإخراج --json للاستخدام البرمجي من قبل وكلاء الذكاء الاصطناعي والسكريبتات:

الأمراستخدام البشراستخدام الوكيل
openspec listتصفح التغييرات/المواصفات--json للبيانات المهيكلة
openspec show <item>قراءة المحتوى--json للتحليل
openspec validateالتحقق من المشاكل--all --json للتحقق الجماعي
openspec statusرؤية تقدم المخرجات--json للحالة المهيكلة
openspec instructionsالحصول على الخطوات التالية--json لتعليمات الوكيل
openspec templatesالعثور على مسارات القوالب--json لتحديد المسارات
openspec schemasسرد المخططات المتاحة--json لاكتشاف المخططات

الخيارات العامة

هذه الخيارات تعمل مع جميع الأوامر:

الخيارالوصف
--version, -Vعرض رقم الإصدار
--no-colorتعطيل الإخراج الملون
--help, -hعرض المساعدة للأمر

أوامر الإعداد

openspec init

تهيئة OpenSpec في مشروعك. ينشئ هيكل المجلدات ويقوم بتكوين تكاملات أدوات الذكاء الاصطناعي.

السلوك الافتراضي يستخدم إعدادات الإعدادات العامة الافتراضية: الملف الشخصي core، التسليم both، سير العمل propose, explore, apply, archive.

openspec init [path] [options]

المعاملات:

المعاملمطلوبالوصف
pathلاالمجلد الهدف (الافتراضي: المجلد الحالي)

الخيارات:

الخيارالوصف
--tools <list>تكوين أدوات الذكاء الاصطناعي بشكل غير تفاعلي. استخدم all أو none أو قائمة مفصولة بفواصل
--forceالتنظيف التلقائي للملفات القديمة دون مطالبة
--profile <profile>تجاوز الملف الشخصي العام لهذا التشغيل (core أو custom)

--profile custom يستخدم أي سير عمل محدد حاليًا في الإعدادات العامة (openspec config profile).

معرفات الأدوات المدعومة (--tools): amazon-q, antigravity, auggie, claude, cline, codex, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, iflow, kilocode, kiro, opencode, pi, qoder, qwen, roocode, trae, windsurf

أمثلة:

bash
# التهيئة التفاعلية
openspec init

# التهيئة في مجلد محدد
openspec init ./my-project

# غير تفاعلي: التكوين لـ Claude و Cursor
openspec init --tools claude,cursor

# التكوين لجميع الأدوات المدعومة
openspec init --tools all

# تجاوز الملف الشخصي لهذا التشغيل
openspec init --profile core

# تخطي المطالبات والتنظيف التلقائي للملفات القديمة
openspec init --force

ما ينشئه:

openspec/
├── specs/              # مواصفاتك (مصدر الحقيقة)
├── changes/            # التغييرات المقترحة
└── config.yaml         # إعدادات المشروع

.claude/skills/         # مهارات Claude Code (إذا تم تحديد claude)
.cursor/skills/         # مهارات Cursor (إذا تم تحديد cursor)
.cursor/commands/       # أوامر Cursor OPSX (إذا تضمن التسليم الأوامر)
... (تكوينات أدوات أخرى)

openspec update

تحديث ملفات تعليمات OpenSpec بعد ترقية واجهة سطر الأوامر. يعيد إنشاء ملفات تكوين أدوات الذكاء الاصطناعي باستخدام الملف الشخصي العام الحالي، وسير العمل المحدد، ووضع التسليم.

openspec update [path] [options]

المعاملات:

المعاملمطلوبالوصف
pathلاالمجلد الهدف (الافتراضي: المجلد الحالي)

الخيارات:

الخيارالوصف
--forceفرض التحديث حتى إذا كانت الملفات محدّثة

مثال:

bash
# تحديث ملفات التعليمات بعد ترقية npm
npm update @fission-ai/openspec
openspec update

أوامر التصفح

openspec list

سرد التغييرات أو المواصفات في مشروعك.

openspec list [options]

الخيارات:

الخيارالوصف
--specsسرد المواصفات بدلاً من التغييرات
--changesسرد التغييرات (الافتراضي)
--sort <order>الترتيب حسب recent (الافتراضي) أو name
--jsonالإخراج بصيغة JSON

أمثلة:

bash
# سرد جميع التغييرات النشطة
openspec list

# سرد جميع المواصفات
openspec list --specs

# إخراج JSON للسكريبتات
openspec list --json

الإخراج (نص):

التغييرات النشطة:
  add-dark-mode     دعم تبديل سمة واجهة المستخدم
  fix-login-bug     معالجة انتهاء جلسة المستخدم

openspec view

عرض لوحة معلومات تفاعلية لاستكشاف المواصفات والتغييرات.

openspec view

يفتح واجهة قائمة على الطرفية للتنقل في مواصفات وتغييرات مشروعك.


openspec show

عرض تفاصيل تغيير أو مواصفة.

openspec show [item-name] [options]

المعاملات:

المعاملمطلوبالوصف
item-nameلااسم التغيير أو المواصفة (يتم المطالبة إذا تم حذفه)

الخيارات:

الخيارالوصف
--type <type>تحديد النوع: change أو spec (يتم اكتشافه تلقائيًا إذا لم يكن غامضًا)
--jsonالإخراج بصيغة JSON
--no-interactiveتعطيل المطالبات

خيارات خاصة بالتغيير:

الخيارالوصف
--deltas-onlyعرض مواصفات التغييرات فقط (وضع JSON)

خيارات خاصة بالمواصفة:

الخيارالوصف
--requirementsعرض المتطلبات فقط، باستثناء السيناريوهات (وضع JSON)
--no-scenariosباستثناء محتوى السيناريو (وضع JSON)
-r, --requirement <id>عرض متطلب محدد حسب الفهرس المبدأ من 1 (وضع JSON)

أمثلة:

bash
# التحديد التفاعلي
openspec show

# عرض تغيير محدد
openspec show add-dark-mode

# عرض مواصفة محددة
openspec show auth --type spec

# إخراج JSON للتحليل
openspec show add-dark-mode --json

أوامر التحقق

openspec validate

التحقق من التغييرات والمواصفات بحثًا عن مشاكل هيكلية.

openspec validate [item-name] [options]

المعاملات:

المعاملمطلوبالوصف
item-nameلاعنصر محدد للتحقق منه (يتم المطالبة إذا تم حذفه)

الخيارات:

الخيارالوصف
--allالتحقق من جميع التغييرات والمواصفات
--changesالتحقق من جميع التغييرات
--specsالتحقق من جميع المواصفات
--type <type>تحديد النوع عندما يكون الاسم غامضًا: change أو spec
--strictتمكين وضع التحقق الصارم
--jsonالإخراج بصيغة JSON
--concurrency <n>الحد الأقصى للتحقق المتوازي (الافتراضي: 6، أو متغير البيئة OPENSPEC_CONCURRENCY)
--no-interactiveتعطيل المطالبات

أمثلة:

bash
# التحقق التفاعلي
openspec validate

# التحقق من تغيير محدد
openspec validate add-dark-mode

# التحقق من جميع التغييرات
openspec validate --changes

# التحقق من كل شيء مع إخراج JSON (للتكامل المستمر/السكريبتات)
openspec validate --all --json

# التحقق الصارم مع زيادة التوازي
openspec validate --all --strict --concurrency 12

الإخراج (نص):

جارٍ التحقق من add-dark-mode...
  ✓ proposal.md صالح
  ✓ specs/ui/spec.md صالح
  ⚠ design.md: ينقص قسم "النهج التقني"

تم العثور على تحذير واحد

الإخراج (JSON):

json
{
  "version": "1.0.0",
  "results": {
    "changes": [
      {
        "name": "add-dark-mode",
        "valid": true,
        "warnings": ["design.md: missing 'Technical Approach' section"]
      }
    ]
  },
  "summary": {
    "total": 1,
    "valid": 1,
    "invalid": 0
  }
}

أوامر دورة الحياة

openspec archive

أرشفة تغيير مكتمل ودمج مواصفات التغييرات في المواصفات الرئيسية.

openspec archive [change-name] [options]

المعاملات:

المعاملمطلوبالوصف
change-nameلاالتغيير لأرشفته (يتم المطالبة إذا تم حذفه)

الخيارات:

الخيارالوصف
-y, --yesتخطي مطالبات التأكيد
--skip-specsتخطي تحديثات المواصفات (لتغييرات البنية التحتية/الأدوات/التوثيق فقط)
--no-validateتخطي التحقق (يتطلب تأكيدًا)

أمثلة:

bash
# الأرشفة التفاعلية
openspec archive

# أرشفة تغيير محدد
openspec archive add-dark-mode

# الأرشفة دون مطالبات (للكامل المستمر/السكريبتات)
openspec archive add-dark-mode --yes

# أرشفة تغيير أداة لا يؤثر على المواصفات
openspec archive update-ci-config --skip-specs

ما يفعله:

  1. التحقق من التغيير (إلا إذا تم استخدام --no-validate)
  2. المطالبة بالتأكيد (إلا إذا تم استخدام --yes)
  3. دمج مواصفات التغييرات في openspec/specs/
  4. نقل مجلد التغيير إلى openspec/changes/archive/YYYY-MM-DD-<name>/

أوامر سير العمل

هذه الأوامر تدعم سير عمل OPSX المبني على المخرجات. إنها مفيدة لكل من البشر للتحقق من التقدم والوكيل لتحديد الخطوات التالية.

openspec status

عرض حالة اكتمال المخرجات لتغيير.

openspec status [options]

الخيارات:

الخيارالوصف
--change <id>اسم التغيير (يتم المطالبة إذا تم حذفه)
--schema <name>تجاوز المخطط (يتم اكتشافه تلقائيًا من إعدادات التغيير)
--jsonالإخراج بصيغة JSON

أمثلة:

bash
# فحص الحالة التفاعلي
openspec status

# الحالة لتغيير محدد
openspec status --change add-dark-mode

# JSON لاستخدام الوكيل
openspec status --change add-dark-mode --json

الإخراج (نص):

التغيير: add-dark-mode
المخطط: spec-driven
التقدم: 2/4 مخرجات مكتملة

[x] proposal
[ ] design
[x] specs
[-] tasks (محجوب بواسطة: design)

الإخراج (JSON):

json
{
  "changeName": "add-dark-mode",
  "schemaName": "spec-driven",
  "isComplete": false,
  "applyRequires": ["tasks"],
  "artifacts": [
    {"id": "proposal", "outputPath": "proposal.md", "status": "done"},
    {"id": "design", "outputPath": "design.md", "status": "ready"},
    {"id": "specs", "outputPath": "specs/**/*.md", "status": "done"},
    {"id": "tasks", "outputPath": "tasks.md", "status": "blocked", "missingDeps": ["design"]}
  ]
}

openspec instructions

الحصول على تعليمات مُغنية لإنشاء مخرج أو تطبيق المهام. تستخدمها وكلاء الذكاء الاصطناعي لفهم ما يجب إنشاؤه بعد ذلك.

openspec instructions [artifact] [options]

المعاملات:

المعاملمطلوبالوصف
artifactلامعرف المخرج: proposal، specs، design، tasks، أو apply

الخيارات:

الخيارالوصف
--change <id>اسم التغيير (مطلوب في الوضع غير التفاعلي)
--schema <name>تجاوز المخطط
--jsonالإخراج بصيغة JSON

حالة خاصة: استخدم apply كمخرج للحصول على تعليمات تنفيذ المهام.

أمثلة:

bash
# الحصول على تعليمات المخرج التالي
openspec instructions --change add-dark-mode

# الحصول على تعليمات مخرج محدد
openspec instructions design --change add-dark-mode

# الحصول على تعليمات التطبيق/التنفيذ
openspec instructions apply --change add-dark-mode

# JSON لاستهلاك الوكيل
openspec instructions design --change add-dark-mode --json

يتضمن الإخراج:

  • محتوى القالب للمخرج
  • سياق المشروع من الإعدادات
  • المحتوى من المخرجات المعتمدة
  • قواعد لكل مخرج من الإعدادات

openspec templates

عرض مسارات القوالب المحددة لجميع المخرجات في مخطط.

openspec templates [options]

الخيارات:

الخيارالوصف
--schema <name>المخطط لفحصه (الافتراضي: spec-driven)
--jsonالإخراج بصيغة JSON

أمثلة:

bash
# عرض مسارات القالب للمخطط الافتراضي
openspec templates

# عرض القوالب لمخطط مخصص
openspec templates --schema my-workflow

# JSON للاستخدام البرمجي
openspec templates --json

الإخراج (نص):

المخطط: spec-driven

القوالب:
  proposal  → ~/.openspec/schemas/spec-driven/templates/proposal.md
  specs     → ~/.openspec/schemas/spec-driven/templates/specs.md
  design    → ~/.openspec/schemas/spec-driven/templates/design.md
  tasks     → ~/.openspec/schemas/spec-driven/templates/tasks.md

openspec schemas

سرد مخططات سير العمل المتاحة مع أوصافها وتدفقات المخرجات.

openspec schemas [options]

الخيارات:

الخيارالوصف
--jsonالإخراج بصيغة JSON

مثال:

bash
openspec schemas

الإخراج:

المخططات المتاحة:

  spec-driven (حزمة)
    سير عمل التطوير الافتراضي القائم على المواصفات
    التدفق: proposal → specs → design → tasks

  my-custom (مشروع)
    سير عمل مخصص لهذا المشروع
    التدفق: research → proposal → tasks

أوامر المخططات

أوامر لإنشاء وإدارة مخططات سير العمل المخصصة.

openspec schema init

إنشاء مخطط جديد محلي للمشروع.

openspec schema init <name> [options]

المعاملات:

المعاملمطلوبالوصف
nameنعماسم المخطط (بتنسيق kebab-case)

الخيارات:

الخيارالوصف
--description <text>وصف المخطط
--artifacts <list>قائمة معرفات المخرجات مفصولة بفواصل (الافتراضي: proposal,specs,design,tasks)
--defaultتعيينه كمخطط افتراضي للمشروع
--no-defaultعدم طرح السؤال لتعيينه كافتراضي
--forceالكتابة فوق مخطط موجود
--jsonالإخراج بصيغة JSON

أمثلة:

bash
# إنشاء مخطط تفاعلي
openspec schema init research-first

# إنشاء غير تفاعلي مع مخرجات محددة
openspec schema init rapid \
  --description "Rapid iteration workflow" \
  --artifacts "proposal,tasks" \
  --default

ما يتم إنشاؤه:

openspec/schemas/<name>/
├── schema.yaml           # تعريف المخطط
└── templates/
    ├── proposal.md       # قالب لكل مخرج
    ├── specs.md
    ├── design.md
    └── tasks.md

openspec schema fork

نسخ مخطط موجود إلى مشروعك للتخصيص.

openspec schema fork <source> [name] [options]

المعاملات:

المعاملمطلوبالوصف
sourceنعمالمخطط المراد نسخه
nameلااسم المخطط الجديد (الافتراضي: <source>-custom)

الخيارات:

الخيارالوصف
--forceالكتابة فوق الوجهة الموجودة
--jsonالإخراج بصيغة JSON

مثال:

bash
# نسخ مخطط spec-driven المدمج
openspec schema fork spec-driven my-workflow

openspec schema validate

التحقق من هيكل المخطط وقوالبه.

openspec schema validate [name] [options]

المعاملات:

المعاملمطلوبالوصف
nameلاالمخطط المراد التحقق منه (يتحقق من جميع المخططات إذا تم حذفه)

الخيارات:

الخيارالوصف
--verboseعرض خطوات التحقق التفصيلية
--jsonالإخراج بصيغة JSON

مثال:

bash
# التحقق من مخطط محدد
openspec schema validate my-workflow

# التحقق من جميع المخططات
openspec schema validate

openspec schema which

عرض مصدر اشتقاق المخطط (مفيد لتصحيح أولوية الاشتقاق).

openspec schema which [name] [options]

المعاملات:

المعاملمطلوبالوصف
nameلااسم المخطط

الخيارات:

الخيارالوصف
--allسرد جميع المخططات مع مصادرها
--jsonالإخراج بصيغة JSON

مثال:

bash
# التحقق من مصدر مخطط
openspec schema which spec-driven

الإخراج:

spec-driven resolves from: package
  Source: /usr/local/lib/node_modules/@fission-ai/openspec/schemas/spec-driven

أولوية المخططات:

  1. المشروع: openspec/schemas/<name>/
  2. المستخدم: ~/.local/share/openspec/schemas/<name>/
  3. الحزمة: المخططات المدمجة

أوامر الإعدادات

openspec config

عرض وتعديل إعدادات OpenSpec العامة.

openspec config <subcommand> [options]

الأوامر الفرعية:

الأمر الفرعيالوصف
pathعرض موقع ملف الإعدادات
listعرض جميع الإعدادات الحالية
get <key>الحصول على قيمة محددة
set <key> <value>تعيين قيمة
unset <key>إزالة مفتاح
resetإعادة التعيين إلى الافتراضيات
editالفتح في $EDITOR
profile [preset]تكوين ملف تعريف سير العمل تفاعلياً أو عبر إعداد مسبق

أمثلة:

bash
# عرض مسار ملف الإعدادات
openspec config path

# سرد جميع الإعدادات
openspec config list

# الحصول على قيمة محددة
openspec config get telemetry.enabled

# تعيين قيمة
openspec config set telemetry.enabled false

# تعيين قيمة نصية بشكل صريح
openspec config set user.name "My Name" --string

# إزالة إعداد مخصص
openspec config unset user.name

# إعادة تعيين جميع الإعدادات
openspec config reset --all --yes

# تعديل الإعدادات في محررك
openspec config edit

# تكوين ملف التعريف مع معالج مبني على الإجراءات
openspec config profile

# إعداد مسبق سريع: تبديل سير العمل إلى Core (يحافظ على وضع التسليم)
openspec config profile core

openspec config profile يبدأ بملخص للحالة الحالية، ثم يتيح لك الاختيار من:

  • تغيير التسليم + سير العمل
  • تغيير التسليم فقط
  • تغيير سير العمل فقط
  • الاحتفاظ بالإعدادات الحالية (خروج)

إذا احتفظت بالإعدادات الحالية، لن يتم كتابة أي تغييرات ولن يتم عرض طلب تحديث. إذا لم تكن هناك تغييرات في الإعدادات ولكن ملفات المشروع الحالية غير متزامنة مع ملف التعريف/التسليم العام الخاص بك، سيعرض OpenSpec تحذيراً ويقترح تشغيل openspec update. يؤدي الضغط على Ctrl+C أيضاً إلى إلغاء التدفق بسلاسة (بدون تتبع مكدس) والخروج بالرمز 130. في قائمة سير العمل، يشير [x] إلى أن سير العمل محدد في الإعدادات العامة. لتطبيق هذه الاختيارات على ملفات المشروع، قم بتشغيل openspec update (أو اختر Apply changes to this project now? عند السؤال داخل مشروع).

أمثلة تفاعلية:

bash
# تحديث التسليم فقط
openspec config profile
# اختر: Change delivery only
# اختر التسليم: Skills only

# تحديث سير العمل فقط
openspec config profile
# اختر: Change workflows only
# قم بتبديل سير العمل في القائمة، ثم تأكيد

أوامر مساعدة

openspec feedback

إرسال ملاحظات حول OpenSpec. ينشئ تذكرة على GitHub.

openspec feedback <message> [options]

المعاملات:

المعاملمطلوبالوصف
messageنعمرسالة الملاحظات

الخيارات:

الخيارالوصف
--body <text>وصف تفصيلي

المتطلبات: يجب تثبيت وتوثيق GitHub CLI (gh).

مثال:

bash
openspec feedback "Add support for custom artifact types" \
  --body "I'd like to define my own artifact types beyond the built-in ones."

openspec completion

إدارة إكمالات shell لـ OpenSpec CLI.

openspec completion <subcommand> [shell]

الأوامر الفرعية:

الأمر الفرعيالوصف
generate [shell]إخراج سكربت الإكمال إلى stdout
install [shell]تثبيت الإكمال لـ shell الخاص بك
uninstall [shell]إزالة الإكمالات المثبتة

الأ shells المدعومة: bash, zsh, fish, powershell

أمثلة:

bash
# تثبيت الإكمالات (يكتشف shell تلقائياً)
openspec completion install

# التثبيت لـ shell محدد
openspec completion install zsh

# إنشاء سكربت للتثبيت اليدوي
openspec completion generate bash > ~/.bash_completion.d/openspec

# إلغاء التثبيت
openspec completion uninstall

أكواد الخروج

الرمزالمعنى
0نجاح
1خطأ (فشل في التحقق، ملفات مفقودة، إلخ)

متغيرات البيئة

المتغيرالوصف
OPENSPEC_TELEMETRYاضبط على 0 لتعطيل القياس عن بعد
DO_NOT_TRACKاضبط على 1 لإلغاء قياس عن بعد (إشارة DNT قياسية)
OPENSPEC_CONCURRENCYالتزامن الافتراضي للتحقق بالجملة (الافتراضي: 6)
EDITOR أو VISUALالمحرر لـ openspec config edit
NO_COLORتعطيل الإخراج الملون عند التعيين

التوثيق ذات الصلة

  • الأوامر - أوامر AI المنقولة (/opsx:propose, /opsx:apply, إلخ)
  • سير العمل - الأنماط الشائعة ومتى تستخدم كل أمر
  • التخصيص - إنشاء مخططات وقوالب مخصصة
  • البدء - دليل الإعداد الأولي