Thanks for helping grow OpenAudio! This project is fully data‑driven: the website and README are generated from JSON collections under data/. Contributions are made by proposing JSON changes ("patches") via Pull Requests.
To make a quick data contribution, use our issue template to provide the info, this will automatically be submitted for review and saves you having to edit any code/config : https://github.com/webprofusion/OpenAudio/issues
- Edit only the relevant file in
data/:data/plugins.json— Audio Pluginsdata/collections.json— Collectionsdata/apps.json— Audio Appsdata/libraries.json— Libraries & APIsdata/samples.json— Code Samplesdata/resources.json— Open Data Resources
- Add or update entries as small, focused JSON diffs. Your PR will effectively be a "JSON patch" to these lists. Do not modify generated files (e.g. README or any
out/files). - Keep entries alphabetically sorted by the
namefield (case‑insensitive). CI tests enforce this. - Follow the schema for each collection:
- Plugins:
{ name, url, description, type, frameworks[] } - Apps:
{ name, description, repository, url? } - Libraries:
{ name, description, repository, url? } - Collections/Resources/Samples:
{ name, url, description }
- Plugins:
repositorymust be one of:- GitHub:
{ type: "GitHub", user, repo } - SourceForge:
{ type: "SourceForge", project } - Assembla:
{ type: "Assembla", space }
- GitHub:
- Minimal JSON change only (no formatting churn).
- Sorted
nameentries. - Valid URLs and concise descriptions.
- Correct
typeandframeworksfor plugins. - Use existing project naming conventions.
All build/test commands live in the generator/ folder.
- Node.js and npm installed.
cd generator
npm ci
npm test # Runs unit tests (vitest)
npm run test:lint # ESLint (TypeScript)
npm run test:format # Prettier formatting checkThis compiles TypeScript and generates the site README into out/README.md.
cd generator
npm run generate- Fork the repo and create a feature branch.
- Edit the appropriate
data/*.jsonfile with your changes. - Run tests and checks in
generator/. - Commit only the JSON changes (and any necessary fixes to pass tests).
- Open a Pull Request. The PR diff is your JSON patch.
- Do not edit
README.mddirectly; it is generated. - Large reorders or format changes make reviews harder; prefer minimal diffs.
- If unsure where an entry belongs, open an issue first for guidance.