feat: add full Phosphor 2.1 set, AutoGuru customs and icon categories#77
Merged
Conversation
Bring the icon library to parity with the AutoGuru Design System: - Import the full Phosphor 2.1 regular-weight set via @phosphor-icons/core (scripts/import-phosphor.js). Additive only — existing icons are never overwritten, so hand-tuned AutoGuru icons are preserved (1367 added). - Add the 6 remaining AutoGuru-custom icons from Figma that have no Phosphor equivalent: car-alert, car-info, car-key, car-wrench, clutch, fuel-yes. - Categorise all 1576 icons across 20 design-system categories. build.js now emits a typed iconCategories/Category export plus a generated CATEGORIES.md; categories.json holds AutoGuru/brand/filled overrides, Phosphor's own figma_category is the fallback. - Cap generator concurrency to keep memory stable at ~1.6k icons. - Rewrite the README with clearer structure, usage and contributing docs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Phosphor SVGs are already committed under icons/, so the one-time import tooling and the @phosphor-icons/core dependency are no longer needed. - Remove scripts/import-phosphor.js. - Remove the @phosphor-icons/core devDependency. - Bake the full icon -> category map into categories.json (1576 entries) so build.js resolves categories from that static file alone; icons missing from it are reported and fall into Uncategorized. - Update the README contributing guide to the SVG-first workflow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per review: keep scripts/build.js untouched from main and drop the in-code category metadata. Categories now live solely in a single reference doc. - Restore scripts/build.js and .gitignore to their main versions (no category generation, no concurrency cap, no exported iconCategories/Category). - CATEGORIES.md is generated by a new standalone scripts/categories.js from categories.json — separate from the build; the package exports no category metadata. - Update the README to reference CATEGORIES.md and the new workflow. Net change vs main: the new icon SVGs plus CATEGORIES.md, categories.json, scripts/categories.js and the README. build.js/package.json/yarn.lock unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ny branch Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
GitHub only renders SVGs inline from absolute raw.githubusercontent.com URLs and resolves them against a concrete ref; relative paths and the default branch miss the not-yet-merged icons. Pin to a commit SHA that contains all icons so previews render now and survive the branch merge. The generator takes ICONS_REF. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Previews were pinned to an absolute raw.githubusercontent.com URL at a feature-branch commit SHA, which would 404 once the branch is squash-merged into main (the commit gets orphaned). Switch the generator to emit repo-relative paths (icons/<name>.svg) by default; GitHub resolves these against whichever ref the file is viewed on, so previews render on the branch now and on main after merge. ICONS_REF still produces absolute URLs for off-GitHub rendering. build.js untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A single CATEGORIES.md with all 1576 icon previews tripped GitHub's image rate-limiting, so a random subset rendered as broken images on every load. Split into an image-free index (CATEGORIES.md) that links to one page per category under categories/ (largest ~176 previews), each well within what GitHub renders reliably. Category pages reference icons relatively (../icons/<name>.svg) so previews resolve on any ref. build.js untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Keep main's structure intact and add the icon-category docs as one self-contained folder. Move categories.json -> categories/categories.json and scripts/categories.js -> categories/generate.js, and emit the index as categories/README.md (GitHub renders it when the folder is opened) instead of a root CATEGORIES.md. Update readme links accordingly. Pure documentation tooling; build.js and the published package are unaffected. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Link every category directly from the root readme (kept in sync by categories/generate.js between markers), so the full category reference is one click from the repo front page instead of buried in a folder. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the inline dot-separated category list with a two-pair table (category + count), generated by categories/generate.js, for a tidier landing page. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
amir-zahedi
approved these changes
Jun 16, 2026
8 tasks
timaMehro
pushed a commit
that referenced
this pull request
Jun 16, 2026
Marks #77 (full Phosphor 2.1 regular-weight set, AutoGuru custom icons, and category reference) as a minor release. Purely additive — no existing icons removed or renamed — so it bumps 2.0.1 -> 2.1.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
timaMehro
added a commit
that referenced
this pull request
Jun 17, 2026
Marks #77 (full Phosphor 2.1 regular-weight set, AutoGuru custom icons, and category reference) as a minor release. Purely additive — no existing icons removed or renamed — so it bumps 2.0.1 -> 2.1.0. Co-authored-by: Tima <timamehro@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings
@autoguru/iconsup to parity with the AutoGuru Design System: the fullPhosphor 2.1 regular-weight set plus the bespoke AutoGuru icons, with a
browsable category reference. Additive only — existing icons are never
removed, renamed, or edited, so current consumers keep working.
What's changed
regular-weight set alongside the existing AutoGuru-custom icons. Every SVG now
lives directly in
icons/, so the repo is self-contained — no external icondependency or import tooling.
scripts/build.jsis unchanged; it still turnsicons/*.svginto individual, tree-shakeable React components and thegenerated
index.ts. The published package layout and every existing exportname are preserved.
categories/). New standalone documentation: animage-free index (
categories/README.md) linking to one page per category(20 pages, e.g.
categories/commerce.md), generated bycategories/generate.jsfromcategories/categories.json. Split per categoryso GitHub renders all previews reliably — a single 1,576-image page trips
GitHub's image rate-limiting and shows broken icons. Pure docs: not part of the
build and not published (only
dist/andicons/ship).docs.
Compatibility
@autoguru/overdriveand other consumers integrate without code changes.Adding an icon
icons/(the filename becomes the export name —car-key.svg→CarKeyIcon).categories/categories.json.node categories/generate.jsto refresh the reference, thenyarn build.