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.
Top level
Section titled “Top level”| 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.
screenshots[]
Section titled “screenshots[]”| 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.
imports[]
Section titled “imports[]”| 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.
versions[]
Section titled “versions[]”| 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.
versions[].permissions
Section titled “versions[].permissions”| Property | Type | Required | Default | Description |
|---|---|---|---|---|
unsafe |
boolean | yes | ||
filesystem |
string | yes |
No other properties are allowed.