iconscan logoiconscan
v0.1.0 · GITHUB →

Deterministic icon audits for React apps

iconscan statically analyzes your React / Next.js / TypeScript imports for dead icons, brand misuse, and library fragmentation — the same result on every run, built for your terminal and your CI.

SUPPORTING

bunnpmpnpmyarn
$bunx iconscan .

Everything a icon audit should catch

AST-accurate scanning

Babel-parsed imports, JSX, aliases, namespaces and member refs — no regex guesses. Parse errors fall back gracefully and are counted honestly.

Dead imports & generic names

Icons imported but never rendered, placeholder names like Icon/Logo/Img, and duplicates pulled from multiple libraries.

Verified brand data

Brand usage checked against an audited map — lucide and heroicons get a react-icons/si autofix; libraries still shipping brands get a verify-official note, never a wrong migration.

Safe autofix + rollback

--apply only ships AST-verified rewrites behind .iconscan.bak backups. --rollback restores every byte. No overlapping splices, ever.

Deterministic score, CI gate

0–100 score from capped per-category penalties — same project, same score, every run. --fail-under turns it into a merge gate.

AI-agent handoff

--prompt emits a paste-ready remediation brief with evidence, suggested fixes, acceptance criteria, and the rescan command.

real run — scan, fix, rescan
01

Scan

Point it at any React / Next.js / TypeScript project. One command, no config, no install step.

02

Review

A deterministic score with per-category evidence: dead imports, brand misuse, duplicates, fragmentation.

03

Fix or gate

--apply rewrites the safe findings (rollback any time), --prompt hands the rest to your agent, --fail-under gates CI.

Run it on your repo in 10 seconds

One-shot, no install — read-only unless you pass --apply.

$bunx iconscan .