fuzzyfox/lucide-for-laravel
A Laravel package that brings the Lucide icon set to your Blade views, offering simple components and helpers to render crisp, customizable SVG icons anywhere in your application with minimal setup.
armenian-dram, bangladeshi-taka, kazakh-tenge, nepali-rupee; domain icons like printer-3d, faucet, cupcake, rugby-ball; text/alignment and square-dashed-* variants). For a PM this means "we need an icon for X" is a composer bump, not a design ticket or a custom SVG commit — it removes a recurring, low-value interrupt from the sprint.lucide-static set, exposing a Lucide enum plus Blade rendering (@svg('lucide-…')). That is a buy/adopt decision, not a build one — we are buying curation, enum ergonomics, and a maintained sync pipeline, not glyph design. Building in-house would mean owning exactly the bump → sync → test → PR grind this package has already automated (ADR-0009).lucide-static within ^1.x, upstream additions arrive on a lag and only via package releases. Do not commit a roadmap item that depends on a specific upstream icon existing until it is present in the enum.broccoli, card-sim, mail-pen, map-pinned, nut, nut-off, save-off, calendar-chevrons-right) keep their names but change paths. Pixel-level visual diffs will appear in screenshot tests and design reviews; nobody needs to change code, but someone needs to not file a bug.Adopt when:
@svg('lucide-…') + Lucide::Case pairing gives typed, greppable, autocompletable icon references instead of magic strings.Look elsewhere or hold when:
^1.x range.printer-3d maps to Lucide::PrinterThreed (digits spelled out). Any codegen, docs, or Figma-to-code mapping that assumes a mechanical kebab→PascalCase transform will break on cases like this — assert against the real enum rather than generating names.To executives: We get a professionally maintained, actively synced icon library for free, wired into our existing Laravel code. Version 2.4.0 adds 32 icons — including currency symbols for several target markets — and changes nothing that breaks us. It is a low-risk, zero-migration upgrade, and the project's automated release pipeline means we are not taking on a dependency that quietly decays.
To engineering: Purely additive release. 32 new icons, 8 upstream redraws (same names, same enum cases), zero removals. Nothing to change when upgrading from v2.3.0 — bump the constraint, run the suite, and expect only screenshot-diff noise on the redrawn glyphs. Two things to note: use the enum (Lucide::…) as the source of truth rather than deriving case names from icon slugs (PrinterThreed proves the mapping is not mechanical), and remember new icons arrive only when the package bumps its pinned lucide-static range. The bump → sync → test → PR automation from ADR-0009 is why we can take these bumps on a routine cadence instead of batching them into risky upgrades.
How can I help you explore Laravel packages today?