دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

استعمل Jev Review باش تقيّم جودة الكود باستمرار بمساعدة الذكاء الاصطناعي

تعلّم كيفاش تثبّت Jev Review كسيرفر MCP محلي، تربطو بالوكلاء البرمجيين المدعومين، تبعث تغييرات مركّزة للتقييم، تقارن النقط بين التكرارات، وتحمي بيانات المستودع الحساسة ملي كتستعمل Jev API.

استعمل Jev Review لتقييم جودة الكود باستمرار بمساعدة الذكاء الاصطناعي

شنو هو Jev Review؟

Jev Review هو سيرفر محلي ديال Model Context Protocol كيعطي لوكلاء البرمجة بالذكاء الاصطناعي مؤشرات منظمة على جودة البرمجيات وهما خدامين. كيدعم Claude Code وCodex وCursor وOpenCode، وكيعرض أداة MCP مركزة سميتها jev_review.

الأداة كتقيّم الكود عبر أبعاد مستقلة بحال الصحة، والتعقيد، وسهولة القراية، والتقسيم لوحدات، وجودة الاختبارات، والموثوقية، والأمان، وقابلية الصيانة. كترجع نقط رقمية، وقيم الثقة، ومؤشرات قابلية التطبيق، وتلميحات محددة مسبقاً من معايير التقييم، عوض مقال نثري على مراجعة الكود.

Jev كيوفر مؤشر الجودة، ولكن وكيل البرمجة الرئيسي ديالك كيبقى مسؤول على تشخيص نقاط الضعف، وتبديل الكود، والتحقق من النتيجة.

Jev Review كيخدم كعملية محلية ديال Node.js عبر MCP stdio. ما عندوش backend مستضاف، ولا قاعدة بيانات، ولا خدمة telemetry، ولا proxy كيسيرو المؤلف. الطلبات اللي فيها سياق المراجعة المصرّح به بشكل واضح كتمشي مباشرة لواجهة Jev API المهيأة.

المميزات الرئيسية

  • تقييم مستمر: راجع التغيير من بعد كل جزء متماسك من التنفيذ، عوض ما تسنى حتى تسالي المهمة.
  • أبعاد جودة مستقلة: كل مقياس قابل للتطبيق كياخذ نقطة خاصة به من 1 حتى 10، وقيمة ثقة من 0 حتى 1.
  • مقارنة التكرارات: زوّد التقييم السابق باش تحدد التحسينات، والتراجعات، ونقاط الضعف اللي مازال ما تحلاتش.
  • سياق مركز: صيفط المهمة، أو diff، أو الملفات المختارة، أو سياق المستودع، أو مجموعة مناسبة منهم.
  • تشغيل محلي: كل عميل مدعوم كيشغل نفس العملية المجمعة dist/server.js عبر stdio.
  • ما كاينش وصول تلقائي للمستودع: السيرفر كيعالج غير السياق اللي كيتبعث للأداة بشكل صريح.
  • ما كايناش نقطة إجمالية مصطنعة: Jev Review كيحافظ على النتائج حسب كل بُعد، عوض يخلطها فـنسبة مئوية ممكن تكون مضللة.

المتطلبات الأساسية

قبل ما تثبت Jev Review، تأكد باللي عندك:

  • Node.js 20 ولا أحدث.
  • مفتاح Jev API من كونسول TypeSafe.
  • Claude Code ولا Codex ولا Cursor ولا OpenCode.

التثبيت السريع

1. صدّر مفتاح API

حط المفتاح فـالبيئة قبل ما تشغل عميل البرمجة:

export JEV_API_KEY="your-key"

ما تحطش المفتاح الحقيقي فـprompts، ولا ملفات المصدر، ولا diffs، ولا إعدادات ملتازم بها.

2. ثبّت الإضافة من GitHub

Jev Review كيتوزع مباشرة من مستودع GitHub ديالو، وماشي عبر نشر npm:

npx plugins add NiazMorshed2007/jev-review

اختار عميل البرمجة ديالك ملي يطلب منك، عاود شغّل العميل، وتأكد باللي سيرفر MCP متصل.

3. طلب مراجعة

من بعد ما تنفذ وتختبر تغيير مهم، طلب من وكيل البرمجة يستعمل Jev Review. مثلاً:

Implement the requested authentication change, run the relevant tests, and use jev-review on the focused diff. Inspect the weakest important dimensions, make only justified improvements, and rescore before the final handoff.

الإعداد حسب العميل

Claude Code

ثبّت هدف Claude Code بشكل صريح:

npx plugins add NiazMorshed2007/jev-review --target claude-code

عاود شغّل Claude Code ونفّذ /mcp باش تتأكد باللي jev-review متصل.

إلى بغيتي إعداد يدوي خاص بـMCP، وجّه Claude Code للسيرفر المجمّع:

claude mcp add --scope user jev-review -- node /absolute/path/to/jev-review/dist/server.js

إلى كنت كتطور من clone محلي، تقدر تحمّل مجلد الإضافة مباشرة:

claude --plugin-dir /absolute/path/to/jev-review

Codex

ثبّت هدف Codex وعاود شغّل العميل:

npx plugins add NiazMorshed2007/jev-review --target codex

نفّذ /mcp باش تتحقق من الاتصال. وللإعداد اليدوي، زِد تعريف السيرفر التالي فـ~/.codex/config.toml:

[mcp_servers.jev-review]
command = "node"
args = ["/absolute/path/to/jev-review/dist/server.js"]
env_vars = ["JEV_API_KEY"]

Cursor

ثبّت هدف Cursor:

npx plugins add NiazMorshed2007/jev-review --target cursor

عاود شغّل Cursor وتحقق من Settings → MCP. المهارة المجمعة سميتها jev-review. تقدر تستعملها بـ/jev-review أو تخليها على Agent Decides.

للإعداد اليدوي، أنشئ أو حدّث ~/.cursor/mcp.json:

{
  "mcpServers": {
    "jev-review": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/jev-review/dist/server.js"],
      "env": {
        "JEV_API_KEY": "${env:JEV_API_KEY}"
      }
    }
  }
}

فـmacOS، Cursor اللي كيتشغل من Dock ممكن ما ياخذش المتغيرات من profile ديال shell. خلّي المفتاح المصدّر متاح لتطبيقات الواجهة قبل ما تشغل Cursor:

launchctl setenv JEV_API_KEY "$JEV_API_KEY"

تحقق باللي المتغير موجود بلا ما تطبع القيمة ديالو:

test -n "$(launchctl getenv JEV_API_KEY)" && echo "JEV_API_KEY is configured"

OpenCode

OpenCode ما مذكورش حالياً كهدف محمول للتثبيت. دير clone للمستودع وسجّل السيرفر المجمّع يدوياً:

git clone https://github.com/NiazMorshed2007/jev-review.git
cd jev-review
opencode mcp add jev-review --global -- node "$PWD/dist/server.js"

بالنسبة للمهارة ولسيرفر MCP بجوج، زيد إعداد بحال هادا فـ ~/.config/opencode/opencode.json، وبدّل المسارات المطلقة:

{
  "$schema": "https://opencode.ai/config.json",
  "skills": ["/absolute/path/to/jev-review/skills"],
  "mcp": {
    "servers": {
      "jev-review": {
        "type": "local",
        "command": ["node", "/absolute/path/to/jev-review/dist/server.js"],
        "environment": {
          "JEV_API_KEY": "{env:JEV_API_KEY}"
        }
      }
    }
  }
}

شغّل opencode mcp list باش تتأكد من الاتصال. ممكن OpenCode يبيّن الأداة باسم jev-review_jev_review، مع أن الاسم ديالها فـ MCP كيبقى jev_review.

فهم مُدخلات الأداة

أداة jev_review كتقبل البنية التالية:

{
  task?: string;
  diff?: string;
  files?: Array<{
    path: string;
    content: string;
  }>;
  repositoryContext?: string;
  previousEvaluation?: Evaluation;
}

خاص يكون على الأقل حقل واحد ديال السياق الحالي. فالغالب، صيفط المهمة وdiff مركز. زيد الملفات كاملة غير ملي تكون تفاصيل التنفيذ المحيطة ضرورية باش يتفهم التغيير.

طلب تصوري يقدر يكون فيه:

{
  "task": "Add input validation to the account creation endpoint",
  "diff": "<focused version-control diff>",
  "repositoryContext": "Node.js service using the repository's existing validation conventions"
}

هاد المثال كيوضح شكل المُدخلات؛ عميل البرمجة كيستدعي عادة أداة MCP نيابة عليك.

مسار العمل الموصى به للتقييم

  1. فهم المهمة. تفقد المستودع، المتطلبات، الاتفاقيات، والاختبارات المرتابطة.
  2. نفّذ جزء متماسك. كمّل جزء مهم من التغيير عوض ما تراجع كل تعديل صغير.
  3. شغّل الفحوصات المناسبة. تأكد من السلوك قبل ما تطلب نتيجة باش توجه الخدمة اللي من بعد.
  4. حدّد خط أساس. عيط لـ jev_review بالمهمة وdiff مركز.
  5. حقق فالأبعاد الضعيفة. خلّي وكيل البرمجة يتفقد التنفيذ ويكوّن فرضية واضحة على كل نقطة ضعف مهمة.
  6. دير أصغر تحسين مبرر. تفادى إعادة الكتابة التخمينية ولا الهندسة المعمارية اللي ما عندهاش لازمة.
  7. عاود التحقق. عاود شغّل الاختبارات، وفحوصات الأنواع، وأدوات lint، ولا أي فحوصات مناسبة للمشروع.
  8. عاود التقييم مع السجل. مرّر النتيجة السابقة فـ previousEvaluation باش تحصل على مقارنات لكل مقياس.
  9. حبس فالوقت المناسب. سالِي ملي تدوز المتطلبات والفحوصات، وملي البحث على نقطة أعلى ما يبقاش غادي يزيد قيمة عملية كبيرة.

مثلاً، المقارنة تقدر تبيّن تغيير فالوضوح بحال 6.3 → 8.1، بينما الأمان يبقى 8.2 → 8.2. هاد الشي كيعطي معلومات أكثر من نقطة موحدة وحدة، حيث كيبين بالضبط شنو هي أبعاد الجودة اللي تبدلات.

أبعاد الجودة

الأبعاد الأساسية

ملي كيكون السياق المقدم كافي، Jev Review كيقيّم:

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

الأبعاد المرتابطة بالسياق

الأبعاد التالية كتتقيّم غير ملي كتكون الأدلة المناسبة متوفرة:

  • الأداء وفعالية استعمال الموارد.
  • قابلية التوسع والمرونة.
  • التوافق واستقرار API.
  • قابلية المراقبة والتشغيل.

إلا ما كانش السياق المقدم كيسمح بتقييم شي بُعد، فالنتيجة كتستعمل { "applicable": false }. المُقيّم ما كيفترضش أن الدوال القصيرة، الملفات الصغيرة، الطبقات الإضافية، التعليقات الكثيرة، انعدام التكرار، ولا كثرة الاختبارات أحسن تلقائياً.

نصائح متقدمة

خلي سياق المراجعة مركز

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

Jev Review ما كيزيدش من عندو حتى حد لعدد الحروف، ولا الرموز، ولا الملفات. ولكن السلوك المباشر ديال API jev-latest كيشير لحد أقصى فالحالة المرسلة كيقارب 32,768 رمز. هاد الحد ما منشورش فتوثيق API وقد يتبدل. إلا رجّع API الخطأ max_tokens_exceeded، حيد السياق اللي ما عندوش علاقة ولا قسم الخدمة لأجزاء مراجعة متماسكة.

استعمل التقييمات السابقة فالتكرار المضبوط

مرّر النتيجة السابقة كاملة فـ previousEvaluation ملي كتعاود التقييم. Jev Review كيقارنها محلياً وكيبلّغ على الفروقات لكل مقياس، والتحسينات، والتراجعات، ونقط الضعف اللي ما تحلاتش. التقييم السابق ما كيدخلش فالسياق الحالي للكود اللي كيتصيفط لـ Jev.

شخّص قبل ما تعدّل

النقطة الضعيفة إشارة، ماشي تفسير للسبب الجذري. طلب من وكيل البرمجة يتفقد التنفيذ، ويحدد الأدلة على نقطة الضعف، ويقترح تصحيح بسيط. ما تعاودش كتابة الكود غير باش تحرك رقم.

قدّم المتطلبات على النقط

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

استعمل حتى أدوات مخصّصة للأمان

الأمان غير بُعد واحد فالتقييم، ولكن Jev Review كيكمل وما كيعوّضش أدوات فحص التبعيات، وكشف الأسرار، والتحليل الساكن، واختبارات الاختراق، وضوابط الأمان المخصّصة الأخرى.

الأمان والخصوصية

العملية المحلية ديال MCP كتقرا JEV_API_KEY وكتستعملو غير فـ TLS Authorization header اللي كيتبعث مباشرة لـ https://api.typesafe.ai/v1/systemone. Jev Review ما كيخزّنش المفتاح وما كيسجلوش.

غير task وdiff وfiles وrepositoryContext اللي كتزوّد بهم الأداة بشكل صريح كيتبعثو لـ Jev. السيرفر ما كيقلبش على ملفات المستودع وما كيرفعهاش أوتوماتيكياً.

سياق المراجعة كيخرج من جهازك وكيتمشّى لـ Jev API ديال TypeSafe. ما تقدّمش أسرار ولا مواد ملكية ما عندهاش علاقة بالمراجعة.

راجع سياسة الخصوصية ديال TypeSafe باش تعرف كيفاش كيتعامل السيرفيس البعيد مع البيانات المرسَلة.

تطوير Jev Review محلياً

باش تخدم على المشروع براسو، كلونِي المستودع، نصّب التبعيات، وشغّل التحقق:

git clone https://github.com/NiazMorshed2007/jev-review.git
cd jev-review
npm install
npm run validate

من أوامر التطوير المفيدة:

npm run check
npm test
npm run build
npx plugins discover .
claude plugin validate . --strict

npm run build كينشئ الحزمة الملتزمة بها dist/server.js. اختبارات الوحدات واختبارات بروتوكول MCP كتستعمل نسخاً محلية وهمية وما كتستهلكش الحصة ديال Jev API. طلب مباشر لـ Jev كيحتاج JEV_API_KEY.

الخلاصة

Jev Review كيزيد حلقة منضبطة للتغذية الراجعة على الجودة فعملاء البرمجة المدعومين بالذكاء الاصطناعي، بلا ما يتحكم فالتنفيذ. نصّب خادم MCP المحلي، صيفط ليه سياق مركز من بعد التغييرات المهمة، استعمل النتائج حسب كل بُعد باش توجّه التحسينات المدروسة، وقارن التقييمات بين التكرارات. اعتابر النقط دليل وماشي أهداف، وحبس ملي تكون المتطلبات والفحوصات واحتياجات الجودة العملية متحققة.