Mkhlab arabic-code-review
مراجعة كود عربي — راجع الكود مع فحص التعامل مع النصوص العربية وRTL والتعليقات العربية
install
source · Clone the upstream repo
git clone https://github.com/Moshe-ship/mkhlab
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Moshe-ship/mkhlab "$T" && mkdir -p ~/.claude/skills && cp -r "$T/hermes-skills/arabic-code-review" ~/.claude/skills/moshe-ship-mkhlab-arabic-code-review && rm -rf "$T"
manifest:
hermes-skills/arabic-code-review/SKILL.mdsource content
مراجعة الكود العربي
مراجعة متخصصة للكود الذي يتعامل مع النصوص العربية. استخدم عندما يطلب المستخدم مراجعة كود يتعامل مع العربي.
الفحوصات
1. ترميز Unicode
- هل الملفات محفوظة بـ UTF-8?
- هل يتعامل مع BOM بشكل صحيح?
- هل يعالج الحروف المركبة (combining characters)?
2. اتجاه النص (RTL)
- هل يستخدم
في HTML?dir="rtl" - هل CSS يستخدم
وdirection: rtl
?text-align: right - هل يستخدم Logical Properties (
بدلmargin-inline-start
)?margin-left - هل الأيقونات والأسهم معكوسة؟
3. معالجة النصوص العربية
- هل يتعامل مع التشكيل بشكل صحيح?
- هل يعمل regex مع العربي? (
بدل\p{Arabic}
)[a-zA-Z] - هل الفرز (sorting) يستخدم
?Intl.Collator('ar') - هل البحث يطبّع الألف/الياء (أ/إ/آ → ا، ي → ى)?
4. الأرقام
- هل يدعم الأرقام العربية (٠١٢٣٤٥٦٧٨٩)?
- هل يستخدم
للتنسيق?toLocaleString('ar') - هل التاريخ يدعم التقويم الهجري?
5. أخطاء شائعة
// خطأ: ما يشمل العربي const isLetter = /[a-zA-Z]/.test(char); // صح: يشمل كل اللغات const isLetter = /\p{Letter}/u.test(char); // خطأ: طول النص مع التشكيل const len = text.length; // يحسب الحركات كحروف // صح: تطبيع ثم حساب const len = text.normalize('NFC').replace(/[\u064B-\u065F]/g, '').length; // خطأ: فرز عربي names.sort(); // صح: فرز بالعربي names.sort(new Intl.Collator('ar').compare); // خطأ: بحث بدون تطبيع text.includes("محمد"); // صح: تطبيع الألف والتاء المربوطة function normalizeArabic(t) { return t.replace(/[أإآ]/g, 'ا').replace(/ة/g, 'ه').replace(/ى/g, 'ي'); } normalizeArabic(text).includes(normalizeArabic("محمد"));
صيغة المراجعة
مراجعة الكود العربي:
| # | الملف | المشكلة | الخطورة | الإصلاح |
|---|---|---|---|---|
| 1 | file.js:12 | regex لا يدعم العربي | عالية | استخدم |
| ... |
التقييم: [X/10] جاهزية عربية
متى تستخدم
- المستخدم يبني تطبيق عربي أو ثنائي اللغة
- يطلب مراجعة كود يتعامل مع نصوص عربية
- يسأل "هل الكود يدعم العربي بشكل صحيح?"