Icon pack
An icon pack ships a set of icons + canonical aliases so widgets across a build can request cart or arrow-right and get a consistent glyph from your pack — even when each widget was authored by a different developer.
What you ship
my-icons/
├── manifest.json
├── icons/ # one SVG per glyph
│ ├── cart.svg
│ ├── arrow-right.svg
│ └── …
├── aliases.json # canonical aliases (cart -> shopping-bag, etc.)
├── preview/
│ └── grid.png # 1200x630 grid preview
└── README.md
Key contracts
- SVG only. Stroke-width must be uniform; viewBox 24×24 is the default. The runtime can rescale to any pixel size.
- Aliases. Map your icon names to Vincia's canonical alias catalog so widgets that request canonical names resolve to your glyph.
- Style consistency. The marketplace gate compares all glyphs to the first 3; outliers fail.
Scaffold
vincia create icon-pack my-icons
cd my-icons
vincia preview
vincia publish --dry-run
Approval gates
1. SVG-validity — every file in icons/ parses + has a viewBox. 2. Alias coverage — at least 30% of the canonical alias catalog is covered. 3. Visual consistency — stroke widths + corner radii within a tight band. 4. Preview present — preview/grid.png exists and is ≤ 500 KB.
Where to learn more
- /foundations — UiKit shape + the canonical icon alias catalog.
- Examples — the Hand-drawn icon pack ships with source available.