# مراجعة أدلة الاستضافة السعودية — نسخة محلية تجريبية للمطورين

تشير المسارات مثل `examples/` و`docs/` و`SECURITY.md` إلى ملفات داخل الحزمة المثبتة.

الإصدار **0.1.0-beta.2** · [English](README.en.md) · أداة استرشادية مستقلة من عزيز الخنيزان / azizme.com. لا تمنح شهادة أو شارة. بُنيت محلياً؛ نشر الحزمة وتثبيتها في متجر الإضافات قراران منفصلان.

يتشارك سطر الأوامر وخادم MCP محرك فحص ساكن محدود ومحركات الموقع الحتمية. تعرض النتائج إشارات من أسماء مكتبات ومناطق مع مراجع نسبية للملفات، وحدود التغطية، وتقييماً منفصلاً للانطباق التنظيمي ولنطاقات المقترح الأربعة، ومسار بيانات يحتاج إلى تأكيد وأسئلة للمزود. وعند وجود إشارة أو تصريح بمكون ذكاء اصطناعي، يظهر جدول من سبع مراحل: الاستدلال والبدائل، والتضمين والاسترجاع، والإشراف، وأدوات الوكلاء، والتتبعات وسجلات إساءة الاستخدام، والاحتفاظ، والتدريب. يظل الاستخدام الفعلي والموقع غير معروفين دون دليل مستقل لكل مرحلة. لا يثبت الكود مواقع الإنتاج أو العقود أو المعالجين الفرعيين أو الوصول من الخارج.

## التثبيت والفحص قبل ربط مساعد سحابي

يلزم **Node.js 22 أو أحدث**. نزّل ملف الحزمة وملف SHA256SUMS.txt من صفحة المطورين، وقارن بصمة SHA-256 وافحص المحتوى. في Windows استخدم `Get-FileHash -Algorithm SHA256 -LiteralPath "C:\Downloads\azizme-saudi-hosting-review-0.1.0-beta.2.tgz"`، وفي macOS أو Linux استخدم `shasum -a 256` أو `sha256sum`. اختر مجلداً مستقلاً للأداة خارج مشروع التطبيق. مثال Windows:

```powershell
node --version
New-Item -ItemType Directory -Path 'C:\Tools\saudi-hosting-review'
Set-Location -LiteralPath 'C:\Tools\saudi-hosting-review'
npm init -y
npm install --ignore-scripts --no-audit --no-fund 'C:\Downloads\azizme-saudi-hosting-review-0.1.0-beta.2.tgz'
node 'C:\Tools\saudi-hosting-review\node_modules\@azizme\saudi-hosting-review\dist\cli.js' list --root 'C:\Projects\my-app'
node 'C:\Tools\saudi-hosting-review\node_modules\@azizme\saudi-hosting-review\dist\cli.js' inspect --root 'C:\Projects\my-app' --locale ar --format markdown
```

في macOS وLinux استخدم مجلداً مستقلاً ومسارات مطلقة مثل `/Users/you/Tools/saudi-hosting-review/node_modules/@azizme/saudi-hosting-review/dist/cli.js` مع الأوامر نفسها. ضع المسارات التي تحتوي مسافات بين علامتي اقتباس. هذان النظامان موثقان ولم يُختبرا في هذا الإصدار الذي جرى اختباره على Windows.

ينزّل التثبيت تبعيات **الأداة** المحددة إصداراتها. لا يستخدم الفحص الشبكة ولا يحتاج إلى حساب ذكاء اصطناعي أو مفتاح API. لا يثبت تبعيات التطبيق ولا يشغّل شفرته. يثبت npm shrinkwrap إصدارات التبعيات المتعدية. لا تستخدم الأداة أمراً وهمياً عبر npx أو حزمة منشورة باسم غير موجود.

تعمل أداة الفحص محلياً ولا ترفع مستودعك إلى azizme.com. تُمرر النتائج إلى مساعدك؛ وإذا كان يستخدم نموذجاً سحابياً فقد تُرسل النتائج والسياق الذي يشاركه المساعد وفق إعدادات مزوده. التشغيل المحلي لا يعني أن المحادثة كلها تبقى على جهازك. افحص نتائج سطر الأوامر أولاً؛ تقليل البيانات آلياً لا يضمن اكتشاف كل سر أو اسم ملف حساس.

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

شغّل المسار الفعلي لـ `dist/cli.js` ثم أحد الأوامر التالية:

| الأمر | النتيجة |
|---|---|
| `list --root "ABS_PROJECT"` | عرض الملفات المرشحة والتغطية دون قراءة محتواها |
| `inspect --root "ABS_PROJECT" --locale ar --format json` | تقرير JSON؛ الصيغة الافتراضية Markdown |
| `inspect --root "ABS_PROJECT" --role customer --personal-data unknown` | تصريحات محددة؛ الإجابة المحذوفة تبقى غير معروفة |
| `inspect --root "ABS_PROJECT" --scope-input "sanitized-components.json"` | مراجعة نطاقات المقترح من حدود الخدمة وحقائق المكونات |
| `sources` | مقتطفات المصادر المراجعة وبياناتها من الحزمة المثبتة، دون تحديث عبر الشبكة |
| `compare --root "ABS_PROJECT" --before "before.json" --after "after.json"` | مقارنة تقريرَي JSON للمجلد نفسه، أو كائني `snapshot` المستخرجين منهما |

يخفض `--max-files 1..400` سقف الفحص. يتيح `--output "ABS_NONPUBLIC/report.md"` أو `.json` الحفظ بطلب صريح في مجلد موجود خارج المشروع ومجلدات Git والنشر والبناء، مع رفض استبدال ملف قائم. دون ذلك تُطبع النتائج فقط. يلغي Ctrl+C الفحص. لا تحفظ الأداة التقرير تلقائياً ولا تضيفه إلى Git.

ابدأ من قالب النطاقات المجهولة (`examples/scope-input.unknown.json`)، وانسخه إلى مجلد عمل خاص، ثم استبدل وصف الخدمة ومكوناتها. أبقِ المواقع غير المثبتة بقيمة `null`. جرد القالب غير مكتمل عمداً، ولا يمكن أن يدعم ادعاءً إيجابياً. يتطلب ملف نطاقات المقترح الحقول `proposedScopePolicyVersion` و`serviceBoundary` و`componentFacts` كما في `src/schemas.ts`. استخدم رموز الدول ذات الحرفين أو `null` للمجهول. عند تكييف مثال المختبر احذف حقل النمط والبيانات الوصفية واستبدل المصدر الافتراضي بتصريحات فعلية مناسبة. وصف الدليل بأنه `documented` يعني أنه **مقدم من المستخدم** ولا يعني أن الأداة تحققت منه مستقلاً. تُراجع الأدلة وحدودها دائماً؛ ولا يستطيع المدخل تحويل فحص حقيقي إلى مثال افتراضي إيجابي.

يقبل beta.2 لقطات beta.1 وbeta.2 للمجلد نفسه. يعرض اختلاف إصدار الفاحص منفصلاً عن تغيّر حزمة المصادر والملاحظات المعمارية؛ ولا يعدّ تحديث المصادر دليلاً جديداً على النشر.

## ربط MCP محلياً

المدخل الفعلي للخادم هو `node_modules/@azizme/saudi-hosting-review/dist/server.js`. يتطلب `--root` مع مجلد مشروع مطلق ومحدد عند التشغيل. لا تستطيع صفحة ويب تشغيله أو مخاطبته عبر stdio. لا يوجد جسر localhost أو خدمة HTTP.

لمشروع موثوق في Codex، راجع قالب إعداد المشروع (`examples/codex.config.toml`) وادمجه صراحةً في `.codex/config.toml` مع استبدال المسارين، دون استبدال إعداد قائم. ويمكن استخدام `codex mcp add saudi-hosting-review -- node "ABS_SERVER_JS" --root "ABS_PROJECT"` إذا أردت تعديل إعداد المستخدم؛ لا تخلط نطاق الإعداد العام بإعداد المشروع. يعرض `/mcp` الاتصال في العميل. لم تُثبت الحزمة أي إعداد في عميل المستخدم. إذا لم يجد العميل Node.js 22 أو أحدث، استبدل `command = "node"` بالمسار المطلق للبرنامج؛ ويمكن استخدام الشرطة المائلة `/` في مسارات Windows داخل TOML. أعد تشغيل العميل بعد تعديل إعداد المشروع.

في Claude Code، ادمج قالب JSON (`examples/claude.mcp.json`) في `.mcp.json` للمشروع المحدد، أو شغّل من داخله `claude mcp add --scope project --transport stdio saudi-hosting-review -- node "ABS_SERVER_JS" --root "ABS_PROJECT"`. حافظ على إعدادات الخوادم الموجودة، وراجع موافقة المشروع داخل العميل، ثم افحص `claude mcp list`. ظهور «بانتظار الموافقة» متوقع قبل الموافقة؛ ولا يعني نجاح الاتصال.

اختُبر عميل Codex 0.153.2 الفعلي عبر app-server: اكتشاف الأدوات الست والفحص وتقرير عربي وقراءة مورد المصادر واكتشاف مهارة المشروع. استخدم الاختبار مشروعاً اصطناعياً ومحادثة مؤقتة دون أي استدعاء نموذج، وبقي إعداد المستخدم دون تغيير. تحقّق Claude Code 2.1.239 من بنية المهارة واكتشف إعداد MCP للمشروع بانتظار الموافقة؛ لم يُختبر اتصال MCP الفعلي أو مراجعة يقودها نموذج داخل Claude. اختُبر المسار الكامل أيضاً بعميل SDK الرسمي بنمطي البروتوكول المدعومين. لم تُجرَ مكالمة نموذج مدفوعة.

الأدوات: `inspect_project`، `assess_applicability`، `assess_proposed_scopes`، `get_source_evidence`، `build_review_pack`، `compare_review_snapshots`. تشمل الحزمة مورد المصادر `saudi-hosting://sources` وبرومبت `review-selected-project` باللغتين. تبقى آخر ثلاثة فحوص فقط في ذاكرة العملية. تمنع بصمة المجلد الخلط العرضي بين لقطات مشاريع مختلفة، وتبقى اللقطات المستوردة بيانات غير متحقق منها.

## إضافة سير العمل

يعرّف `plugin.json` وقالب التوافق `.codex-plugin/plugin.json` مهارة المراجعة باللغتين (`skills/saudi-hosting-review/SKILL.md`). تعمل مع MCP أو في وضع برومبت فقط معلن بوضوح. لا تشغّل الإضافة MCP تلقائياً: تحديد المجلد الثابت وتثبيت الأداة وربط الخادم خطوات صريحة. لا تضيف حساباً أو إعداداً عاماً أو إجراءً خلفياً.

يتبع هيكل الإضافة والمهارة التوثيق الرسمي الحالي، لكن تثبيت متجر الإضافات لم يُختبر. في Codex انسخ `skills/saudi-hosting-review` إلى `.agents/skills/` للمشروع المختار. وفي Claude Code استخدم `.claude/skills/` داخل المشروع. أعد تشغيل العميل عند الحاجة، ثم استدعِ `$saudi-hosting-review` في Codex أو `/saudi-hosting-review` في Claude وحدد المجلد ولغة النتائج. راجع دليل الإضافة بالعربية (`docs/plugin.ar.md`) أو بالإنجليزية (`docs/plugin.en.md`). اكتشاف المهارة مستقل عن ربط MCP. لا يلزم متجر للاستفادة من برومبت المراجعة.

## الصيانة والاختبارات

من مجلد مصدر الأداة داخل نسخة الموقع: `npm ci --ignore-scripts` ثم `npm run check`. يزامن البناء محرك `saudi-hosting-core` والمصادر المراجعة ويترجم TypeScript. تشمل الاختبارات قيماً سرية اصطناعية وتعليمات خبيثة وروابط المجلدات والروابط الصلبة والملفات الثنائية وحدود الفحص والإلغاء والحفظ الآمن والأدوات الست بعميل SDK حقيقي والتثبيت من ملف الحزمة في بيئة مستقلة. تعمل الحزمة المبنية دون تثبيت الموقع كله.

سياسة المقترح: `saudi-hosted-draft-1.0`. حزمة المصادر: `saudi-hosting-sources-2026-10-03.2`. يتطلب أي تحديث مراجعة صريحة واختبارات وإصداراً وبصمة جديدين؛ لا يوجد تحديث آلي أو جدول خلفي. راجع حدود الأمن (`SECURITY.md`)، ومنها سباقات تغيير الملفات وحدود عزل نظام التشغيل.

مراجع الإعداد التي روجعت في 3 أكتوبر 2026: [SDK الرسمي](https://ts.sdk.modelcontextprotocol.io/v2/)، [MCP في Codex](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)، [Claude Code](https://code.claude.com/docs/en/mcp)، [تغليف إضافات OpenAI](https://developers.openai.com/plugins/build/plugins). جرى أيضاً فحص `codex mcp add --help` محلياً. هذه مراجع إعداد تقني وليست متطلبات قانونية سعودية.
