Manifest
Every skin MUST contain a manifest.json at its root. It is the entry point the Validator and app read first.
Fields
Section titled “Fields”| Field | Type | Required | Description |
|---|---|---|---|
spec |
number | ✅ | Specification version the skin targets. 1 for v1. |
id |
string | ✅ | Reverse-DNS identifier, e.g. com.acme.dark. |
version |
string | ✅ | Skin version, semver. Independent of spec. |
metadata |
string | ✅ | Path to the metadata file. |
tokens |
string | ✅ | Path to the theme tokens file. |
assets |
string | ➖ | Path to the assets folder, if any. |
Example
Section titled “Example”{ "spec": 1, "id": "com.acme.dark", "version": "1.0.0", "metadata": "metadata.json", "tokens": "theme/tokens.json", "assets": "assets/"}specMUST be an integer supported by the target (v1 →1).idMUST be unique and stable across releases of the same skin.- Paths MUST be relative and stay inside the skin root. See Folder Structure.