إعدادات واجهة سطر الأوامر (config.json)
كل حقل في config.json: كيف يتصرف واجهة سطر أوامر openspec على جهازك.
الموقع
تحتفظ واجهة سطر الأوامر بإعدادات مستوى الجهاز في ~/.config/openspec/config.json على macOS وLinux، وفي %APPDATA%\openspec\config.json على Windows. يُخذ $XDG_CONFIG_HOME بعين الاعتبار على كل منصة عند تعيينه. يقرأ أمر openspec config هذا الملف ويعدّله.
الحقول
| المفتاح | النوع | مطلوب | التأثير |
|---|---|---|---|
profile | string: core أو custom | لا | يحدد مجموعة مسارات العمل التي يثبّتها openspec init |
delivery | string: both أو skills أو commands | لا | ما إذا كان init يثبّت المهارات أو الأوامر المائلة أو كليهما |
workflows | قائمة من السلاسل النصية | لا | قائمة مسارات العمل التي يثبّتها ملف التعريف custom |
featureFlags | map: flag → boolean | لا | مفاتيح ميزات منطقية |
defaultStore | string | لا | المخزن الاحتياطي على مستوى الجهاز لحل الجذر |
openers | map: tool id → settings | لا | الأدوات التي تُفتح بها مجموعات العمل، وكيفية تشغيل كل منها |
telemetry | map | لا | الانسحاب من القياس عن بُعد، والمعرّف المجهول، وحالة ظهور الإشعار |
profile
مجموعة مسارات العمل التي يثبّتها openspec init. الافتراضي هو core: propose وexplore وapply وupdate وsync وarchive. عند تعيين custom يتم تثبيت قائمة workflows المحددة بدلاً من ذلك.
delivery
ما إذا كان init يثبّت مسارات العمل كمهارات أو كأوامر مائلة أو كليهما. الافتراضي هو both.
workflows
مسارات العمل التي يثبّتها ملف التعريف custom؛ تُتجاهل عندما يكون ملف التعريف core. المعرفات الصالحة: propose وexplore وnew وcontinue وapply وupdate وff وsync وarchive وbulk-archive وverify وonboard.
featureFlags
مفاتيح منطقية مفهرسة باسم الميزة، تُعيّن باستخدام openspec config set featureFlags.<flag> true. لا تقرأ واجهة سطر الأوامر أي ميزة حالياً.
defaultStore
معرّف المخزن الاحتياطي على مستوى الجهاز لحل الجذر، يُستشار فقط عندما لا يوجد علم --store أو مسار openspec/ محلي أو مؤشر store: في المشروع يوفّر الحل. التفاصيل الكاملة في Root resolution.
openers
الأدوات التي يمكن لمجموعة العمل أن تُفتح بها، مفهرسة بمعرّف الأداة. عدّل openers في config.json العام باستخدام openspec config edit في طرفيتك.
| الحقل | الشروط |
|---|---|
style | workspace-file أو attach-dirs. مطلوب للأداة الجديدة؛ اختياري للأداة المدمجة. |
label | سلسلة نصية غير فارغة تُعرض في منتقي الأدوات. الافتراضي هو المعرّف للأداة الجديدة. |
command | اسم أو مسار ملف تنفيذي غير فارغ. الافتراضي هو المعرّف للأداة الجديدة. ضع الوسائط في args، وليس في هذه السلسلة. |
args | مصفوفة من السلاسل النصية التي تُمرر قبل ملف مساحة العمل أو أعلام الإرفاق. الافتراضي هو [] للأداة الجديدة. |
attach_flag | سلسلة نصية غير فارغة تُقرن بكل مسار عضو لـ attach-dirs. الافتراضي هو --add-dir للأداة الجديدة. تُتجاهل لـ workspace-file. |
تجاوزات الأدوات المدمجة: تحتفظ code وcursor وclaude وcodex بأي حقول تغفلها. تعيين args يستبدل قائمة الوسائط بالكامل؛ و[] يمسحها.
أنماط التشغيل: يمرّر workspace-file مسار .code-workspace المُنشأ إلى الملف التنفيذي. ويمرّر attach-dirs زوجاً واحداً من العلم/المسار لكل عضو، بما في ذلك العضو الأساسي.
التوفر: مشغلات attach-dirs، بما فيها Claude Code وCodex، معطلة افتراضياً. لا يمكنك اختيارها أو حفظها باستخدام --tool، ويرفض OpenSpec فتح مجموعة عمل تشير إلى واحدة منها. لا تؤدي تجاوزات الإعداد إلى تمكين نمط التشغيل attach-dirs.
التحقق: الحقول غير المعروفة والأنواع غير الصالحة والأداة الجديدة بدون style تتسبب في الفشل عند قراءة أمر مجموعة العمل لجدول المشغلات.
هذا المثال يضيف VS Code Insiders ويمرّر --new-window في كل مرة يُشغّل فيها مشغل VS Code المدمج:
{
"openers": {
"code-insiders": {
"style": "workspace-file",
"label": "VS Code Insiders"
},
"code": {
"args": ["--new-window"]
}
}
}يجب أن يكون الملف التنفيذي code-insiders أو code المقابل مثبتاً ومتاحاً على PATH.
telemetry
تخزّن واجهة سطر الأوامر معرّفك المجهول وما إذا كان إشعار التشغيل الأول قد ظهر. عيّن telemetry.enabled على false لتعطيل القياس عن بُعد. يمكنك أيضاً الانسحاب بتعيين OPENSPEC_TELEMETRY=0 أو DO_NOT_TRACK=1 في بيئتك.
مثال
نموذج مملوء من config.json:
{
"profile": "core",
"delivery": "both",
"featureFlags": {},
"telemetry": {
"anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
"noticeSeen": true
}
}