npm.io
0.3.0 • Published 10h ago

@burtson-labs/icons

Licence
ISC
Version
0.3.0
Deps
0
Size
1.6 MB
Vulns
0
Weekly
0
Burtson Labs

Burtson Icons

Open-source stroke icons for the tools we build: AI agents, security audits, provenance, infrastructure and evidence work.

24px grid · 2px stroke · currentColor · zero runtime dependencies

Browse npm License CI

Browse, search and copy every icon at icons.burtson.ai


The set

382 icons · Agents & AI 31 · Development 37 · Security 32 · Provenance & audit 11 · Infrastructure 36 · Data 18 · Evidence & video 16 · Voice & audio 22 · Documents & reports 28 · Status 39 · Interface 158 · People 18 · Recreation 7 · Burtson Labs 2 · Logistics & operations 4 · Files & folders 31

All 382 Burtson Icons

The set is young and growing. design/backlog.json lists the next few hundred icons, and npm run status shows progress by category.

Install

npm i @burtson-labs/icons
React
import { ShieldProof, MerkleTree } from '@burtson-labs/icons/react';

<ShieldProof size={20} strokeWidth={1.75} className="text-emerald-600" />;

Components forward refs and pass every other prop to the <svg>. absoluteStrokeWidth keeps the stroke the same thickness at any size. React is an optional peer dependency. The core package doesn't need it.

Plain JavaScript
import { toSvg, gpu } from '@burtson-labs/icons';

el.innerHTML = toSvg('waveform', { size: 20, color: '#a60ee5' });
el.innerHTML = toSvg(gpu); // named exports are the raw nodes, so bundlers tree-shake the rest
SVG files, sprite and JSON
Want Use
One file @burtson-labs/icons/svg/<name>.svg, or https://icons.burtson.ai/svg/<name>.svg
A sprite @burtson-labs/icons/sprite.svg, served from your own origin, with <use href="/sprite.svg#<name>" /> (browsers block cross-origin <use>)
Everything as data @burtson-labs/icons/icons.json: names, tags, categories and geometry

Design rules

Every icon is drawn on a 24×24 grid with a 2px round-capped stroke, geometry only, inside a 1px margin. The rules match the common 24px stroke convention on purpose, so these icons sit next to other sets without looking foreign. The drawings themselves are our own: CI compares every icon against the Lucide set and fails on near-copies. The full spec is in design/DESIGN.md.

Adding icons

npm install
npm run new -- vram          # blank icon + metadata, pre-filled from the backlog
# draw icons/vram.svg
npm run check                # validate, originality, build, test, site

npm run validate enforces the grid, root attributes, allowed elements, the 1px margin, two-decimal coordinates and the metadata. Anything a machine can check is checked, so review can focus on the drawing. design/PROMPTS.md has ready-made prompts for drafting batches with an AI model.

Repository layout

Path What
icons/ Source: one .svg and one .json (tags, categories, aliases) per icon
categories.json The categories and their descriptions
scripts/ Validator, originality check, build, scaffolder, status
dist/ Built package (generated, published to npm)
preview/ README sheets and accent icons (generated, committed)
site/ Generator for icons.burtson.ai
design/ Spec, backlog and drafting prompts

License

ISC Burtson Labs. Use the icons anywhere, including commercial work. Attribution is welcome but not required beyond keeping the license notice with copies of the package.

Keywords