Define a Repository
First, we need to clear up what a Marketplace Repository (or repository/repo) is. A repository is a listing of channels, where each channel is either a:- a Launcher version list
- a plugin listing
- a Companion version list
Freedeck currently doesn’t allow the Launcher to use external sources for Launcher or Companion versioning, as it’s important to ensure bugs are only from Freedeck and its maintainers itself while it’s in beta. This functionality will be added in the future.To read more about the API, check out the page on the Marketplace Repository API. The rest of this article will assume you know how to add plugins to a channel. You can also view the releases.freedeck.app/index.json file to understand, as that’s the main file.
Making a JSON file
Repositories are intended to be static, although they don’t have to be. As long as your site serves a JSON output in some way, you’re good to go. Make sure everything is in line, and you have:- A plugin channel where you distribute at least one plugin (type:
repositoryorrepository_external)

Add it as a Preset!
In addition to this, you can also request to add your own repository as a preset in the marketplace.
- Don’t deceive downloaders
- Everything you publish must have a coherent title, description.
- Example: Downloading a plugin named
Spotifyshould mostly control Spotify, not any other software. Use titles that you feel encompass the reach of your plugin, while maintaining clarity of its function.
- Don’t impersonate
freedeck.app- Your plugin or repository may be a mirror of the main repo, but you must clarify it’s not the official site.
- If you do host a mirror of the main repository, do not inject anything into the plugins’ manifests (containing their titles, version, author, etc.).
- (Obviously) Don’t distribute malware.
- It goes without saying that you or a repository maintainer shouldn’t make malicious plugins.