Contribute
Submit an icon
All 1,041 icons are written, not drawn: declare the shapes in TypeScript and the build compiles all six cells. The constructors throw on illegal geometry and every rule below runs before a human ever looks at it. Everything merged stays MIT.
One declaration per concept
see the folder →{
slug: "phishing", category: "security", subcategory: "threat",
name: "Phishing", description: "The hook, waiting for a bite",
tags: ["lure", "scam", "bait"], family: "figure",
shapes: [
disc(15, 4, 2), col(15, 6, 15.5),
arc(10.5, 15.5, 4.5, 0, 180), col(6, 11, 15.5),
],
}What comes out
24 px
16 px
Automated review
7 blocking · 3 waivablestructure/viewbox-exact
Blocksattributes/fill-none
Blocksgeometry/grid-snap
Blocksgeometry/live-area
Blocksgeometry/size-band
Blocksgeometry/min-stroke-gap
Blocksgeometry/stub-segment
Blocksgeometry/angle-constraint
Waivablegeometry/optical-centre
Waivableduplicate/structural
Waivable