@alexandremasy/icons
v0.1.1
Published
The alexandremasy icon library as React components: 4.353 icons, 24px canvas, stroke 2, currentColor.
Maintainers
Readme
alexandremasy-icons
The alexandremasy icon library, as code. 4.353 icons, one canvas (24×24), one stroke
(2), one colour source (currentColor).
It is the code side of the Figma library Spices — Clove. Figma owns what an icon is called and which family it belongs to; this repo owns the files an application installs.
icons/ <name>.svg + <name>.json -- the source of truth, checked in
src/ the React components, generated from icons/
taxonomy/ what the Figma library declares: names, families, provenance
scripts/ the two builders and the check
docs/PROVENANCE.md where each drawing comes from, and whyUsing it
bun add @alexandremasy/iconsimport { AngleDown, Home, Wallet } from '@alexandremasy/icons'
<AngleDown /> // 24px, stroke 2, the colour of the text around it
<Home size={16} />
<Wallet size={32} strokeWidth={1.5} />Colour is never a prop. An icon inherits currentColor, so it follows a theme by
construction — the same reason every vector in the Figma library binds theme/ink
rather than a value.
The two decisions everything rests on
24×24 canvas, stroke 2. Both are checked, on every icon, by bun run check. The
stroke moved from 3 to 2 on 2026-09-01; in Figma it is bound to the stroke/rule
variable, so it is one lever there and one number here.
One name, one family. taxonomy/names.tsv is the census — 4.353 rows, the exact
contents of the Figma library. An icon that is not in it does not exist, and an icon in
it with no file makes the check fail.
Working on it
bun install
bun run build # icons/ then src/ then the publishable dist
bun run check # refuses on a drift between Figma's taxonomy, icons/ and react
bun test # renders a few icons out of dist -- the files npm ships
bun run check:node # proves dist loads under NODE, which bun is too lenient to catchPublishing is npm publish at the root -- one repo, one package. dist/ is generated and
not checked in, and prepublishOnly rebuilds it, runs the check and runs the tests, so a
publish cannot ship a stale or broken build.
bun run build:icons overwrites icons/. That directory is generated once and hand
editable forever after — re-running the builder throws away hand edits. It exists as a
command so the provenance is reproducible, not because it runs often.
Families
arrows · commerce · computers · currencies · design · editors · food · interfaces · life · map · mathematics · media · nature · people · shapes · status · symbols · system · text
Licence
MIT, and the drawings carry Tabler's MIT notice — see LICENSE. 4.333 of the 4.353 are
Tabler outline icons at stroke 2 under the alexandremasy naming; 20 exist only here.
