Where apps.json lives
apps array. Each element in the array is an app entry object.
App entry schema
* Required for Winget installs. If the app is only available via Chocolatey,
id can be omitted and only chocolatey needs to be set.
Winget ID vs. Chocolatey package name
- Winget ID — uses the format
Publisher.AppName(e.g.Mozilla.Firefox,Discord.Discord,Valve.Steam). You can find the correct ID by runningwinget search <app name>in a terminal or browsing winget.run. - Chocolatey package name — a lowercase identifier used by the Chocolatey registry (e.g.
firefox,discord,steam). You can search for packages at community.chocolatey.org.
Valid categories
Use the exact lowercase string shown in the Value column in your entry.
Real example entries
The following entries are taken directly fromapps.json.
App with both package managers
App with a warning
Some apps have known installation issues when Sparkle is running as administrator. Use thewarning field to surface that information to the user before they install.
Games category entry
How to test your addition
1
Add your entry to apps.json
Open
src/renderer/src/assets/apps.json and add your app object to the apps array. Place it near other entries in the same category to keep the file organized.2
Run Sparkle in development mode
3
Test install and uninstall
Select your app and click Install Selected. Confirm the installation completes without errors. Then click Uninstall Selected and confirm the uninstall also completes cleanly.
4
Check both package managers
If you supplied both
id and chocolatey, switch the Select Source dropdown between Winget and Chocolatey and verify the install works with each.Submit your addition
Once you have tested your entry locally, open a pull request on GitHub:- Fork the repository.
- Create a new branch for your change.
- Commit your edit to
apps.json. - Open a pull request with a short description of the app you added and why it is a useful addition to Sparkle.