The manifest
Reference for icons/manifest.json in an icon pack: slug, label, icon names, keywords, license, author and source.
{
"version": 1,
"slug": "starter-shapes",
"label": "Starter Shapes",
"license": "GPL-3.0-or-later",
"author": "Your name",
"source": "https://example.com/my-icon-pack",
"icons": [
{ "file": "circle.svg", "name": "circle", "label": "Circle", "keywords": ["round", "dot"] }
]
}
The manifest schema, not your pack's version. Leave it at 1.
The collection's slug. Templates reference icons as slug/name. Without it, the folder's name is used.
The collection's visible name.
One entry per icon with file, name, label and optional keywords.
Icon names
name is the reference, used verbatim. It must match:
^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$
An invalid name is skipped, never rewritten, and reported on the Packs screen.
collection-slug/name. Changing a name later breaks every page using it.The manifest describes, it does not restrict
An SVG without an entry still arrives, named after its file. Only its label is then derived from the file name.