프로젝트 소개
Open Audio Stack Registry는 오디오 레지스트리 사양이자 Plugins, Presets, Projects, Apps를 아우르는 검색 가능한 패키지 인덱스입니다. 주된 대상은 자신의 소프트웨어가 Open Audio Stack 호환 도구를 통해 검색되고 설치되기를 원하는 오디오 소프트웨어 개발자이며, 그 다음으로는 그러한 패키지를 설치하는 뮤지션과 프로듀서입니다.
작동 방식: 기여자는 브랜치에서 패키지 버전당 하나씩 YAML 파일을 추가합니다. 스캔 후 변경 사항이 병합되고 GitHub Actions가 레지스트리의 각 부분에 대한 JSON 파일을 포함하는 정적 GitHub Pages 사이트를 생성합니다. 호환되는 명령줄 도구, 앱, 웹사이트가 그 JSON 파일을 읽어 패키지를 검색합니다. API는 정적 JSON이므로 통합자는 별도의 배포 인프라를 호스팅할 필요가 없습니다.
패키지 제출은 세 가지 방법으로 가능합니다: 메타데이터를 작성하는 웹 양식, AGENTS.md를 지정한 코딩 에이전트, 또는 저장소를 포크하여 src/plugins/org-name/package-name과 같은 kebab-case 폴더를 추가하는 수동 방식입니다. 각 패키지에는 로딩 성능을 고려하여 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용으로 크로스 플랫폼 빌드된 무료 오픈소스 패키지를 위한 것이며, 가이드라인을 충족하지 않는 패키지는 거부되거나 제거될 수 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.