Requesting Code Review — Pre-commit review: الأمان scan, quality gates, auto-fix
Requesting Code Review — Pre-commit review: security scan, quality gates, auto-fix
ابدأ بالمعنى، ثم انتقل إلى التفاصيل.
هذا الدرس يشرح Requesting Code Review — Pre-commit review: الأمان scan, quality gates, auto-fix ضمن موضوع تشغيل Hermes بحدود أمان واضحة. ستعرف ما الذي يفعله هذا الجزء، متى تحتاجه، وما أصغر خطوة آمنة للتأكد أنه يعمل.
إن كنت جديدًا: لا تحفظ الأسماء. ركّز على ثلاثة أسئلة: ما المشكلة التي يحلها هذا الجزء؟ ما البيانات أو الصلاحيات التي يحتاجها؟ وكيف أعرف أن النتيجة صحيحة؟
للتطبيق: اقرأ المثال الأول، حدّد ما سيغيّره، نفّذه على بيانات تجريبية، ثم قارن الناتج بما وعد به المصدر.
للمتخصص: راجع Skill metadata، Reference: full SKILL.md، When to Use، ثم افحص حالات الفشل والتوافق مع إصدارك.
يكفي أن تعرف ما هي الملفات والحسابات التي سيصل إليها الوكيل.
نتيجة واضحة قبل أن تقرأ.
- تفهم Requesting Code Review — Pre-commit review: الأمان scan, quality gates, auto-fix من دون افتراض معرفة سابقة.
- تفرّق بين الوصف والمعلومة التي تحتاج إلى اختبار في بيئتك.
- اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.
تعريفات قصيرة قبل التفاصيل.
- Skill
- حزمة تعليمات تعلّم Hermes طريقة عمل متكررة من دون إضافة خدمة خارجية بالضرورة.
- Approval & sandbox
- الموافقة توقف الفعل الحساس قبل التنفيذ، والعزل يحد أثر العملية إذا حدث خطأ.
Pre-commit review: security scan, quality gates, auto-fix
ما الذي يقوله المصدر، وبأي ترتيب؟
- 01Skill metadata
ابدأ بهذا القسم لتفهم الفكرة أو البنية الأساسية.
- 02Reference: full SKILL.md
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 03When to Use
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 04Step 1 — Get the diff
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 05Step 2 — Static security scan
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 06Step 3 — Baseline tests and linting
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 07Step 4 — Self-review checklist
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 08Step 5 — Independent reviewer subagent
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 09Step 6 — Evaluate results
اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.
- 10Step 7 — Auto-fix loop
اختم بهذا القسم لتفحص النتيجة والحالات الخاصة.
انسخ بعد أن تفهم الأثر.
git diff --cachedgit diff --name-only
git diff HEAD -- specific_file.py# Hardcoded secrets
git diff --cached | grep "^+" | grep -iE "(api_key|secret|password|token|passwd)\s*=\s*['\"][^'\"]{6,}['\"]"
# Shell injection
git diff --cached | grep "^+" | grep -E "os\.system\(|subprocess.*shell=True"
# Dangerous eval/exec
git diff --cached | grep "^+" | grep -E "\beval\(|\bexec\("
# Unsafe deserialization
git diff --cached | grep "^+" | grep -E "pickle\.loads?\("
# SQL injection (string formatting in queries)
git diff --cached | grep "^+" | grep -E "execute\(f\"|\.format\(.*SELECT|\.format\(.*INSERT"اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.
طابق أي أمر مع إصدار Hermes المثبّت، وراجع الملفات والحسابات التي قد يصل إليها، واستخدم بيانات غير حساسة في أول اختبار. إذا اختلف الشرح عن المصدر، فالمصدر الرسمي هو المرجع النهائي.