Skip to content

store.json

plugins/<id>/store.json. Store-only metadata for a plugin. Everything spice.json already says (id, version, name, authors, description, website, melange.range, kind, permissions, dependencies, conflicts) is not repeated here.

Generated from schema/store-1.schema.json (JSON Schema). The validator, tools/store.py, applies the same rules.

Property Type Required Default Description
storeVersion integer yes Must be 1.
licence string yes One of: MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, Zlib, MPL-2.0, LGPL-3.0-or-later, GPL-3.0-or-later, CC0-1.0, CC-BY-4.0, CC-BY-SA-4.0, Unlicense.
homepage string Pattern: ^https://. Format: uri. At most 200 characters.
categories string[] yes 1 to 3 items. Items must be unique. Each item: one of: graphics, gameplay, maps, weapons, audio, interface, tools, libraries.
gameBuilds string[] yes At least 1 item. Each item: one of: 1077.
screenshots object[] 0 to 6 items. See screenshots[].
imports object[] Shown in the Store’s install confirm for a plugin with an importer (mod/spice.json’s importer key). Informational only; the real source facts are in the recipe. 1 to 4 items. See imports[].
versions object[] Written only by release.yml. Immutable per entry except yanked. At most 50 items. See versions[].

No other properties are allowed.

Property Type Required Default Description
file string yes Pattern: ^[0-9]+\.(png|jpg|jpeg)$.
caption string At most 120 characters.

No other properties are allowed.

Property Type Required Default Description
title string yes 1 to 80 characters.
publisher string yes 1 to 80 characters.
host string yes 1 to 253 characters.
size integer yes From 1 to 536870912.

No other properties are allowed.

Property Type Required Default Description
version string yes
released string yes Format: date.
melange string yes
kind string yes One of: client-only, content.
permissions object yes See versions[].permissions.
dependencies object[] yes
conflicts object[] yes
url string yes Pattern: ^https://github\.com/JaminB/melange-plugins/releases/download/[a-z0-9](?:[a-z0-9_-]{0,62}[a-z0-9])?-v[^/]+/[a-z0-9](?:[a-z0-9_-]{0,62}[a-z0-9])?-[^/]+\.zip$.
sha256 string yes Pattern: ^[0-9a-f]{64}$.
size integer yes Minimum 1.
unpackedSize integer yes Minimum 1.
files integer yes Minimum 1.
changelog string yes At most 2000 characters.
yanked boolean

No other properties are allowed.

Property Type Required Default Description
unsafe boolean yes
filesystem string yes

No other properties are allowed.