منصوبے کے بارے میں

# Claude Code سیشن ری سیٹ شیڈیولر ## جائزہ یہ ایک GitHub Actions پر مبنی آٹومیشن ٹول ہے جو شیڈول کی بنیاد پر Claude Code سیشن ری سیٹس کو مینیج کرتا ہے۔ سسٹم کام کے عام اوقات کے مطابق حکمت عملی کے تحت منتخب کردہ اوقات پر خودکار سیشن ری سیٹس ٹریگر کرتا ہے، تاکہ صارفین کو ضرورت کے وقت تازہ 5 گھنٹے کا استعمال کا وقفہ مل سکے۔ ## کلیدی صلاحیتیں ### خودکار سیشن مینجمنٹ - کام کے عام اوقات کے مطابق روزانہ چار سیشن ری سیٹس ٹریگر کرتا ہے - ٹریگر اور ری سیٹ ایونٹس کے درمیان 5 گھنٹے کا کاؤنٹ ڈاؤن سسٹم استعمال کرتا ہے - کرون (cron) ایکسپریشنز کے ذریعے قابلِ تبدیلی شیڈول ### ہیلتھ مانیٹرنگ - Claude Code کی فعالیت کی تصدیق کے لیے بلٹ ان Q&A تصدیقی چیکس (مثلاً "1+1=?") - ٹائم اسٹیمپ کے ساتھ ہیلتھ چیک کے نتائج کو لاگ کرتا ہے - ری سیٹس کو مکمل قرار دینے سے پہلے سسٹم کی آپریشنل حیثیت کی تصدیق کرتا ہے ### ملٹی ٹوکن سپورٹ - بھروسہ مندی کے لیے پرائمری اور بیک اپ OAuth ٹوکنز کنفیگر کریں - لاگز میں فی ٹوکن سرگرمیوں کو ٹریک کریں - اگر ایک ٹوکن ناکام ہو جائے تو متبادل (Redundancy) کی سہولت ### سرگرمی لاگنگ - ماہانہ CSV لاگ فائلیں `logs/YYYYMM-session-log.csv` میں محفوظ کی جاتی ہیں - ریکارڈز میں ٹائم اسٹیمپ، ایونٹ کی قسم، ٹوکن آئی ڈی، اور ری سیٹ کا وقت شامل ہے - خودکار Git کمٹس لاگ کی ہسٹری کو محفوظ رکھتے ہیں ### ٹائم آؤٹ پروٹیکشن - جاب لیول ٹائم آؤٹ: 5 منٹ - سٹیپ لیول ٹائم آؤٹ: فی ایکشن 2 منٹ - وسائل کے ضیاع کو روکنے کے لیے غیر ضروری ایگزیکیوشن سے بچاؤ ## ڈیفالٹ شیڈول (UTC+8) | ٹریگر کا وقت | ری سیٹ کا وقت | کوریج | |------------|-----------|----------| | 05:23 | 10:00 AM | صبح کا کام کا دورانیہ | | 10:23 | 3:00 PM | دوپہر کا کام کا دورانیہ | | 17:23 | 10:00 PM | شام کا کام کا دورانیہ | | 22:23 | 3:00 AM (اگلا دن) | دیر رات کی کوریج | ہر ٹریگر مطلوبہ ری سیٹ وقت سے 5 گھنٹے پہلے چلتا ہے۔ GitHub Actions کے ایگزیکیوشن رش سے بچنے کے لیے سسٹم `:23` منٹ کا استعمال کرتا ہے۔ ## سیٹ اپ کی ہدایات 1. **OAuth ٹوکن جنریٹ کریں**: `claude setup-token` چلائیں اور تیار کردہ ٹوکن کاپی کریں 2. **Secrets شامل کریں**: GitHub ریپوزٹری سیٹنگز میں `CLAUDE_CODE_OAUTH_TOKEN_1` اور اختیاری طور پر `CLAUDE_CODE_OAUTH_TOKEN_2` کنفیگر کریں 3. **Actions فعال کریں**: یقینی بنائیں کہ ریپوزٹری میں GitHub Actions کے لیے `id-token: write` کی اجازت ہے 4. **ایکٹیویٹ کریں**: شیڈیولر کو ٹریگر کرنے کے لیے ورک فلو فائل کو پش کریں ## تخصیص (Customization) کرون شیڈولز کو تبدیل کرنے کے لیے `.github/workflows/auto-checkin.yml` میں ترمیم کریں۔ ٹائمنگ فارمولا یہ ہے: ``` ٹریگر کا وقت + 5 گھنٹے = سیشن ری سیٹ کا وقت ``` مثالیں: - صبح 9:00 بجے ایک بار روزانہ ری سیٹ: کرون `23 20 * * *` استعمال کریں (4:23 AM UTC، UTC+8 میں 9:00 AM UTC پر ری سیٹ ٹریگر کرتا ہے) - دن میں دو بار 10:00 AM اور 4:00 PM پر: کرون `23 21,3 * * *` استعمال کریں ## ٹیسٹنگ - **GitHub Actions**: Actions ٹیب پر جائیں اور ورک فلو کو مینوئل طریقے سے چلائیں - **مقامی ٹیسٹنگ**: `uv run --python 3.13 python src/log_qa_check.py --token TOKEN_1` ## فائل اسٹرکچر ``` .github/workflows/auto-checkin.yml # شیڈیولر کنفیگریشن src/log_qa_check.py # Q&A اور لاگنگ اسکرپٹ logs/YYYYMM-session-log.csv # ماہانہ سرگرمی کے ریکارڈز ``` ## ٹربل شوٹنگ - **OAuth غلطیاں**: `claude setup-token` کے ساتھ ٹوکن دوبارہ جنریٹ کریں اور تصدیق کریں کہ سیکریٹ کے نام بالکل درست ہیں - **ورک فلو ٹائم آؤٹ**: یقینی بنائیں کہ ٹائم آؤٹ پروٹیکشن کے ساتھ تازہ ترین ورژن ڈیپلائے کیا گیا ہے - **غلط اوقات**: UTC کنورژن کی تصدیق کریں اور یاد رکھیں کہ GitHub Actions میں ایگزیکیوشن میں معمولی تاخیر ہو سکتی ہے - **کوئی لاگز نہیں**: آٹومیشن پر بھروسہ کرنے سے پہلے Claude آتھنٹیکیشن کی صورتحال چیک کریں اور مقامی طور پر ٹیسٹ کریں ## سیکیورٹی - ٹوکنز کو کبھی بھی سورس کوڈ میں ہارڈ کوڈ نہ کریں - تمام حساس ویلیوز کے لیے GitHub Secrets کا استعمال کریں - وقتاً فوقتاً OAuth ٹوکنز کو تبدیل (Rotate) کریں - ریپوزٹری تک رسائی صرف قابل اعتماد کنٹریبیوٹرز تک محدود رکھیں اس پروجیکٹ میں آرکیٹیکچر ڈیسیژن ریکارڈز (ADRs) شامل ہیں جو شیڈولنگ آپٹیمائزیشن، ٹائم آؤٹ کنفیگریشن، اور ہیلتھ چیک کے نفاذ کے بارے میں ڈیزائن کے انتخاب کو دستاویز کرتے ہیں۔