عن المشروع

Harmony هي مكتبة قوية لـ .NET وMono تتيح للمطورين تغيير وظائف التطبيقات في وقت التشغيل دون تعديل الكود المصدري الأصلي أو الملفات. توفر واجهة برمجة تطبيقات عالية المستوى وأنيقة لتعديل الطرق، مما يمكن الكود من العمل قبل الطريقة الأصلية أو بعدها أو حتى استبدالها، بالإضافة إلى تعديل كود IL الخاص بالطريقة مباشرة. هذا يجعلها مثالية لإنشاء تعديلات للألعاب، أو توسيع التطبيقات، أو إضافة أدوات قياس للاختبار والتصحيح. المكتبة راسخة في مجتمع التعديل، مع دعم لألعاب شهيرة مثل Rust وRimworld وStardew Valley وCities: Skylines. كما تُستخدم في بيئات احترافية، مثل اختبار وحدات تحكم WPF في Microsoft وGoogle. تدعم Harmony تعدد التعديلات المتعايشة دون تعارضات، مما يضمن الاستقرار والمرونة. التثبيت سهل عبر NuGet، مع خيارين للحزم: Lib.Harmony لتجميع ملف واحد مدمج بالتبعيات (مفضل) وLib.Harmony.Thin لمن يريد إدارة التبعيات بنفسه. التوثيق الشامل متاح على harmony.pardeike.net، ويوفر خادم Discord رسمي دعمًا مجتمعيًا. المشروع يُصان بنشاط، مع Harmony 2.x على الفرع الرئيسي وتطوير Harmony 3 (بما في ذلك تعديل Infix) على فرع منفصل. Harmony 1 مهمل وغير متوافق مع 2.x. تستخدم المكتبة MonoMod.Core لقدرات معالجة IL الأساسية. للمطورين الذين يتطلعون إلى توسيع أو تعديل تطبيقات .NET ديناميكيًا، تقدم Harmony حلاً قويًا ومختبرًا جيدًا مع قاعدة مستخدمين كبيرة ومساهمات مستمرة.