It also has a generic Badge Composer mode that allows you to add badges to an arbitrary base SVG, I just didn’t bother updating the name when I added that mode.
This is awesome. I’m curious - how do the different projects implement cutouts for the badges? I jumped through some major hoops using Java2d to do that since it has nice CSG and offsetting operations. Does native SVG offer anything similar?
The primary cutout mechanism in my tool uses paper.js to build a badge silhouette and then paperjs-offset to create the cleared area around that silhouette. Then it uses boolean subtraction (also from paper.js) to carve the affected area out of the base icon. When it works, you get a highly optimized SVG, but there are some edge cases where it doesn’t, so there are both manual and automatic fallbacks to use SVG clipPath elements instead.
This is really cool. Do you think it could be combined with AI to generate
matching IntelliJ-style SVG icons from natural-language prompts, for example
for MCP services?
Yes, I almost exclusively use the tool via the CLI entrypoint by giving Claude Code a skill that describes how to use it effectively. No real need for MCP per-se.
I work with the agent to come up with a list of required variants (color, shape, letter, badges) for a particular initiative and then have it generate the full list. If something’s off, I just describe some desired adjustments and it regenerates the icon(s).