<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Zura Jijavadze</title>
    <description>The latest articles on DEV Community by Zura Jijavadze (@zur4ik).</description>
    <link>https://dev.to/zur4ik</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F724408%2F6d49e667-2a93-48dc-8d1f-1372856e070f.png</url>
      <title>DEV Community: Zura Jijavadze</title>
      <link>https://dev.to/zur4ik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zur4ik"/>
    <language>en</language>
    <item>
      <title>Introducing icomp: Generate &amp; Explore Your SVG Icons Like a Pro</title>
      <dc:creator>Zura Jijavadze</dc:creator>
      <pubDate>Mon, 14 Apr 2025 07:48:53 +0000</pubDate>
      <link>https://dev.to/zur4ik/introducing-icomp-generate-explore-your-svg-icons-like-a-pro-517o</link>
      <guid>https://dev.to/zur4ik/introducing-icomp-generate-explore-your-svg-icons-like-a-pro-517o</guid>
      <description>&lt;p&gt;Hey folks! 👋&lt;/p&gt;

&lt;p&gt;If you’ve ever worked on a design system or just managed a bunch of custom icons in a frontend project, you know the pain of maintaining consistency, reusability, and discoverability. I’ve felt that pain too — so I built a tool to fix it.&lt;/p&gt;

&lt;p&gt;Say hello to &lt;code&gt;icomp&lt;/code&gt; — a CLI + UI combo for generating React components from your SVG icons and giving you a clean UI to browse and use them easily.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ What is icomp?
&lt;/h2&gt;

&lt;p&gt;icomp is a dev-friendly npm package that helps you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Convert SVG files into React components&lt;/li&gt;
&lt;li&gt;Automatically generate TypeScript types&lt;/li&gt;
&lt;li&gt;Host a web explorer ui for all your icons&lt;/li&gt;
&lt;li&gt;Copy JSX snippets directly from the UI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s built for teams and individuals who want to keep their icon workflow smooth, automated, and well-organized.&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 How it works?
&lt;/h2&gt;

&lt;p&gt;icomp has two main parts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. CLI Tool&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run this once and let it do all the boring stuff.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx icomp generate &lt;span class="nt"&gt;--input&lt;/span&gt; ./icons &lt;span class="nt"&gt;--output&lt;/span&gt; ./src/com/icons &lt;span class="nt"&gt;--watch&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parse all your svg icons from input folder&lt;/li&gt;
&lt;li&gt;Clean and optimize svg xml data&lt;/li&gt;
&lt;li&gt;Replace all fill and stroke colors with &lt;code&gt;currentColor&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Bind width, height and size to component props&lt;/li&gt;
&lt;li&gt;Generate TSX components in output folder&lt;/li&gt;
&lt;li&gt;Generate index.ts with exports for each icon&lt;/li&gt;
&lt;li&gt;Output them in a structure that’s ready to import in your project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Optional &lt;code&gt;--watch&lt;/code&gt; or &lt;code&gt;-w&lt;/code&gt; flag will listen input folder for changes and if you add or change any icon, tool will generate corresponding components immediately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Explorer UI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Spin up a local UI to preview, manage and copy icon snippets instantly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx icomp ui &lt;span class="nt"&gt;--input&lt;/span&gt; ./icons &lt;span class="nt"&gt;--output&lt;/span&gt; ./src/com/icons
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In UI mode you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explore icons form input folder&lt;/li&gt;
&lt;li&gt;Generate selected or all icons with one click&lt;/li&gt;
&lt;li&gt;Edit icon name and keywords (keywords will be used for search in future updates)&lt;/li&gt;
&lt;li&gt;Remove selected icons&lt;/li&gt;
&lt;li&gt;Import icon by dragging svg file&lt;/li&gt;
&lt;li&gt;Import icon by pasting svg code or file directly into ui dashboard&lt;/li&gt;
&lt;li&gt;Directly import icon from Figma or any similar graphic apps (just copy as svg and paste in UI)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Why I built it
&lt;/h3&gt;

&lt;p&gt;I was juggling dozens of SVGs across multiple projects. Some icons were duplicated, others hard to find, and sharing code snippets became a mess. &lt;/p&gt;

&lt;p&gt;I wanted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One source of truth for icons&lt;/li&gt;
&lt;li&gt;Easy browsing&lt;/li&gt;
&lt;li&gt;No manual component creation&lt;/li&gt;
&lt;li&gt;Instant code snippet access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There were tools out there, but most were either too limited or expensive. So I built icomp — customizable, dev-friendly, and tailored for modern React workflows.&lt;/p&gt;




&lt;h3&gt;
  
  
  🚀 Try it out
&lt;/h3&gt;

&lt;p&gt;You can get started in seconds. Install package as dev-dependency in your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;icomp &lt;span class="nt"&gt;--save-dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And don’t worry—it works great with &lt;strong&gt;TypeScript&lt;/strong&gt;, &lt;strong&gt;Vite&lt;/strong&gt;, and &lt;strong&gt;Create React App&lt;/strong&gt; setups.&lt;/p&gt;

&lt;p&gt;For detailed instructions you can visit page on &lt;a href="https://github.com/zur4ik/icomp" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🤝 Contributing
&lt;/h3&gt;

&lt;p&gt;icomp is an open-source project, and I’d love your help to make it even better!&lt;/p&gt;

&lt;p&gt;Whether you want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix a bug 🐛&lt;/li&gt;
&lt;li&gt;Suggest a feature 💡&lt;/li&gt;
&lt;li&gt;Improve the docs 📖&lt;/li&gt;
&lt;li&gt;Refactor code 🧼&lt;/li&gt;
&lt;li&gt;Or just open a discussion 💬&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;your contribution is welcome!&lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="https://github.com/zur4ik/icomp" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt; to get started. Even small improvements are super appreciated. ❤️&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Happy coding!&lt;/strong&gt; 🎨🧑‍💻&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>react</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
