这个项目能做什么

Open Audio Stack Registry 是一个音频注册表规范,外加一个可搜索的软件包索引,涵盖插件、预设、项目和应用程序。它主要面向希望其软件可通过任何兼容 Open Audio Stack 的工具被发现和安装的音频软件开发者,其次面向安装这些软件包的音乐家和制作人。 工作原理:贡献者在一个分支上为每个软件包版本添加 YAML 文件。扫描后,更改被合并,GitHub Actions 生成一个静态 GitHub Pages 站点,其中包含注册表各部分的 JSON 文件。兼容的命令行工具、应用程序和网站读取这些 JSON 文件以发现软件包。该 API 是静态 JSON,因此集成者无需托管定制的分发基础设施。 软件包提交可通过三种方式完成:用于填写元数据的网页表单、指向 AGENTS.md 的编码代理,或手动分叉仓库并以 kebab-case 格式添加文件夹,例如 src/plugins/org-name/package-name。每个软件包包含一张 JPEG 截图和一个 FLAC 音频预览,选择这些格式是为了加载性能。版本遵循语义化版本控制,因此安装程序可以选择最新的非破坏性版本。为应用程序、插件、预设和项目提供了示例 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、格式化、开发、测试、构建和启动的 npm 脚本。发布版本使用 git 标签进行版本控制,并自动发布到 GitHub Pages。该注册表主要面向为 Linux、Mac 和 Windows 跨平台构建的免费开源软件包;不符合指南的软件包可能会被拒绝或移除。