عن المشروع

سجل حزمة الصوت المفتوح هو مواصفة سجل صوتي بالإضافة إلى فهرس حزم قابل للبحث يغطي الإضافات والإعدادات المسبقة والمشاريع والتطبيقات. يستهدف بشكل أساسي مطوري برامج الصوت الذين يرغبون في جعل برامجهم قابلة للاكتشاف والتثبيت عبر أي أداة متوافقة مع Open Audio Stack، وثانويًا الموسيقيين والمنتجين الذين يقومون بتثبيت هذه الحزم. كيف يعمل: يضيف المساهمون ملفات YAML، واحدة لكل إصدار حزمة، على فرع. بعد الفحص، يتم دمج التغييرات وتقوم GitHub Actions بإنشاء موقع GitHub Pages ثابت يحتوي على ملفات JSON لكل جزء من السجل. تقرأ الأدوات والتطبيقات والمواقع المتوافقة ملفات JSON هذه لاكتشاف الحزم. الواجهة البرمجية هي JSON ثابتة، لذا لا يحتاج المدمجون إلى استضافة بنية توزيع مخصصة. يمكن تقديم الحزم بثلاث طرق: نموذج ويب لملء البيانات الوصفية، أو وكيل برمجي موجه إلى AGENTS.md، أو يدويًا عن طريق نسخ المستودع وإضافة مجلدات بتنسيق kebab-case مثل src/plugins/org-name/package-name. تتضمن كل حزمة لقطة شاشة JPEG ومعاينة صوتية FLAC، تم اختيارهما لأداء التحميل. تتبع الإصدارات Semantic Versioning، بحيث يمكن للمثبت اختيار أحدث إصدار غير معطل. يتم توفير ملفات YAML أمثلة للتطبيقات والإضافات والإعدادات المسبقة والمشاريع، وتوثق المواصفة حقول الإضافات وتنسيقاتها وأنواعها بالإضافة إلى حقول الملفات وتنسيقاتها وتوصياتها وأنواعها. يعمل التحقق محليًا عبر npm install و npm run dev:validate مع مسار إلى ملف YAML. يبلغ عن مشكلات مثل الحقول الطويلة جدًا، ويتحقق من حجم الملف وsha256 مقابل التنزيل الفعلي. يخبر الحجم المستخدمين بمدى ضخامة التنزيل؛ يتحقق sha256 من أن الملف الذي تم تنزيله يطابق التوزيع المقصود. تطبع عدم التطابقات القيم المستلمة والمتوقعة بحيث يمكن تصحيح الرابط أو البيانات الوصفية. ثم تشغل طلبات السحب اختبارات آلية وتحققًا وفحص فيروسات قبل الدمج. بالنسبة للحزم ذات الثنائيات الملتزمة مباشرة في مستودع وبدون إصدارات GitHub، يجب أن يشير رابط الملف إلى التزام محدد بدلاً من فرع، لأن روابط أرشيف الفرع تغير التجزئة عند كل دفع. يوضح README كيفية الحصول على SHA الالتزام باستخدام GitHub CLI وتنسيق رابط الأرشيف المثبت، ثم إعادة تشغيل التحقق لتحديث sha256 والحجم. يمكن للمشاريع التي تستخدم المواصفة أو الواجهة البرمجية الارتباط مرة أخرى باستخدام شارة متوفرة. تم بناء السجل باستخدام Node.js 20.x وTypeScript 5.x وeslint 9.x وprettier 3.x وvitest 3.x، مع نصوص npm للتنظيف والتنسيق والتطوير والاختبار والبناء والبدء. يتم إصدار الإصدارات بعلامات git ونشرها تلقائيًا إلى GitHub Pages. السجل مخصص بشكل أساسي للحزم المجانية مفتوحة المصدر المبنية عبر المنصات لأنظمة Linux وMac وWindows؛ قد يتم رفض الحزم التي لا تفي بالإرشادات أو إزالتها.