Skip to content

Folder Structure

A skin is a folder with a fixed, predictable layout. This is what the Packager bundles and what the Validator checks.

my-skin/
├── manifest.json # required — entry point
├── metadata.json # required — human info
├── theme/
│ └── tokens.json # required — styling values
└── assets/ # optional — images, fonts (bounded)
├── icon.png
└── background.webp
  • manifest.json MUST be at the root.
  • Every path in the manifest MUST resolve inside the skin root — no .., no absolute paths, no symlinks.
  • Folder and file names MUST be lowercase, a–z 0–9 - _ . only.
  • Anything not referenced by the manifest and not under assets/ SHOULD NOT be present; the Validator warns on unknown files.