name: add-icon description: Add new icons to the GitLens GL Icons font
/add-icon - Add GL Icon
Usage
/add-icon [icon-name]
-
icon-name— kebab-case (e.g.,my-new-icon)
Workflow
1. Add SVG File
Place in images/icons/{icon-name}.svg
Requirements:
- Square viewBox (e.g.,
viewBox="0 0 16 16") - Single color (fill controlled by CSS)
- No embedded
<style>tags or fonts - Use
fill="currentColor"for color inheritance
2. Update Mapping
Append to images/icons/template/mapping.json:
"icon-name": {next-available-code-point}
Code points are in the Private Use Area range (57344-63743). Check existing entries for next available.
3. Build
pnpm run icons:svgo # Optimize SVGs
pnpm run build:icons # Generate font (runs svgo + fantasticon + apply + export)
4. Update Font References
Copy the new glicons.woff2?{hash} URL from src/webviews/apps/shared/glicons.scss and search-replace the old URL across the codebase.
5. Use the Icon
In Lit components:
import { glIcon } from '../shared/components/icons.js';
html`${glIcon('my-new-icon')}`;
In CSS:
.my-element::before {
font-family: 'glicons';
content: '\{codepoint}';
}
Troubleshooting
-
Icon not showing: Check font URL is updated, verify code point in mapping.json, rebuild with
pnpm run build:icons -
SVG issues: Ensure single path/shape, remove
<style>tags, usefill="currentColor"
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
GitHub Stars
9.7k
GitHub Forks
1.7k
Created
Mar 2026
Last Updated
il y a 3 mois
tools
tools ide plugins
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!