profile
مرجع واجهة سطر الأوامر لمجموعة أوامر apothem profile.
إدارة الملف التعريفي المشترك لـ Apothem.
profile مجموعة أوامر ذات أربعة أوامر فرعية: init، وshow، وset، وedit.
الملف التعريفي المشترك هو مصدر الحقيقة الوحيد الذي يُجسِّده كل محوّل إطار عمل في
إعداده الأصلي.
الموجز
apothem profile init [--profile PATH] [--force]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile show [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile set KEY VALUE
[--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]
apothem profile edit [--profile PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]الخيارات المشتركة
يقبل كل أمر فرعي الخيارات المشتركة أدناه.
| الخيار | الوصف |
|---|---|
--profile PATH | مسار ملف YAML للملف التعريفي المشترك (القيمة الافتراضية هي الموقع القياسي للملف التعريفي). |
--quiet، -q | يُخمِد المخرجات المعلوماتية؛ لا تُصدَر إلا الأخطاء. |
--verbose، -v | يُصدِر مخرجات تشخيصية إضافية. |
--format plain|json | صيغة المخرجات (الافتراضي: plain). |
--json | اختصار لـ --format json. |
--no-color | يُعطِّل رموز ألوان ANSI في المخرجات. |
-h، --help | يعرض المساعدة ويخرج. |
الأوامر الفرعية
profile init
يُنشئ هيكلًا أوّليًا أدنى لملف تعريفي صالح وفق المخطط في
~/.config/apothem/profile.yaml أو --profile PATH. تُحفَظ
الملفات الموجودة ما لم يُقدَّم --force.
السطر الأول من الهيكل الأوّلي سطر وضع yaml-language-server يُسمّي قيمة
$id لمخطط الملف التعريفي،
https://apothem.ahmedgad.com/schemas/profile.schema.json. يقدّم الموقع
المخطط المُحزَّم على ذلك العنوان، لذا فإن المحرّر الذي يدعم لغة YAML
يتحقّق من الملف التعريفي أثناء تحريرك له. وكل مخطط مُحزَّم تحت
src/apothem/schemas/ يُقدَّم بالطريقة نفسها على
https://apothem.ahmedgad.com/schemas/<file>.
| الخيار | الوصف |
|---|---|
--force | يكتب فوق هيكل أوّلي موجود للملف التعريفي. |
profile show
يعرض الملف التعريفي المشترك بعد التحقّق منه وتوسيع قيمه الافتراضية. مع
--json يكون المستند هو الملف التعريفي نفسه، تتصدّره
schema_version: نسخة مخطط الملف التعريفي التي قرأه المحرّك على أساسها
(راجع عقد مخرجات JSON).
profile set KEY VALUE
يُعيِّن مفتاحًا في الملف التعريفي المشترك. KEY مسار منقوط ينزل داخل
الملف التعريفي المتداخل (identity.name، وpreferences.style،
وenforcement.sprints، وharnesses.<harness>.preferences.style)؛
والمفتاح المفرد الذي لا نقطة فيه يُعيِّن عقدة في المستوى الأعلى. تُخزَّن
VALUE سلسلةً حرفية — لا تُحوَّل الكلمات المجرّدة قسرًا (تبقى
no هي "no"، وتبقى 2024-01-01 و1.0
سلاسل نصّية) — باستثناء true/false (أعلام الفرض المنطقية)
والإدخال الصريح [...]/{...} بصيغة قائمة/خريطة. ويُتحقَّق من
الملف التعريفي المُجمَّع بالكامل مقابل المخطط قبل الكتابة؛ ويُرفَض التعيين غير
الصالح ويبقى الملف التعريفي على القرص دون تغيير.
| الوسيط | الوصف |
|---|---|
KEY | المسار المنقوط داخل الملف التعريفي المراد تعيينه (مطلوب). |
VALUE | القيمة الحرفية المراد إسنادها؛ يُتحقَّق منها قبل الكتابة (مطلوب). |
profile edit
يفتح الملف التعريفي المشترك في محرّر النظام.
أخطاء التحقّق
كل أمر يقرأ الملف التعريفي يتحقّق منه مقابل المخطط المُحزَّم ويُبلِغ عن كل مشكلة يجدها في تمريرة واحدة، بحيث يمكن لتعديل واحد أن يُصلحها جميعًا:
- المخرجات النصّية العادية تُسمّي المشكلة الأولى كاملةً (
Field، وReason، وFix، وOffending value (redacted): المُدخَل الذي فشل، مع استبدال القيم ذات هيئة الأسرار بـ<redacted>؛ وهو ليس أبدًا بديلًا مقترحًا)، ثم تسرد حتى عشر مشكلات أخرى تحتOther problems. - مخرجات JSON تحتفظ بالمشكلة الأولى في حقول المستوى الأعلى من الكائن
error، وتضيف مصفوفةerrorsتضمّ كل مشكلة (code، وfield، وreason، وfix، وsafe_value). - المفاتيح غير المعروفة لا تُردِّد إلا المفتاح غير المتوقَّع وقيمته المُنقَّحة، لا الملف التعريفي كاملًا.
- علامات الكتلة المُدارة. لا يجوز لأي مفتاح أو قيمة نصّية أن يحتوي
<!-- BEGIN APOTHEM MANAGED BLOCK -->أو<!-- END APOTHEM MANAGED BLOCK -->. يكتب Apothem هاتين العلامتين حول الكتلة التي يديرها في ملفات التعليمات، ويقع نصّ الملف التعريفي داخل تلك الكتلة، لذا فإن وجود علامة فيه سيشطر الكتلة. ويفشل كل حقل من هذا النوع بالرمزprofile.managed_block_marker: يكونfieldمساره المنقوط (مثلrules.2أوmcp_servers.search.env.SEARCH_MODE) ويُسمّيreasonالعلامة. ولا تُردَّد القيمة نفسها أبدًا (قيمةsafe_valueهيnull)، إذ قد تكون بيانات اعتماد.
يكتب profile init (وكل أمر آخر يُنشئ هيكلًا أوّليًا لملف تعريفي)
schema_version: 1. ويُقرَأ الملف التعريفي الذي لا يحمل
schema_version على أنه النسخة 1.
أمثلة
apothem profile init
apothem profile init --profile ./profile.yaml --force --json
apothem profile show
apothem profile show --json
apothem profile set seriousness SHARED
apothem profile set rules '["Use fake placeholders in examples."]'
apothem profile editرموز الخروج
| الرمز | المعنى |
|---|---|
| 0 | نجاح (أو، بالنسبة إلى edit، خرج المحرّر خروجًا طبيعيًا) |
| 1 | الملف التعريفي مفقود، أو غير صالح، أو موجود مسبقًا دون --force، أو تتعذّر كتابته |
| 64 | خطأ في الاستخدام: خيار أو أمر غير معروف، أو قيمة خيار مفقودة أو غير صالحة. مع --json يكون الخطأ غلاف JSON بالرمز cli.usage. |
انظر أيضًا
- apothem install — يُجسِّد الملف التعريفي في إطار عمل
- apothem doctor — يُشغِّل تشخيصات التثبيت على مستوى النظام