इस प्रोजेक्ट के बारे में

ओपन ऑडियो स्टैक रजिस्ट्री एक ऑडियो रजिस्ट्री स्पेसिफिकेशन और खोजने योग्य पैकेज इंडेक्स है जो प्लगइन, प्रीसेट, प्रोजेक्ट और ऐप्स को कवर करता है। यह मुख्य रूप से उन ऑडियो सॉफ़्टवेयर डेवलपर्स के लिए है जो चाहते हैं कि उनका सॉफ़्टवेयर किसी भी ओपन ऑडियो स्टैक संगत टूल के माध्यम से खोजा और इंस्टॉल किया जा सके, और द्वितीयक रूप से उन संगीतकारों और निर्माताओं के लिए जो उन पैकेजों को इंस्टॉल करते हैं। यह कैसे काम करता है: योगदानकर्ता एक ब्रांच पर YAML फ़ाइलें जोड़ते हैं, प्रति पैकेज वर्जन एक। स्कैनिंग के बाद, परिवर्तनों को मर्ज किया जाता है और GitHub Actions रजिस्ट्री के प्रत्येक भाग के लिए JSON फ़ाइलों वाली एक स्टैटिक GitHub Pages साइट जनरेट करता है। संगत कमांड-लाइन टूल, ऐप्स और वेबसाइटें पैकेज खोजने के लिए उन JSON फ़ाइलों को पढ़ती हैं। API स्टैटिक 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 सत्यापित करता है कि डाउनलोड की गई फ़ाइल इच्छित वितरण से मेल खाती है। बेमेल होने पर प्राप्त और अपेक्षित मान प्रिंट होते हैं ताकि URL या मेटाडेटा को ठीक किया जा सके। फिर पुल रिक्वेस्ट मर्ज से पहले स्वचालित परीक्षण, वैलिडेशन और वायरस स्कैनिंग चलाते हैं। उन पैकेजों के लिए जिनकी बाइनरी सीधे रिपॉजिटरी में कमिट की गई हैं और कोई GitHub रिलीज़ नहीं है, फ़ाइल URL को ब्रांच के बजाय एक विशिष्ट कमिट की ओर इंगित करना चाहिए, क्योंकि ब्रांच आर्काइव URL हर पुश पर हैश बदलते हैं। README दिखाता है कि GitHub CLI के साथ कमिट SHA कैसे प्राप्त करें और पिन किए गए आर्काइव URL प्रारूप को, फिर sha256 और आकार को अपडेट करने के लिए वैलिडेशन को फिर से चलाएँ। स्पेसिफिकेशन या API का उपयोग करने वाले प्रोजेक्ट प्रदान किए गए बैज के साथ वापस लिंक कर सकते हैं। रजिस्ट्री Node.js 20.x, TypeScript 5.x, eslint 9.x, prettier 3.x और vitest 3.x के साथ बनाई गई है, जिसमें lint, format, dev, test, build और start के लिए npm स्क्रिप्ट हैं। रिलीज़ git टैग के साथ वर्जन की जाती हैं और स्वचालित रूप से GitHub Pages पर प्रकाशित होती हैं। रजिस्ट्री मुख्य रूप से Linux, Mac और Windows के लिए क्रॉस-प्लेटफ़ॉर्म बनाए गए मुफ्त ओपन-सोर्स पैकेजों के लिए है; दिशानिर्देशों को पूरा न करने वाले पैकेज अस्वीकार या हटाए जा सकते हैं।