recent
أخبار ساخنة

Claude

 تمام. قبل ما تكمل مع Claude بـ “Allow all edits”، لازم تثبت نقطة رجوع (Backup Commit) وتفصل “الشغل الجديد” عن “الأساس” لأن عندك تغييرات ضخمة + ملفات جديدة كتير + حذف ملفات. ده لو حصل غلط هتضيع بسهولة.

1) اعمل Commit “Snapshot” دلوقتي (أفضل حل)

نفّذ بالترتيب:

cd F:\dev\ai

git add -A
git commit -m "snapshot: before claude full-control session"

بعدها:

git status

لازم يقول: working tree clean

لو الـ commit رفض بسبب اسم/إيميل git، نفّذ مرة واحدة:

git config --global user.name "Ahmed Shehab"
git config --global user.email "ahmed@example.com"

وبعدين كرر commit.


2) مهم: أنت قلت “ارجاع version = 1.2.0 وحذف التحديثات”

الواقع: عندك ملفات migrations جديدة كتير + Dockerfile + DESIGN_SYSTEM.md + CLAUDE.md… إلخ.
قبل ما تطلب “حذف كل التحديثات”، لازم تحدد معناها عمليًا:

  • هل تقصد ترجع الريبو لحالة v1.2.0 الأصلية بالكامل؟

    • لو نعم: ده معناه غالبًا Reset/Checkout لنسخة قديمة أو Tag.

  • ولا تقصد “حذف وحدات معيّنة” فقط؟ (زي BOQ/WBS/IPC/Primavera… إلخ)

أنت سابقًا طلبت حذف وحدات بعينها، وده حصل. إنما “حذف كل التحديثات” معناها أوسع جدًا.

لو عايز رجوع كامل لآخر نسخة stable على GitHub:

git fetch
git reset --hard origin/main
git clean -fd

⚠️ ده هيمسح كل التغييرات والملفات الجديدة (بما فيها اللي أنت محتاجه). لذلك ما تعملوش إلا لو ده هدفك فعلًا.

بما إنك عايز تطويرات (بروفايل، عداد معدات… إلخ)، فالأصح: نثبت Snapshot ثم نكمّل تطوير.


3) بعد الـ Snapshot: خلّي Claude يشتغل “مرحلة مرحلة”

أنت دلوقتي جاهز تبعتله برومبت مُحكم — ده نص عملي ومباشر (انسخه له):

أنت مسؤول عن هذا الريبو، لكن ممنوع تعمل أي تعديل قبل ما تعمل التالي:

1) اقرأ git status واعتبر أن عندنا Snapshot commit جاهز للرجوع.
2) اعمل خطة تنفيذ على 3 مراحل فقط، وكل مرحلة:
   - List الملفات التي ستتغير
   - لماذا ستتغير
   - كيف سنختبرها

قيود صارمة:
- لا تحذف أي ملفات/مجلدات إضافية بدون طلب صريح.
- لا تعدل migrations أو dependencies أو .env.
- أي تعديل UI يجب أن يكون عبر design system / CSS shared فقط.

ابدأ الآن بفحص:
A) سبب مشاكل تسجيل الدخول المحتملة (DB mismatch / user seed / create-admin CLI).
B) تأكيد قاعدة بيانات واحدة instance/construction.db وعدم وجود أي تشتت.
C) تأكيد وجود admin user وإنشاءه لو غير موجود عبر CLI command آمن.

ثم انتظر مني كلمة: "نفّذ المرحلة 1".

4) نقطة مهمة من اللي عندك في git status

أنت عندك:

  • deleted: ملفات QA كثيرة + بوابات قديمة (كويس لو ده مقصود)

  • untracked: migrations كثيرة + Dockerfile + design system files

قبل ما تعتمد على Claude “في كل حاجة”، خليه ما يلمسش migrations الجديدة دي إلا لو أنت طالب.


5) لو هدفك الآن: “تثبيت النظام” + “إنشاء Admin” بسرعة

بعد ما تعمل snapshot، نفّذ يدويًا اختبار بسيط (عشان تتأكد أن بيئة بايثون شغالة):

python -c "from app import create_app; app=create_app(); print('OK', app.config.get('SQLALCHEMY_DATABASE_URI'))"

ده هيطبع DB URI اللي السيرفر بيستخدمه.
لو طلع غير instance/construction.db يبقى لازم نثبت الـ DATABASE_URL.


الخلاصة

  1. اعمل git add -A + git commit الآن.

  2. بعدها شغّل أمر طباعة DB URI.

  3. بعدها ابعت لClaude البرومبت المرحلي.

لو نفذت الـ commit وظهر لك أي Error (خصوصًا user.name/email أو hooks)، انسخلي نص الخطأ وأنا أديك الأمر الدقيق لإصلاحه.

google-playkhamsatmostaqltradentX