Eris Client
واجهة سطر أوامر (CLI) مبنية بلغة C تعمل على تغليف سير عمل git الخاص بك في أوامر بسيطة — عمليات التسجيل الموجهة وفقًا للمعايير التقليدية، والتسجيل والدفع في خطوة واحدة، والتفرع، وإعادة التأسيس، وماكروات المشروع القابلة للتكرار.
Eris هي واجهة سطر أوامر للمطورين تغلف سير عمل git الخاص بك بتدفق التزامات منظم، وماكروات محلية للمشروع، وموجه أوامر مدعوم بلغة Prolog يدعم التسلسل والنفي.
يمكنك تشغيل eris بدلاً من git العادي في أعمالك اليومية.
ماذا يفعل
eris init [name] — ينشئ دليل .eris/ في المجلد الحالي، ويكتب ملف الماكرو، ويضيف .eris/ إلى قائمة الاستثناءات المحلية لـ git بحيث لا يظهر أبدًا في مستودعك.
eris commit / eris copush — التزام تفاعلي + دفع في خطوة واحدة. يطلب منك اختيار نوع التثبيت التقليدي (feat، fix، refactor، إلخ) من قائمة، ثم يطلب منك إدخال رسالة، ويقوم بتنسيقها على شكل type: message، ويضع كل شيء في قائمة التجهيز، ثم يقوم بالتثبيت والدفع. يعمل من أي مكان داخل المشروع.
eris ignore <file> — يضيف ملفًا إلى .eris/.eris.ignore بحيث يتم تخطيه أثناء copush. خاص بكل مشروع، وليس عامًا.
eris alias add <name> do <cmd> do <cmd> — يحفظ ماكروًّا مسمىًًّ (تسلسل من أوامر shell) في .eris/.eris.macros.
eris alias run <name> / eris run <name> — يقوم بتشغيل ماكرو محفوظ.
eris rebuild — يعيد بناء ملف eris الثنائي نفسه باستخدام CMake.
eris root — يعرض جذر مشروع eris الذي تم اكتشافه.
تسلسل الأوامر
تمت كتابة موجه الأوامر بلغة Prolog. وهو يدعم && و|| وnot مباشرةً في قائمة الوسيطات:
eris init myapp && eris commit # إجراء الالتزام فقط في حالة نجاح التهيئة
eris init || true # تجاهل الفشل
eris not init # النجاح عند فشل التهيئة
الماكروات
يتم تخزين الماكروات في .eris/.eris.macros في جذر المشروع:
[deploy]
make build
git push origin main
ssh prod "systemctl restart app"
الإضافة باستخدام فاصل do (لا حاجة لوضع علامات اقتباس):
eris alias add deploy do make build do git push origin main
الإضافة مع علامات الاقتباس (للأوامر التي تحتوي على فاصلة منقوطة أو صيغة شل):
eris alias add test "npm run lint" "npm test"
التشغيل:
eris run deploy
التثبيت
make install
يؤدي هذا إلى إنشاء الملف الثنائي، ونسخه إلى /usr/local/bin/eris، وإضافة اسم مستعار إلى ملف .bashrc أو .zshrc (يتم الكشف عنه تلقائيًا). ثم:
source ~/.zshrc # أو ~/.bashrc
يتم فحص التبعيات (cmake، gcc، libcurl، libssl، إلخ) وتثبيتها تلقائيًا أثناء عملية البناء في حالة عدم وجودها.
البناء من المصدر
make # التهيئة + البناء (التصحيح)
make CONFIG=Release
make JOBS=8
المتطلبات: cmake، gcc/g++، libcurl-dev، libssl-dev، pkg-config.
اختياري: SWI-Prolog (libswipl-dev) لموجه Prolog — يتم الرجوع إلى موجه C في حالة عدم وجوده.
