Primer Octicons is a monorepo containing GitHub's official SVG icon set and its idiomatic packages for Node.js (JavaScript), React (with styled-system variants), and Ruby (gem, Rails helper, Jekyll plugin). The core build pipeline (`script/build.ts`) ingests raw SVG files from the `icons/` directory, validates their structure (filename, width/height, viewBox), parses them into an AST via svgson, and produces a consolidated `data.json` along with optimized SVG copies. A metadata layer (`script/icon-metadata.ts`) handles icon naming and backward compatibility: it supports aliases (e.g., `play` β `triangle-circle`), deprecation markers, default heights, and cryptographic geometry fingerprints that prevent accidental replacement of protected drawings. Each platform package is then generated from this shared data. The React package (`@primer/octicons-react`) uses a sophisticated build script that emits per-icon modules as pre-compiled `React.forwardRef` components, enabling tree-shaking and dynamic imports without runtime factory calls. The test suite is comprehensive, covering build validation, metadata integrity, React rendering, code-splitting, and Ruby library behavior. The repository exhibits excellent craftsmanship in its handling of naming stability, deprecation, and cross-platform icon delivery while maintaining a consistent design language across all packages.
This repository hosts a curated collection of over 1800 dashboard icons for self-hosted services and applications, accompanied by a full-stack web application for browsing, searching, downloading, and submitting icons. The frontend is built with Next.js 16, React 19, Tailwind CSS 4, and shadcn/ui components, and it uses PocketBase as the backend for authentication, icon submissions, and external icon source management. The application provides an MCP (Model Context Protocol) server endpoint that allows AI assistants to search icons and resolve CDN URLs. It also includes an SVG color customizer for inline theme adjustments, a community submission workflow with admin approval, and automated syncs from third-party sources (Simple Icons, selfh.st, LobeHub). The codebase is well-structured with modern tooling, CI/CD pipelines, and both unit and end-to-end tests. While the repository is primarily an icon asset collection, the accompanying web application delivers significant value through its search, customization, and community features.
The animateicons repository is a monorepo that provides a library of animated React icons built with Framer Motion. It includes a Next.js gallery for browsing and documenting the icons, a CLI for managing icons in projects, and an MCP server for AI agent integration. The core logic handles icon cataloging, search, and resolution. The application emphasizes reusable UI primitives, custom hooks for hover handling and animation configuration, and a utility for class name merging. The icon components follow a consistent pattern of exposing animation controls via refs and supporting hover-triggered animations with reduced motion respect.
This repository is a curated collection of over 3400 SVG icons for popular brands, maintained by the Simple Icons project. It is primarily a data repository, with the core assets being the SVG files in `icons/` and the structured metadata in `data/simple-icons.json`. The JSON schema defines brand title, hex color, source URL, guidelines, license, and aliases (including duplicates, localizations, and old names). The repository includes a comprehensive toolchain for managing and validating the icon set: scripts for adding/removing icons, formatting data, and running lint checks (custom linter `ourlint.js`, SVG linting via `svglint`, and JSON schema validation). A JavaScript SDK (`sdk.mjs`) provides utilities for accessing icon data, slug generation, and color normalization. The project is published as an npm package and also served via a CDN. While the primary purpose is data curation, the repository exhibits strong software engineering practices with automated CI/CD (GitHub Actions for release, label sync, issue management), pre-commit hooks, and extensive tests that validate every icon's properties. It is a hybrid of a data collection and a well-engineered toolset for maintaining that collection.
SFSafeSymbols is a Swift library that provides type-safe, compile-time checked access to Apple's SF Symbols. Instead of using string literals like `Image(systemName: "arrow.left")`, developers use generated static properties like `._arrowLeft` on the `SFSymbol` type, eliminating runtime crashes from typos and ensuring correct availability across OS versions. The library is distributed as a Swift Package, CocoaPod, and Xcode project, supporting iOS, macOS, tvOS, watchOS, and visionOS. It includes convenience initializers for SwiftUI (`Image`, `Label`, `Button`, `Tab`, `ContentUnavailableView`, `MenuBarExtra`), UIKit (`UIImage`, `UIApplicationShortcutIcon`), AppKit (`NSImage`), and AppIntents. The core architecture consists of a base `SFSymbol` class with `Codable` conformance and dynamic localization via `@dynamicMemberLookup`, plus thousands of auto-generated static properties organized by SF Symbols version. A companion command-line tool, `SymbolsGenerator`, parses Apple's metadata files (plists, strings) and produces the Swift source files, ensuring the library stays in sync with each OS release. The codebase is well-tested with unit tests for all framework extensions and runs CI on multiple Xcode versions and platforms.
unplugin-icons is a universal build tool plugin that enables on-demand import of thousands of SVG icons as framework-specific components. It integrates with Vite, Webpack, Rollup, Nuxt, Rspack, and esbuild via the unplugin abstraction. The core architecture consists of a loader that resolves icon paths (e.g., `~icons/mdi/account`), fetches SVG data from Iconify or custom collections, and passes the SVG through a compiler that generates code for Vue 3, React/JSX, Svelte, Solid, Astro, Ember, Qwik, Web Components, or raw SVG strings. Options allow customization of scale, style, class, icon customizer, and auto-install of icon sets. The resolver module enables auto-importing icons as components in Vue/React/Solid projects via unplugin-vue-components or unplugin-auto-import. The codebase is well-structured, with clear separation between build tool adapters, core logic, and compilers. It relies on external dependencies like @iconify/utils for SVG loading and optional peer dependencies for framework-specific compilation.
This repository is a comprehensive, community-maintained cheat sheet for favicon sizes, types, and best practices. It covers everything from minimal modern setups (SVG favicons with dark mode support, 180x180 apple-touch-icon, manifest.json) to exhaustive legacy browser support across iOS, Android, Windows, and older browsers. The README includes detailed HTML markup, image creation instructions, ICO file specifications, helpful tools, and a FAQ. The only other file is a PDF (FaviconGuides.ai), an Adobe Illustrator vector graphic that visually documents favicon sizes. There is no executable code or software; the repo is purely a static reference document. Its quality lies in the depth, accuracy, and practical utility of the information, which is regularly updated to reflect modern standards.
folderify is a macOS CLI tool that generates pixel-perfect native-style folder icons from a mask image (typically a PNG with a black design on transparent background). It produces .iconset directories and .icns files covering all standard icon sizes (16x16 through 512x512@2x) by compositing the mask with bundled folder template graphics via ImageMagick. The tool automatically adapts to the current macOS version (Big Sur or Tahoe style) and color scheme (light/dark), supports optional badges (alias, locked), and can assign the icon directly to a folder using AppleScript, fileicon, or Rez. The codebase is well-structured Rust with clean CLI argument parsing via clap, careful error handling, and comprehensive behavioral tests using Bun. It relies on external dependencies including ImageMagick, iconutil, and various macOS command-line utilities.
Iconoir is an open-source icon library (MIT) providing over 1600 SVG icons in 24Γ24 grid, distributed as framework-specific packages for React, React Native, Vue, SolidJS, Flutter, and CSS. The repository is a monorepo containing the raw SVG icons, a build pipeline that generates typed component libraries from those SVGs, and a Next.js website for browsing and downloading icons with search, filtering, and customization. The build system (bin/build/index.js) uses a plugin architecture to produce components for each target framework, while the website includes virtualized rendering for performance. Despite the large surface area, the codebase is well-organized with clear separation between icon sources, build tooling, and distribution packages. The primary architectural pattern is code generation: SVGs are transformed into framework-specific components via templates, enabling consistent cross-platform delivery. Notable components include the build pipeline's template system (e.g., icon-template.js), the website's virtualized icon list with React Window, and a Python script for enriching icon metadata from naming conventions.
This repository is a Visual Studio Code extension that provides a comprehensive file and folder icon theme using the Catppuccin pastel color palette. It offers icons for over 300 file types and numerous folder types, split across four flavor variants (Latte, FrappΓ©, Macchiato, Mocha). The extension is built with TypeScript and modern tooling (tsup, pnpm, eslint), featuring a modular architecture with separate concerns for configuration, icon compilation, theme generation, and build scripts. Users can customize settings such as monochrome mode, specific folder icons, and custom associations via VS Code settings. The codebase is well-structured, actively maintained, and includes CI/CD pipelines, integrity checks, and preview generation scripts.
This repository is a Gatsby-based static web application that generates HTML snippets of technology icons for GitHub profile READMEs. It provides a user interface where users can search from a large collection of technology icons (extracted from a README table), select and reorder them via drag-and-drop (using @dnd-kit), configure output options (e.g., wrapping in <code>, <div>, table format, icon size), and produce a ready-to-copy HTML string. The application is single-page with no backend; it fetches icon metadata dynamically from the repo's own README.md on GitHub. The architecture is a typical React component tree with state management in the Generator class component, using Material-UI for design and CodeMirror for code display. The codebase is well-structured, dependencies are modern, and the deployment is automated via GitHub Actions to GitHub Pages. It solves a specific, common need for developers seeking an aesthetic way to showcase their tech stack.
This repository is a curated list of awesome downloadable SVG/PNG/Font icon projects, organized as an awesome list in README.md. It serves as a resource for developers seeking icon libraries, categorized into general purpose icons, logos, special icons, and other categories (CSS-only, paid, frameworks). The list is static content with no data processing or transformation. The project includes contribution guidelines and a code of conduct to manage community submissions. Quality is maintained via a GitHub Actions workflow that runs awesome-lint on pull requests and pushes, ensuring the list adheres to awesome list guidelines (proper formatting, no duplicates). This workflow is a reusable pattern for other awesome list projects. While the repository does not contain complex software or data pipelines, it demonstrates a lightweight, maintainable approach to curating technical resources. The workflow uses actions/checkout@v2 (slightly outdated) and awesome-lint via npm. The project shows active maintenance with recent commits and issue engagement, though the dependency management lacks exact version pinning.
Font Awesome is a distribution repository for the widely-used open-source icon library. It provides icon assets in multiple formats: CSS (with font-face declarations), individual JavaScript/TypeScript modules for tree-shaking, SCSS partials, SVG sprites, and web fonts. The repository contains the compiled output of the free icon set, including thousands of icons across solid, regular, and brand styles. The code is almost entirely generated by upstream build tooling, resulting in a highly consistent but boilerplate-heavy structure. The core value is the icon content itself, not the software engineering craft. The repository is actively maintained, with frequent additions of new brand icons and style variants, and maintains backward compatibility via shims and alias mappings. It is a hybrid of a static asset library and a JavaScript package distribution, but has no application logic, data pipelines, or research components.
Besticon is a Go-based application and library designed to discover and generate website icons (favicons, apple-touch-icons, etc.). It functions as a monolithic service that can be deployed as a web server, a CLI tool, or imported as a library. The core logic scans HTML for icon links, parses .ico files, extracts dominant colors from images, and generates letter-based placeholder icons when no icons are found. It exposes an HTTP API with endpoints for icon fetching and a web UI for demonstration. The architecture separates concerns into a core library (`besticon`), a command-line interface (`besticon/cmd.go`), and a web server (`iconserver`). The server integrates Prometheus metrics for observability and implements SSRF protection to prevent security vulnerabilities during external HTTP requests. The codebase utilizes Go's standard library for image processing and HTML parsing, with external dependencies for caching (`groupcache`) and metrics (`prometheus`). A notable engineering practice is the use of VCR (Video Cassette Recorder) cassettes for testing HTTP interactions, allowing deterministic testing without live network access. The project also employs the functional options pattern for configuration, ensuring a clean API for the library consumers. However, the `go.mod` file specifies a future Go version (1.26), which indicates a configuration anomaly that may hinder standard builds.
This repository provides 40+ icon pack libraries for WPF (and UWP) applications under the MahApps.Metro ecosystem. The core architecture defines base classes (PackIconControlBase, PackIconDataFactory, converters) that each icon pack extends with auto-generated code: an enum of icon identifiers (e.g., PackIconFontAwesome6Kind), a PackIcon control, markup extensions, and converters. Icon path data is embedded as JSON resources and loaded via a singleton factory. The code is predominantly auto-generated from upstream icon sets (Font Awesome, Material Design, Bootstrap, etc.), leading to a highly repetitive structure across packs. The library is actively maintained with recent commits, CI/CD pipelines, and semantic versioning. While the code is well-organized and functional, the heavy reliance on code generation reduces craftsmanship in the per-pack files; the genuinely reusable components are the base classes in the Core project, which implement icon scaling, flip, rotation, spin animation, and data loading patterns.
This repository is a Ruby gem (`badge`) that programmatically overlays badges (e.g., beta/alpha ribbons) or shields (from shields.io) onto iOS, tvOS, and Android app icons. It is primarily used as a CLI tool or integrated via a fastlane plugin. The core logic uses MiniMagick (ImageMagick) to composite images, with optional SVG-to-PNG conversion via rsvg-convert for crisp shields. The gem intelligently parses Xcode asset catalog `Contents.json` files to detect legacy, single-size, or layered icon formats, and supports a wide range of customization options including dark/light themes, custom badge images, shield parameters, gravity, geometry, scaling, and grayscale conversion. It overwrites icons in place and preserves the original file format (PNG, WebP, JPEG). The codebase is well-structured with clear separation of concerns (options, runner, icon catalog, base constants) and includes a comprehensive smoke test suite (20 end-to-end cases). While the gem is functional and widely used (974 stars), it shows minor technical debt such as a load-bearing typo (`retry_attemps`), broad exception rescues, and reliance on the deprecated `open-uri` library. The icon catalog parser is a standout component that could be extracted for reuse in other Xcode asset catalog tooling.
This repository is a curated collection of reusable draw.io shape libraries, editable diagram examples, and a Docusaurus-based guideline website for creating consistent SAP Business Technology Platform (BTP) solution architecture diagrams. It provides standardized icons for SAP BTP services (organized by category and size), connectors, area shapes, text elements, brand logos, and pre-built diagram templates (e.g., SAP Task Center, SAP Cloud Identity Services, SAP Private Link Service). The guideline website documents design principles, atomic components, and best practices for diagram creation. The repository is not a runnable application but a design asset library with a static site for documentation. It serves SAP solution architects and technical writers who need to produce professional, on-brand architecture diagrams.
The repository provides a collection of PNG and SVG icons for use with the Homer dashboard. It includes a simple Python script (`scripts/generate_readme.py`) that generates the README.md file by listing all PNG icons as image tags. The script is self-contained, uses only the standard library, and can be easily reused in other projects for similar tasks. The icons are organized in the `png` and `svg` directories, covering a wide range of services and applications. The repository has not seen recent activity (the last commit date appears to be in the future, suggesting possible data issues, and there are open issues without recent resolution), leading to a stale maintenance status. The code is free of technical debt and uses up-to-date, standard Python practices.
This repository contains design assets for the United States Web Design System (USWDS) in various formats (Figma, Sketch, Adobe XD) along with icon sets and fonts. It serves as a resource for designers to access and customize USWDS components, colors, and typography. The repository is primarily a collection of design files rather than executable code, with minimal technical implementation. The Figma file is noted as the most up-to-date format, while Sketch and Adobe XD assets are less actively maintained. The repository includes contribution guidelines and licensing information, but the core value lies in the design assets themselves.