Eris Client
واجهة سطر أوامر (CLI) مبنية بلغة C تعمل على تغليف سير عمل git الخاص بك في أوامر بسيطة — عمليات التسجيل الموجهة وفقًا للمعايير التقليدية، والتسجيل والدفع في خطوة واحدة، والتفرع، وإعادة التأسيس، وماكروات المشروع القابلة للتكرار.
إيريس هي واجهة سطر أوامر للمطورين تغلف سير عمل git الخاص بك مع تدفق هيكلي للالتزامات، ووحدات ماكرو محلية للمشروع، وموجه أوامر يعمل بلغة برولوج يدعم التسلسل والنفي.
يمكنك تشغيل 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> — يحفظ ماكروًا مسمى (سلسلة من أوامر الصدفة) إلى .eris/.eris.macros.
eris alias run <name> / eris run <name> — يشغل ماكروًا محفوظًا.
eris rebuild — يعيد بناء ثنائي eris نفسه باستخدام CMake.
eris root — يطبع جذر مشروع eris المكتشف.
تسلسل الأوامر
موجه الأوامر مكتوب بلغة برولوج. يدعم && و || و 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 # تكوين + بناء (Debug)
make CONFIG=Release
make JOBS=8
يتطلب: cmake، gcc/g++، libcurl-dev، libssl-dev، pkg-config.
اختياري: SWI-Prolog (libswipl-dev) لموجه برولوج — يتراجع إلى موجه C إذا لم يكن موجودًا.
