عن المشروع
Smokey هو لوحة تحكم للمطورين ثابتة ومكونة من ملف واحد لمراقبة حالة مستودعات GitHub. يمكنك فتح ملف index.html في المتصفح، وإدخال اسم مستخدم أو مؤسسة على GitHub، وإدراج المستودعات بتنسيق owner/repo، وستقوم الصفحة بعرض حالتهم الحالية في جدول واحد قابل للفرز. الهدف المعلن هو رؤية حالة المستودعات دون الحاجة للتنقل داخل GitHub.
ما يعرضه الجدول
- آخر عملية دفع (push) لكل مستودع، مع إدراج أقدم عملية دفع أولاً بشكل افتراضي؛ ويمكن النقر فوق أي رأس عمود (المستودع، آخر عملية دفع، PRs، issues) لإعادة الفرز.
- إصدار الإصدار الأحدث وتاريخ الإصدار، ويظهران تحت اسم المستودع.
- أعداد طلبات السحب (pull requests) والقضايا (issues) المفتوحة؛ ويؤدي النقر فوق العدد إلى فتح صفحة GitHub المفلترة لهذا المستودع.
- شارات التنبيه: صف لطلبات السحب المفتوحة وصف للقضايا المفتوحة، تظهر فقط للمستودعات التي بها نشاط من مساهمين خارجيين، وتربط كل شارة بعرض GitHub المفلتر. يتم تصفية طلبات السحب التي أنشأتها البوتات (على سبيل المثال من github-actions[bot]) تلقائياً.
المصادقة
يتم تحميل المستودعات العامة بدون تسجيل دخول. يمكن اختيارياً إضافة رمز وصول شخصي (personal access token) من GitHub في لوحة الإعدادات لفتح المستودعات الخاصة وعمود حالة CI، وهو مطلوب لمستودعات المؤسسات المحمية بواسطة SAML SSO إذا كان الرمز مصرحاً به لتلك المؤسسة. نظراً لأن الوصول غير المصادق عليه إلى API محدود بـ 60 طلباً في الساعة وكل مستودع يتطلب أربعة طلبات، يصبح الرمز ضرورياً بمجرد مراقبة حوالي خمسة عشر مستودعاً عاماً؛ حيث يرفع الرمز المصادق عليه الحد إلى 5,000 طلب في الساعة. يذكر ملف README أن الرمز يتم تخزينه فقط في localStorage الخاص بالمتصفح ويُرسل فقط إلى api.github.com. يتم وصف كل من الرموز الكلاسيكية (نطاق repo) والرموز دقيقة التفاصيل (Contents: Read, Metadata: Read, Actions: Read لحالة CI).
مخطط حركة المرور (Traffic chart)
بدلاً من API حركة المرور المباشرة من GitHub، يرسم لوحة التحكم مخططاً مساحياً لحركة المرور بكامل التاريخ باستخدام لقطة يومية محفوظة في فرع traffic-log، يتم تجميعها بواسطة سير عمل GitHub Actions أسبوعي منفصل (log-traffic.yml). يستخدم المخطط محور زمن لوغاريتمي يوسع الأيام الأخيرة ومقياس قيمة للجذر التربيعي. لا يتطلب هذا العرض أي رمز وصول. إذا كان الفرع أو الصفوف المسجلة غير موجودة بعد، يبلغ المخطط عن عدم وجود سجل لحركة المرور.
الاستضافة والإعداد
لا توجد خطوة بناء، ولا تثبيت للملحقات، ولا خادم. تتوفر نسخة مستضافة على GitHub Pages، لذا يمكن استخدام لوحة التحكم دون تثبيت أي شيء؛ وإلا يمكنك تنزيل index.html وفتحه محلياً. لتشغيل نسختك الخاصة، قم بعمل fork للمستودع وتفعيل GitHub Pages من المجلد الرئيسي للفرع main. يوصف التنسيق بأنه متوافق مع الهاتف المحمول ومدمج، وبدون أشرطة جانبية.
يوثق ملف README أيضاً حالات استكشاف الأخطاء وإصلاحها: صفحة مخزنة مؤقتاً قديمة تنتج رسالة "add a PAT" مستمرة (يتم حلها عن طريق تحديث قوي، مع ملاحظة أن localStorage يتم مسحه في النوافذ الخاصة)، وأخطاء 403 الناتجة عن حدود المعدل غير المصادق عليها أو فقدان تصريح SAML، وبقاء مخطط حركة المرور فارغاً حتى يتم تشغيل سير عمل التسجيل مرة واحدة على الأقل بعد إضافة المستودعات.
الترخيص والاتصال: ترخيص MIT، حقوق الطبع والنشر 2025 Scott Kirvan. المساهمات مرحب بها من خلال issues و forks و pull requests؛ وتشمل قنوات الاتصال المدرجة LinkedIn وخادم Discord، ويتضمن المستودع ملف CHANGELOG و TODO في مجلد notes الخاص به.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.