main.py— القائمة التفاعلية الرئيسية (7 خيارات تشغيل)scripts/— السكربتات: معالجة واتساب، تقارير، مدير ملفات، أدوات قاعدة البيانات، مراقبةscripts/common.py— الدوال المشتركة بين كل السكربتات (عرض، تفاعل، تحليل واتساب، قراءة إكسل)scripts/logger_config.py— نظام التسجيل (7 جداول في قاعدة منفصلة)db/— طبقة قاعدة البيانات: هيكل الجداول، استعلامات، استيراد، مزامنةdb/constants.py— الثوابت المشتركة (لا تُكرّر في ملفات أخرى)db/helpers.py— الدوال المشتركة: safe_str, safe_int, build_records_insert_sql, build_record_2026_insert_sqlmonitor_v2/— مراقب واتساب (جافاسكربت/نود) — 5 طبقات: core, orchestrator, transport, storage, utilstests/— اختبارات الوحدة (pytest)docs/— التوثيق والدروس المستفادةpython-3.14-docs-text/— وثائق بايثون 3.14 المحلية (534 ملف نصي)
# تشغيل النظام
python main.py
# تشغيل الاختبارات
python -m pytest tests/ -v
# فحص الكود
ruff check scripts/ db/
# تشغيل المراقب
cd monitor_v2 && node index.jsdb/constants.pyيحتوي:MAX_TRIPS,TRIP_FIELDS,TRIP_FIELD_NAMES_ARdb/helpers.pyيحتوي:safe_str,safe_int,build_records_insert_sql,build_record_2026_insert_sql- عند الحاجة لهذه القيم في أي ملف: استورد من المصدر — لا تُعرّف نسخة محلية
- ملفات
db/تستورد نسبياً:from constants import ...،from helpers import ... - ملفات
scripts/تستورد بالمسار الكامل:from db.constants import ... - ترتيب الاستيرادات: مكتبة قياسية، خارجية، محلية
ruffيعمل تلقائياً عبر خطّاف.claude/hooks/ruff_hook.py- الحد الأقصى لطول السطر: 99 حرفاً (حسب
ruff.toml)
- وسائط افتراضية قابلة للتغيير — استخدم
None - مقارنة
Noneبـ==— استخدمis - استيراد شامل بـ
*— حدّد الأسماء صراحة exceptمجردة — التقط استثناءات محددةtype()لفحص النوع — استخدمisinstance
-
db/ht_sc.db— القاعدة الرئيسية (11 جدول)- رحلات، رسائل، مرسلين، مخالفات، تسجيل يومي، مقارنات
- بايثون يقرأ ويكتب. المراقب يكتب المخالفات فيها.
-
db/ht_sc_new.db— قاعدة 2026- جدول
record_2026+ جداول مرجعية + إحصائيات النوبات - المراقب يكتب فيها مباشرة.
write_excel_from_db.pyيقرأ ويصدّر للإكسل.
- جدول
-
logs/ht_sc_logs.db— سجلات النظام- 7 جداول: أحداث نظام، تفاعلات، ملفات، جودة بيانات، معالجة، عمليات قاعدة، أخطاء
- بايثون والمراقب يكتبان فيها.
كل القواعد تستخدم WAL + busy_timeout = 5000ms للوصول المتزامن.
- المراقب (
monitor_v2/) مكتوب بجافاسكربت ويعمل بنود - يتصل بالنظام البايثوني عبر القواعد الثلاث المشتركة
- يتبادل الحالة عبر ملفات في
monitor_v2/state/ scripts/monitor_v2_tool.pyيدير تشغيل وإيقاف المراقب من القائمة الرئيسية
ARCHITECTURE.md— تحليل معماري شامل: طبقات، اعتماديات، كود مكرر، توصياتREFACTOR_BASELINE.md— خط أساس إعادة الهيكلةdocs/LESSONS.md— 50 درساً مستفاداً من تطوير المشروعdocs/HANDOFF_2026-03-14.md— وثيقة تسليم شاملة: الملفات الجديدة والمحدّثة والمحذوفة و6 مهام معلّقة
مجلد python-3.14-docs-text/ يحتوي وثائق بايثون 3.14 كاملة. ابحث فيه قبل أي قرار تقني:
- وحدة معينة:
library/<module>.txt(مثلاًlibrary/sqlite3.txt) - الدوال المدمجة:
library/functions.txt - الأنواع المدمجة:
library/stdtypes.txt - نموذج البيانات:
reference/datamodel.txt - تلميحات الأنواع:
library/typing.txt
- اسأل ولا تخمّن — عند مواجهة أمر غير واضح وجّه سؤالاً فوراً
- الوثائق هي المرجع — ابحث في
python-3.14-docs-text/قبل كل تنفيذ - رشّد التوكنز — ردود موجزة، لا حشو، لا وكلاء ذكاء اصطناعي، لا مهارات
- لا تحذف قاعدة البيانات — ممنوع حذف أو إعادة بناء
ht_sc.dbأوht_sc_new.db - لا تغيّر هيكل الإكسل — بنية المجلدات والملفات ثابتة
- اللغة العربية — الشرح والتعليقات بالعربية. الإنجليزية داخل الكود فقط.
القواعد التفصيلية وبيانات العمل (ناقلات جوية، أنواع الفيزا، المشرفين، النوبات، صالات السفر) موجودة في:
.claude/rules/AI_RULES.md
عند ضغط المحادثة احتفظ دائماً بـ:
- قائمة الملفات التي عُدّلت في هذه الجلسة
- أي قرارات تصميمية اتُّخذت
- أي أخطاء اكتُشفت ولم تُحل بعد
- آخر نتيجة اختبارات
- المهمة الحالية التي نعمل عليها
في بداية كل جلسة: اقرأ الملفات الثلاثة. بعد كل رد: حدّثها فوراً — المستخدم قد يُغلق بالـ X بدون /exit.
- @.claude/memory/MEMORY.md — السياق والقرارات التقنية
- @.claude/memory/LESSONS.md — الدروس والأخطاء
- @.claude/memory/PROGRESS.md — المُنجز والمعلّق
- @.claude/rules/auto_memory.md — قاعدة التحديث الإلزامي