About this project

Open Audio Stack Registry is an audio registry specification plus a searchable package index covering Plugins, Presets, Projects and Apps. It is aimed primarily at audio software developers who want their software discoverable and installable through any Open Audio Stack compatible tool, and secondarily at musicians and producers who install those packages. How it works: contributors add YAML files, one per package version, on a branch. After scanning, changes are merged and GitHub Actions generates a static GitHub Pages site containing JSON files for each part of the registry. Compatible command-line tools, apps and websites read those JSON files to discover packages. The API is static JSON, so integrators do not need to host bespoke distribution infrastructure. Package submission can be done three ways: a web form for filling out metadata, a coding agent pointed at AGENTS.md, or manually by forking the repository and adding folders in kebab-case such as src/plugins/org-name/package-name. Each package includes a JPEG screenshot and a FLAC audio preview, chosen for loading performance. Versions follow Semantic Versioning, so an installer can pick the latest non-breaking release. Example YAML files are provided for apps, plugins, presets and projects, and the specification documents plugin fields, formats and types as well as file fields, formats, recommendations and types. Validation runs locally via npm install and npm run dev:validate with a path to the YAML file. It reports issues such as over-long fields, and checks file size and sha256 against the actual download. Size tells users how large a download is; sha256 verifies the downloaded file matches the intended distribution. Mismatches print received and expected values so the URL or metadata can be corrected. Pull requests then run automated tests, validation and virus scanning before merge. For packages with binaries committed directly to a repository and no GitHub releases, the file URL must point to a specific commit rather than a branch, because branch archive URLs change hash on every push. The README shows how to obtain the commit SHA with the GitHub CLI and the pinned archive URL format, then re-run validation to update sha256 and size. Projects using the specification or API can link back with a provided badge. The registry is built with Node.js 20.x, TypeScript 5.x, eslint 9.x, prettier 3.x and vitest 3.x, with npm scripts for lint, format, dev, test, build and start. Releases are versioned with git tags and published automatically to GitHub Pages. The registry is intended mainly for free open-source packages built cross-platform for Linux, Mac and Windows; packages not meeting the guidelines may be rejected or removed.