<?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: Hamish O'Neill</title>
    <description>The latest articles on DEV Community by Hamish O'Neill (@hamishoneill).</description>
    <link>https://dev.to/hamishoneill</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3410218%2F0f4a7e47-d8a4-4487-b72c-75a0048ce1fd.jpg</url>
      <title>DEV Community: Hamish O'Neill</title>
      <link>https://dev.to/hamishoneill</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hamishoneill"/>
    <language>en</language>
    <item>
      <title>How to manage your design system with the UI Rules Agent</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Mon, 07 Sep 2026 06:41:32 +0000</pubDate>
      <link>https://dev.to/hamishoneill/how-to-manage-your-design-system-with-the-ui-rules-agent-57i1</link>
      <guid>https://dev.to/hamishoneill/how-to-manage-your-design-system-with-the-ui-rules-agent-57i1</guid>
      <description>&lt;p&gt;&lt;em&gt;Part of a series on keeping AI tools on brand with &lt;a href="https://uirules.com" rel="noopener noreferrer"&gt;UI Rules&lt;/a&gt;. Watch the video version &lt;a href="https://www.youtube.com/watch?v=Zjj8upS4ZDI" rel="noopener noreferrer"&gt;on YouTube&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Managing a design system means making lots of small edits: clarifying a guideline, changing a style, or deciding which components belong in a project. Working through a form for each change takes time, even when you already know what you want.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://uirules.com/features/agent" rel="noopener noreferrer"&gt;UI Rules Agent&lt;/a&gt; lets you describe those changes in plain language. It drafts proposals for you to review, so you can spend more time on the decisions and less on entering them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Review every design system change before it lands
&lt;/h2&gt;

&lt;p&gt;The Agent proposes. You decide what actually lands.&lt;/p&gt;

&lt;p&gt;Every change it drafts arrives as a proposal you can approve or reject. Asking for an edit does not apply it automatically. You get to check whether the proposal captures what you meant before it becomes part of your design system.&lt;/p&gt;

&lt;p&gt;That matters because a short request can leave room for interpretation. "Make the labels clearer" could mean changing the wording, placement, or both. A proposal gives you something specific to assess against your brand guidelines.&lt;/p&gt;

&lt;p&gt;Review the substance, not just whether the wording sounds polished. Check which decision the proposal expresses and whether it belongs in your system. If it misses your intent, reject it and describe the change more precisely. Nothing is applied without your approval.&lt;/p&gt;

&lt;p&gt;The same approach carries through the Agent's work, whether you're adding guidance or changing what connected tools can see.&lt;/p&gt;

&lt;h2&gt;
  
  
  Write design guidelines by describing the change
&lt;/h2&gt;

&lt;p&gt;Start with a decision you would explain to another designer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Add a rule that form labels always sit above the field.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Agent drafts a rule from that request, including a type and importance level. You review the proposed wording and check that those choices match your intent.&lt;/p&gt;

&lt;p&gt;A type describes how to interpret a rule: Do, Don't, Caution, or Info. Importance distinguishes Required, Recommended, and Optional guidance. A form-label convention might be a requirement in your system or a recommended approach with exceptions. The proposal lets you assess that distinction before approving it.&lt;/p&gt;

&lt;p&gt;Keep the request focused on one decision. If the placement of a label and the wording of an error message are separate guidelines, describe them separately. The &lt;a href="https://uirules.com/blog/guide-to-rules" rel="noopener noreferrer"&gt;guide to writing design system rules&lt;/a&gt; explains how rule text, types, importance, and rationale fit together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Control what your AI tools can see
&lt;/h2&gt;

&lt;p&gt;Your system may include components or blocks that don't belong in a particular project. You can ask the Agent to change their visibility in plain language, such as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hide all marketing blocks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Review the proposed visibility change, then approve it if the selection is right. The blocks aren't deleted. They stop being served to your connected AI tools.&lt;/p&gt;

&lt;p&gt;This gives you a way to shape the component set those tools work with. You can keep marketing blocks out of a product project's available choices without removing them from your system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add your logo alongside its guidelines
&lt;/h2&gt;

&lt;p&gt;Give the Agent your logo and it prepares it with its variants, ready for usage rules. As with other changes, you review the proposal before it is applied.&lt;/p&gt;

&lt;p&gt;The asset and its guidance belong together. Having a logo available doesn't explain which version belongs on a dark background or where it should appear. Use your existing brand decisions to guide those rules, so your connected AI coding tools have both the asset and the context for using it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Refine rules and scan your website with Pro
&lt;/h2&gt;

&lt;p&gt;The free plan includes a limited Agent. The full Agent, Enhance, and Scan your website are available on Pro.&lt;/p&gt;

&lt;p&gt;Enhance helps turn a loosely written guideline into something more precise. For example, you might start with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Make sure text lines never get too long.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Enhance can propose "Keep body text line length at or under 70 characters," with Do as the type and Recommended as the importance. It shows what changed and why, and you can apply or discard the suggestion. Check that a suggested limit fits your system before accepting it.&lt;/p&gt;

&lt;p&gt;Scan your website starts from a different source: your live site. Give the Agent the URL and it drafts styles for you to review as proposals. These styles are your design tokens, including values for color, typography, and spacing. The &lt;a href="https://uirules.com/blog/guide-to-styles" rel="noopener noreferrer"&gt;brand styles guide&lt;/a&gt; explains how those values work alongside your written guidelines.&lt;/p&gt;

&lt;p&gt;Coming soon: give the Agent an existing brand document and turn its guidelines into editable rules and styles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to start
&lt;/h2&gt;

&lt;p&gt;Choose one small update you already know you need. Describe it as you would to a colleague, review the proposal, and approve it when it matches your decision. Then move on to the next change.&lt;/p&gt;

&lt;p&gt;Start with your own design system at &lt;a href="https://uirules.com" rel="noopener noreferrer"&gt;uirules.com&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to keep AI aligned to your design system</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Mon, 07 Sep 2026 06:40:58 +0000</pubDate>
      <link>https://dev.to/hamishoneill/how-to-keep-ai-aligned-to-your-design-system-554d</link>
      <guid>https://dev.to/hamishoneill/how-to-keep-ai-aligned-to-your-design-system-554d</guid>
      <description>&lt;p&gt;&lt;em&gt;Written for design system managers, with examples for brand teams too.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Your design guidelines capture years of decisions about how your organization's products should look, work, and sound. Some are immediately visible, such as typography and color. Others show up as people use the product: whether they can undo a deletion, what a button says while they wait, or how an error message helps them recover.&lt;/p&gt;

&lt;p&gt;When someone on your team builds a screen with AI, those decisions still matter. A screen can use the right colors and miss the behavior you've carefully worked out. A delete action might skip a necessary confirmation. An error message might explain the problem without telling anyone how to fix it.&lt;/p&gt;

&lt;p&gt;How do you make that guidance available to the tools your team is using, and keep it current as your system changes? This guide looks at the problem from a design system manager's perspective, with examples for brand teams too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep accessibility and usability decisions in the build
&lt;/h2&gt;

&lt;p&gt;A finished screen doesn't show all the work behind it. Your team may have tested its contrast in dark mode, checked the keyboard navigation, and revised the wording after watching people struggle with a form.&lt;/p&gt;

&lt;p&gt;Those choices belong in the next version of the product too, whether a person or an AI tool builds it. Sharing the visual styles alone won't explain how a focus state should work, how large a touch target needs to be, or what an error message should include.&lt;/p&gt;

&lt;p&gt;The reasoning matters as well. If your date picker behaves a particular way because of usability testing, that context helps someone understand why they shouldn't casually change it.&lt;/p&gt;

&lt;p&gt;An AI tool needs access to those guidelines to take them into account. Without them, it may produce a reasonable interface that doesn't follow the decisions your team has already made.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make your documentation available to AI tools
&lt;/h2&gt;

&lt;p&gt;Your documentation may already cover all of this: component behavior, styles, content guidelines, and examples of what to do and what to avoid. The question is whether the tool building a screen has that guidance available when it needs it.&lt;/p&gt;

&lt;p&gt;AI tools can read documentation when you give them access. But having a docs site doesn't mean every tool your team uses will find the relevant page or read its latest version.&lt;/p&gt;

&lt;p&gt;For a designer, looking up a component is part of the work. With an AI tool, that step needs to be part of the workflow too. Otherwise, your guidelines can be well documented and still be absent from the request the tool is working on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Markdown files and Notion pages get out of sync
&lt;/h2&gt;

&lt;p&gt;One approach is to copy your guidelines somewhere the tool can read them: a Markdown file alongside the code, a Notion page, or a skill file containing instructions for a particular tool.&lt;/p&gt;

&lt;p&gt;That can work well for a small project. The maintenance problem starts when the original guidelines change. If you update the spacing guidance on your docs site, someone also needs to update every copy used by an AI tool.&lt;/p&gt;

&lt;p&gt;Skill files need the same care. A file written for one project can remain in use long after the person who created it has moved on. Without a clear owner and a review process, it's easy to lose track of which guidance is current.&lt;/p&gt;

&lt;p&gt;The files themselves aren't the problem. It's the extra work of keeping several copies of the same guidance up to date.&lt;/p&gt;

&lt;h2&gt;
  
  
  It gets worse with a team
&lt;/h2&gt;

&lt;p&gt;That work grows as more people and tools get involved.&lt;/p&gt;

&lt;p&gt;A designer might prototype in one tool while an engineer builds in another. If each uses a separate copy of your guidelines, a single design-system change can mean updates across several projects.&lt;/p&gt;

&lt;p&gt;Say you changed your focus-state guidance last week. How would you check that every tool has the new version? With separate files, someone has to find and review each copy.&lt;/p&gt;

&lt;p&gt;If a tool uses old guidance, the difference may not show up until design review. Your team ends up correcting work using decisions it had already documented.&lt;/p&gt;

&lt;h2&gt;
  
  
  One place your tools read from
&lt;/h2&gt;

&lt;p&gt;We built &lt;a href="https://uirules.com" rel="noopener noreferrer"&gt;UI Rules&lt;/a&gt; to give connected AI tools a shared place to read your design system. Instead of maintaining a separate set of instructions for each tool, you manage the styles and guidelines together.&lt;/p&gt;

&lt;p&gt;Your brand in UI Rules holds two things.&lt;/p&gt;

&lt;p&gt;Your &lt;strong&gt;styles&lt;/strong&gt; are the real values, your design tokens: color, typography, radius, shadow, spacing, sizing, and layout, with light and dark values where they apply.&lt;/p&gt;

&lt;p&gt;Your rules explain how to use those styles, along with guidance for behavior and content. A primary color value tells a tool which blue to use. A rule can tell it to reserve that color for the main action on a screen.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Give a tool your brand styles and it'll look like your brand. Rules help apps work and sound like your brand.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Write rules that explain what matters
&lt;/h2&gt;

&lt;p&gt;Each rule has a type: Do, Don't, Caution, or Info. It also has an importance level: Required, Recommended, or Optional. Use these to distinguish a requirement, such as minimum contrast, from a preference. They help a tool interpret your guidance, but they don't replace reviewing its work.&lt;/p&gt;

&lt;p&gt;Write a rule as you'd explain it to a colleague. If you want help refining it, Enhance, available on Pro, suggests clearer wording and explains the changes. You review the suggestion before applying it.&lt;/p&gt;

&lt;p&gt;Keep related rules in named groups alongside the components, styles, or content they describe. You can lock agreed rules to protect them from edits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Guidelines for your components
&lt;/h2&gt;

&lt;p&gt;UI Rules also includes components based on shadcn, an open-source collection of interface components such as buttons, cards, and dialogs. Each component can carry guidelines for how your team uses it, including spacing, behavior, and states. You can also turn off components that aren't part of your system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give your tools access to current guidelines
&lt;/h2&gt;

&lt;p&gt;You can connect Claude Code, Cursor, v0, Lovable, Codex, and Figma Make to your brand. Connections are read-only by default, so a tool can read your guidelines without being allowed to change them.&lt;/p&gt;

&lt;p&gt;When you update a rule, the new version is available the next time a connected tool reads your brand. That gives your team one place to check the current guidance instead of searching through separate instruction files.&lt;/p&gt;

&lt;p&gt;Some apps need different styles. Your marketing site might use larger headings than your product, for example. In UI Rules, each connected app inherits your brand's styles and rules. You can then change values for that app without changing the shared brand or the other apps using it.&lt;/p&gt;

&lt;h2&gt;
  
  
  For brand managers
&lt;/h2&gt;

&lt;p&gt;Brand managers can use the same approach for language and assets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voice and tone.&lt;/strong&gt; Give tools guidance for the words they write, including button labels, error messages, and onboarding. Be specific about what your voice means in practice. For example: "In error messages, explain what happened and what the person can do next. Avoid jokes." Group these rules by the kind of content they apply to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logo and brand assets.&lt;/strong&gt; Upload your logo and add guidance for clear space, placement, and suitable backgrounds. This gives connected tools access to the asset you want them to use and instructions for presenting it correctly.&lt;/p&gt;

&lt;p&gt;You'll still need to review the output. The benefit is that your guidelines are available while the tool is creating the work, rather than only being used to explain corrections afterward.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to start
&lt;/h2&gt;

&lt;p&gt;Start with one app and the guidelines you find yourself repeating most often:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Get your real values in.&lt;/strong&gt; &lt;a href="https://uirules.com/blog/guide-to-styles" rel="noopener noreferrer"&gt;Import your existing theme&lt;/a&gt; rather than typing every value in by hand.&lt;/li&gt;
&lt;li&gt;Write the guidelines you repeat most often in design reviews. Mark genuine requirements as Required, and use Recommended or Optional for preferences. &lt;a href="https://uirules.com/blog/guide-to-rules" rel="noopener noreferrer"&gt;The rules guide&lt;/a&gt; explains how to write and organize them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect one tool and one project.&lt;/strong&gt; See what comes back, then write rules for whatever it still gets wrong.&lt;/li&gt;
&lt;li&gt;Add your voice guidelines and logo usage rules so the tool has guidance for both the words and the visuals.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Build a screen, review it against your guidelines, and note what still needs attention. Use that review to clarify your rules. You don't need to document every possible situation before you begin; start with the decisions your team is already making repeatedly.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to use your brand styles in AI coding tools</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Mon, 07 Sep 2026 06:39:50 +0000</pubDate>
      <link>https://dev.to/hamishoneill/how-to-use-your-brand-styles-in-ai-coding-tools-3fpj</link>
      <guid>https://dev.to/hamishoneill/how-to-use-your-brand-styles-in-ai-coding-tools-3fpj</guid>
      <description>&lt;p&gt;&lt;em&gt;Part of a series on keeping AI tools on brand with &lt;a href="https://uirules.com" rel="noopener noreferrer"&gt;UI Rules&lt;/a&gt;. Watch the video version &lt;a href="https://www.youtube.com/watch?v=BjdjF89-SKQ" rel="noopener noreferrer"&gt;on YouTube&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You've already chosen your brand's colors, typefaces, and spacing. When you build with an AI tool, you want to use those same choices without having to describe them again in every project.&lt;/p&gt;

&lt;p&gt;UI Rules makes your brand styles available to Cursor, v0, Lovable, Codex, Figma Make, and Claude Code. Import them from Figma, paste an existing CSS theme, or use a preset, then connect the apps your team uses. This guide covers those three import methods and how to use the styles in a build.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design tokens are the values, rules are the guidance
&lt;/h2&gt;

&lt;p&gt;If you've read the &lt;a href="https://uirules.com/blog/guide-to-rules" rel="noopener noreferrer"&gt;rules guide&lt;/a&gt;, here's how the two fit. Styles are your design tokens, the actual values: the color of your primary button, your background, your border color, the typeface for body copy and headings. Rules are the brand guidelines that say how those values get used.&lt;/p&gt;

&lt;p&gt;A color value tells a tool which color to use. A rule explains where it belongs. Your primary color, for example, might have a rule saying to reserve it for the most important action on the screen. UI Rules lets you keep that guidance alongside the value.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a new brand starts with
&lt;/h2&gt;

&lt;p&gt;A new brand starts with neutral colors and standard typography. You can use these as a starting point, then replace them with your own styles. Choose an import method based on where your design system lives today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Import design tokens from Figma
&lt;/h2&gt;

&lt;p&gt;If your colors, spacing, and other styles are stored as Figma variables, you can import them with the UI Rules plugin. Create a Figma key in UI Rules, install the plugin from the Figma Community, and use the key to connect your brand. Choose the variable collections you want to import, review the preview, and apply.&lt;/p&gt;

&lt;p&gt;Open your brand in UI Rules to review the imported values. The plugin brings across the collections you selected, including light and dark modes, so you don't need to enter each value by hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paste your CSS variables
&lt;/h2&gt;

&lt;p&gt;If your styles are already in your website's code, ask a developer for the CSS theme and paste it into UI Rules. CSS variables are named values for things such as colors and fonts. If you need to create a theme, &lt;a href="https://tweakcn.com" rel="noopener noreferrer"&gt;tweakcn&lt;/a&gt; is a quick way to build a theme: enter your brand values or start from one of its presets, and paste the CSS it produces.&lt;/p&gt;

&lt;h2&gt;
  
  
  Paste a preset code
&lt;/h2&gt;

&lt;p&gt;A preset is a shareable code for a complete theme. These presets work with shadcn, an open-source collection of interface components such as buttons and cards. You can create one at &lt;a href="https://ui.shadcn.com/create" rel="noopener noreferrer"&gt;ui.shadcn.com/create&lt;/a&gt; or &lt;a href="https://shadcncraft.com/create" rel="noopener noreferrer"&gt;shadcncraft.com/create&lt;/a&gt;, or grab a ready-made one, and paste the code in.&lt;/p&gt;

&lt;p&gt;Whichever route you take, UI Rules previews the import before anything is written, so you can see exactly what will change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use your styles in a connected AI tool
&lt;/h2&gt;

&lt;p&gt;Connect your chosen app to your brand, then ask it to read your UI Rules styles before building a screen. The same approach works with Cursor, v0, Lovable, Codex, Figma Make, and Claude Code. The worked example uses v0, where the project starts with the brand's colors, typography, and corner radius.&lt;/p&gt;

&lt;p&gt;When a style changes, update it in UI Rules. The new value is available the next time a connected tool reads your brand. You still need to review the result, and existing screens won't change on their own, but you no longer need to maintain a separate copy of your styles for each tool.&lt;/p&gt;

&lt;p&gt;Start with the styles you already have, then connect the AI app you use most. You can connect more apps to the same brand as your team needs them.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to share your design system rules with AI coding tools</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Mon, 07 Sep 2026 06:39:13 +0000</pubDate>
      <link>https://dev.to/hamishoneill/how-to-share-your-design-system-rules-with-ai-coding-tools-5em6</link>
      <guid>https://dev.to/hamishoneill/how-to-share-your-design-system-rules-with-ai-coding-tools-5em6</guid>
      <description>&lt;p&gt;&lt;em&gt;Part of a series on keeping AI tools on brand with &lt;a href="https://uirules.com" rel="noopener noreferrer"&gt;UI Rules&lt;/a&gt;. Watch the video version &lt;a href="https://www.youtube.com/watch?v=CtISpHIvym0" rel="noopener noreferrer"&gt;on YouTube&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you ask an AI tool to build a form, you want it to use the guidelines your team has already agreed on: where labels go, how buttons are written, and what happens when something goes wrong. The tool needs those guidelines to make decisions that fit your system.&lt;/p&gt;

&lt;p&gt;UI Rules connects your design guidelines to Cursor, v0, Lovable, Codex, Figma Make, and Claude Code. You write and organize your rules in one place, and each connected tool can read them as it builds. This guide shows how to create and manage those rules, with a worked example in Claude Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a design rule actually is
&lt;/h2&gt;

&lt;p&gt;A rule describes a design decision you want your tools to follow. It can be as simple as a sentence, with a type and importance level to clarify how it should be used. You can also add a heading and explain the reason behind it.&lt;/p&gt;

&lt;p&gt;The rule itself, short and single-purpose: "Never use a placeholder as the label."&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;type&lt;/strong&gt;. Do and Don't are instructions. Caution is a warning a tool should weigh. Info is context worth knowing rather than something to enforce.&lt;/p&gt;

&lt;p&gt;A heading makes the rule easier to find. A rationale explains why it matters. For a rule about form labels, you might write: "Placeholder text disappears when someone starts typing. Keep the label visible so they can check what the field is asking for." That explanation helps both your teammates and your AI tools understand the decision.&lt;/p&gt;

&lt;p&gt;Importance tells the tool how strongly to prioritize the rule. Choose Required for a requirement, Recommended for your usual approach, or Optional for a preference. These labels communicate your intent; you should still review what the tool builds.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design guidelines you get out of the box
&lt;/h2&gt;

&lt;p&gt;When you create a brand, you can start with curated guidelines or write your own from scratch. The curated set includes guidance for colors, components, accessibility, and content. Review it against your own system, keep what fits, and edit the rest.&lt;/p&gt;

&lt;p&gt;Rules can apply broadly or to a specific part of your system. A general color rule might explain when to use color for emphasis. A rule attached to your primary color can be more specific: "Use this for the single most important action on the screen." Components such as buttons have their own guidelines too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing and editing design system rules
&lt;/h2&gt;

&lt;p&gt;Open an existing rule to edit it, or add a new one. For example, if your brand uses uppercase button labels, write "Use uppercase for all button labels" and set its type to Do. Add a heading and rationale if they're useful, then save. The updated rule is available the next time a connected tool reads it.&lt;/p&gt;

&lt;p&gt;Group related rules together and reorder them so they're easy to review. Once you're happy with a rule, you can lock it to protect it from edits.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try your rules in a connected AI tool
&lt;/h2&gt;

&lt;p&gt;You can try this with any of the supported apps once you've connected it to your brand. For this example, I used Claude Code. With the uppercase rule saved, I asked:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Create a simple alert that shows I'm running out of disk space. Be sure to include some buttons.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Claude Code read the rules from UI Rules and built the alert with uppercase button labels. I hadn't mentioned capitalization in the prompt. It's a small example, but it shows how a guideline you've written can inform the result without being repeated in the request.&lt;/p&gt;

&lt;p&gt;To try this yourself, create a brand in &lt;a href="https://uirules.com" rel="noopener noreferrer"&gt;UI Rules&lt;/a&gt;, add a few guidelines, and connect the app you already use. The connection guides cover Cursor, v0, Lovable, Codex, Figma Make, and Claude Code.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The best shadcn/ui libraries in 2026</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Fri, 31 Jul 2026 05:41:54 +0000</pubDate>
      <link>https://dev.to/hamishoneill/the-best-shadcnui-libraries-in-2026-4g17</link>
      <guid>https://dev.to/hamishoneill/the-best-shadcnui-libraries-in-2026-4g17</guid>
      <description>&lt;p&gt;&lt;em&gt;Last updated July 31, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Somewhere in 2025, shadcn/ui stopped being a library and became an ecosystem. There are now dozens of registries built on top of it, and figuring out which one to pay for is harder than it should be. Most comparison posts don't help. They're either forty links with no opinion attached, or five links where the author somehow comes out on top.&lt;/p&gt;

&lt;p&gt;I build shadcncraft. It's in this list and it comes first, so let me put my cards on the table. I'm a design leader with over 25 years of experience. I've worked in some of the top agencies in Melbourne, Australia, along with leading organizations like carsales and ANZ Bank. A lot of what follows is judgment about design quality, and you should know whose judgment it is: I know what good looks like. Every number in this post is attached to a page you can open. The opinions are mine and I stand behind them.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;If a designer and a developer both touch your product, get &lt;strong&gt;shadcncraft&lt;/strong&gt;. It's the only library where every block exists in both Figma and React with matching names, so the design file and the codebase stay the same thing. If you're a developer working alone and you just need volume, get &lt;strong&gt;Shadcnblocks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;By category:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best overall:&lt;/strong&gt; shadcncraft&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Figma to code parity:&lt;/strong&gt; shadcncraft&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Largest block library:&lt;/strong&gt; Shadcnblocks, 1780 blocks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Largest Figma kit:&lt;/strong&gt; Shadcn Studio, 800+ Pro blocks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best open source:&lt;/strong&gt; ReUI, 1,000+ free components and examples&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best for marketing sites:&lt;/strong&gt; Tailark&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best for motion:&lt;/strong&gt; beUI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best for interaction detail:&lt;/strong&gt; &lt;a href="http://chanhdai.com" rel="noopener noreferrer"&gt;chanhdai.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best for advanced application components:&lt;/strong&gt; Kibo UI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I evaluated these
&lt;/h2&gt;

&lt;p&gt;Six things, same for everyone. How many blocks and components there are, and whether they're new work or restyled shadcn primitives. Whether there's a Figma kit and how much of the code library it covers. Whether design and code share names and tokens or a human translates between them. Ecosystem support, meaning CLI, registry, MCP, Base UI, and how current it is with upstream. Tooling. Price at list, not whatever sale is on this week.&lt;/p&gt;




&lt;h2&gt;
  
  
  Best overall: shadcncraft
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://shadcncraft.com" rel="noopener noreferrer"&gt;shadcncraft.com&lt;/a&gt; · 245 blocks · 116 components · 11 page templates · $119 to $499, one time&lt;/p&gt;

&lt;p&gt;I'll skip the part where I pretend to be neutral about my own product and just tell you what it does differently.&lt;/p&gt;

&lt;p&gt;The case for shadcncraft isn't volume. Three libraries in this list have more blocks. The case is that everything exists twice, in Figma and in React, and the two halves actually know about each other. All 245 blocks have a matching Figma frame whose layer names are the React &lt;code&gt;data-slot&lt;/code&gt; values. That sounds like trivia. It stops being trivia the first time you point an AI tool at a design, because an agent reading the frame through the Figma MCP can tell exactly which registry block it's looking at and install the real thing instead of generating a lookalike from a screenshot.&lt;/p&gt;

&lt;p&gt;Theming runs in both directions, which nothing else here does. Build a theme in shadcn Create, paste the preset into the Figma plugin, and it's recreated in variables exactly. Or build it in Figma and carry the preset back to your codebase. tweakcn themes layer over any of the eight shadcn styles. Most kits drift from their codebase within a month of purchase because themes only flow one way, if they flow at all.&lt;/p&gt;

&lt;p&gt;Icons get the same treatment. Five sets, Lucide, Tabler, Hugeicons, Phosphor, Remix. Switch them from Figma's variables panel, and the registry reads your &lt;code&gt;components.json&lt;/code&gt; and installs React blocks with whichever set you picked. Plenty of kits let you swap icons inside Figma. This is the only one where your choice survives the handoff to code.&lt;/p&gt;

&lt;p&gt;There are two component bases, Radix UI and Base UI, which makes sixteen style and base combinations. Base UI landed here on April 26, a couple of months before shadcn/ui made it the default.&lt;/p&gt;

&lt;p&gt;On quality, since everyone in this list claims it: open &lt;a href="https://shadcncraft.com/blocks" rel="noopener noreferrer"&gt;any block on the site&lt;/a&gt;. They're all live. Switch the style, the base, the theme, the icon set, flip to dark. Then open the matching Figma frame from the same page and compare. Judge it yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's in each tier.&lt;/strong&gt; Base Figma is the official shadcn/ui set in Figma with all 8 styles and the Figma plugin for styles, themes and presets. The Pro tiers add the 192 Pro blocks, 55 Pro components, and the Pro pages and sites: in Figma on Pro Figma, in React on Pro React, and in both on the bundle. Pro React is code-only, so no Figma kit and no plugin, but it steps the agent skills up from token sync to full Figma-to-code and adds an offline Storybook build alongside the public one. The bundle gets everything, including React generation inside the plugin itself. Every tier has lifetime updates, unlimited commercial use, and support within 24 hours on Base and 12 hours on the Pro tiers. Upgrades are self-service and you pay only the difference between tiers, so starting on Base costs you nothing later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short.&lt;/strong&gt; It's a smaller library, and if breadth is what you're buying, buy breadth. The &lt;a href="https://shadcncraft.com/pages" rel="noopener noreferrer"&gt;11 page templates&lt;/a&gt; are full multi-section layouts, dashboards, settings, auth flows, but they're Figma only. No React equivalent for pages, just for the &lt;a href="https://shadcncraft.com/sites/clearflow" rel="noopener noreferrer"&gt;ClearFlow site&lt;/a&gt;. There's nothing for motion or animation. And there's no IDE extension or page builder yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Free tier:&lt;/strong&gt; a starter kit on the Figma community, plus 8 blocks and 16 components in the registry, no license key.&lt;/p&gt;




&lt;h2&gt;
  
  
  Largest block library: Shadcnblocks
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.shadcnblocks.com" rel="noopener noreferrer"&gt;shadcnblocks.com&lt;/a&gt; · 1780 blocks · 1914 components · 49 pages · 17 templates · $149 to $399, one time&lt;/p&gt;

&lt;p&gt;Credit where it's due. Nothing else is close on volume, the pace is real, roughly 50 to 100 new blocks a month since launching in August 2024, and the tooling around the library is the best in the ecosystem. IDE extension, browser page composer, CMS boilerplates for Payload and Sanity, an admin kit. The catalog runs across marketing, app UI and e-commerce, and the templates are genuinely multi-page in both Next.js and Astro. 5,420 people pay for it. If you're a developer who wants the widest menu available and tooling that keeps up with you, this is the default, and I won't pretend otherwise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short.&lt;/strong&gt; The design. To be precise: this isn't about the code, it's about what's on the canvas. Weighting, spacing, typographic hierarchy, horizontal and vertical rhythm. Browse the library with those in mind and the blocks read as produced rather than designed. Elements sit where a generator or a developer doing their best would put them, not where a designer would. Which makes sense, because this is a developer-led product. And that's the trap: developers deserve good design too, they're just less likely to spot where it's missing until their product is live and something feels off next to a competitor's. If you're buying this, you're buying volume. Know that going in.&lt;/p&gt;

&lt;p&gt;The Figma side has a gap you can count. 484 block designs in the kit against 1780 blocks in code, and their own pricing FAQ says it doesn't yet contain all the block designs. For about three quarters of the library, a designer has nothing to work from. Figma also starts at the $299 tier, not the $149 one.&lt;/p&gt;




&lt;h2&gt;
  
  
  Largest Figma kit: Shadcn Studio
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://shadcnstudio.com" rel="noopener noreferrer"&gt;shadcnstudio.com&lt;/a&gt; · 800+ Pro blocks in Figma · 1000+ component variants · $219 to $1299, one time&lt;/p&gt;

&lt;p&gt;The biggest Figma kit by count, and the widest toolset of any paid option here. MCP, IDE extension, theme generator, drag and drop builder, a Figma plugin with AI codegen. Figma Slots, which let you swap section content without detaching instances, are a genuinely good idea that more kits should steal. There's a free open source tier, so you can read the code before paying anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short.&lt;/strong&gt; Same caveat as above: this is about the design, not the code. Look at the blocks the way a design reviewer would, at the type scale, the spacing, how a section hangs together, and a lot of the catalog looks AI-generated. Not wrong, just generic, the way a first pass looks before someone with taste has been through it. Like Shadcnblocks, this is a developer-led product, and at 800+ blocks, that first-pass look is what you should expect going in.&lt;/p&gt;

&lt;p&gt;A few practical things too. Figma is gated to the $359 tier, the most expensive route to a kit in this post. Their block count reads 800+ on their own site and 550+ on their entry in shadcn's Figma docs, so one of those is stale. And the pricing page has been running a "30% off for the next 500 users" banner long enough that I'd treat the list price as decorative.&lt;/p&gt;




&lt;h2&gt;
  
  
  Best open source: ReUI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://reui.io" rel="noopener noreferrer"&gt;reui.io&lt;/a&gt; · 1,051 free components plus 20 in-house primitives · 492+ Pro blocks and templates, paid, one-time&lt;/p&gt;

&lt;p&gt;The widest free coverage there is, and the free tier is not a teaser. The in-house primitives, data grid, Kanban, Gantt, event calendar, filters, stepper, tree, are free, on both Radix and Base UI, from a public registry with no auth wall. If your budget is zero and you need application components rather than marketing sections, start here. The paid side, 492+ Pro blocks across SaaS, dashboards, fintech and e-commerce, sits on the same foundation if you outgrow it.&lt;/p&gt;

&lt;p&gt;Their MCP deserves a mention on its own. Hosted, free with an account, and it does things most registry MCPs don't bother with: search that tells you why a result matched, a tool that reads real component APIs so the agent wires props from documentation instead of guessing, validation before code gets written. If an agent does most of your assembly, that's worth something.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short.&lt;/strong&gt; Breadth without much of a design voice, which is the usual price of open source at this scale. And the Figma side is a community file rather than a maintained kit, so there's no real design story.&lt;/p&gt;




&lt;h2&gt;
  
  
  Best for marketing sites: Tailark
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://tailark.com" rel="noopener noreferrer"&gt;tailark.com&lt;/a&gt; · hundreds of blocks · complete pages in 4 styles · core free and open source, Pro in early access at &lt;a href="http://pro.tailark.com" rel="noopener noreferrer"&gt;pro.tailark.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The best answer to a very specific worry, which is that your landing page will look like every other shadcn site on the internet. The design language is deliberately more bespoke than the default, and the four themes hold a whole site together without you re-tweaking each section. Radix and Base UI both supported. The core is free, so you can form your own view before paying for Pro.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short.&lt;/strong&gt; No Figma. Marketing surfaces only. And the pages carry less production functionality than they appear to at first glance.&lt;/p&gt;




&lt;h2&gt;
  
  
  Best for motion: beUI
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://beui.dev" rel="noopener noreferrer"&gt;beui.dev&lt;/a&gt; · 51 free MIT components · Pro adds 17 block groups and 5 templates&lt;/p&gt;

&lt;p&gt;Ships roughly a component a day, and made the unusual call to drop the shadcn and Radix dependency entirely, so everything is standalone and sits beside whatever you already have. Listed in shadcn's official registries index. beUI Studio, a WebGL background editor with 23 shaders that exports React source, has no equivalent anywhere else in this list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short.&lt;/strong&gt; No Figma, no team or enterprise licensing, and no license or refund page that I could find at time of writing. It's one person's project. Set your support expectations accordingly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Best for interaction detail: &lt;a href="http://chanhdai.com" rel="noopener noreferrer"&gt;chanhdai.com&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://chanhdai.com" rel="noopener noreferrer"&gt;chanhdai.com&lt;/a&gt; · 36 components · MIT · free&lt;/p&gt;

&lt;p&gt;Disclosure first: Chánh Đại is shadcncraft's design engineer, which is exactly how I know this work well enough to point you at it.&lt;/p&gt;

&lt;p&gt;This is craft, not catalog. Thirty-six components built to a standard most libraries don't attempt. And the endorsements aren't mine to hand out: shadcn, Vercel's CEO and Vercel's founding designer have all praised it publicly, it's backed by the Vercel OSS Program, and his React Wheel Picker does 30k+ weekly downloads and sits in the official shadcn registry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where it falls short.&lt;/strong&gt; It's 36 components. A supplement, not a foundation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Best for advanced application components: Kibo UI
&lt;/h2&gt;

&lt;p&gt;Kanban boards, Gantt charts, timelines, complex data visualization. The components most libraries skip because they're hard, and that most SaaS products end up needing at least one of. Narrow on purpose, and no Figma.&lt;/p&gt;




&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is the best shadcn/ui library in 2026?
&lt;/h3&gt;

&lt;p&gt;Depends whether a designer is involved. If yes, shadcncraft, because all 245 blocks exist in both Figma and React with matching names, which is what makes handoff and AI codegen work rather than approximate. If you're a developer working alone and want the largest catalog, Shadcnblocks, which covers marketing, app UI and e-commerce.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which shadcn library has the most blocks?
&lt;/h3&gt;

&lt;p&gt;Shadcnblocks, with 1780. Shadcn Studio has 800+ Pro blocks. shadcncraft has 245, and Tailark's core has hundreds more, all marketing-focused.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which shadcn library has the best Figma kit?
&lt;/h3&gt;

&lt;p&gt;Shadcn Studio is the largest by count. shadcncraft is the most complete relative to its own code library, since all 245 blocks have a matching Figma frame. Shadcnblocks ships 484 Figma designs against 1780 blocks in code, a gap its own pricing FAQ acknowledges. Tailark, beUI, ReUI and Kibo UI have no maintained Figma kit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which shadcn library has real Figma to code parity?
&lt;/h3&gt;

&lt;p&gt;shadcncraft. Figma layer names match React &lt;code&gt;data-slot&lt;/code&gt; values, so an agent reading the Figma file resolves frames to real registry components and installs them instead of generating approximations. Shipping a Figma kit is not the same thing as parity, and the difference shows up the moment you point an AI tool at the file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which shadcn library works best with AI workflows?
&lt;/h3&gt;

&lt;p&gt;shadcncraft on the design side: agent skills for Claude Code, Cursor and Codex, MCP-ready blocks, Figma to React through the plugin, and an offline Storybook build agents can read locally. ReUI on the code side, with a hosted MCP that reads real component APIs and validates props before code is written. Different halves of the same problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which shadcn library lets you switch icon libraries?
&lt;/h3&gt;

&lt;p&gt;shadcncraft, across five sets: Lucide, Tabler, Hugeicons, Phosphor and Remix. They switch from Figma's variables panel, and the registry installs React blocks with the matching set, so the choice made in design reaches the codebase. Sitsiilia's free shadcn/ui create plugin also switches icon sets inside Figma, but there's no paired registry on the code side.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which shadcn libraries support Base UI?
&lt;/h3&gt;

&lt;p&gt;Shadcnblocks was first, on February 5, 2026. shadcncraft followed on April 26, two months before shadcn/ui made Base UI the default on July 3. Shadcn Studio, ReUI and Tailark support both. shadcn/ui also added React Aria as a third first-class base in July, and nothing in this list supports it yet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Which shadcn library is best for dashboards and application UI?
&lt;/h3&gt;

&lt;p&gt;Most of the ecosystem is marketing-heavy. For application surfaces: ReUI for free coverage including data grids and Kanban, Kibo UI for Gantt and timelines, shadcncraft for dashboards and data tables with matching Figma, Shadcn Studio for its dashboard and app shell layouts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Are there free shadcn libraries?
&lt;/h3&gt;

&lt;p&gt;More than people expect. ReUI, &lt;a href="http://chanhdai.com" rel="noopener noreferrer"&gt;chanhdai.com&lt;/a&gt;, Tailark's core and beUI's core are open source. Shadcn Studio has a free tier. On the Figma side, Obra's free community kit is the largest by a wide margin, and shadcncraft has a free starter kit plus 8 blocks and 16 components in the registry, no license key.&lt;/p&gt;

&lt;h3&gt;
  
  
  shadcncraft vs Shadcnblocks: which should I buy?
&lt;/h3&gt;

&lt;p&gt;They're optimized for different buyers. Shadcnblocks has 1780 blocks against shadcncraft's 245, the best browsing and install tooling in the ecosystem, and a faster release pace. shadcncraft has complete Figma coverage (all 245 blocks have a matching frame, against 484 of 1780), two-way theme sync between Figma and code, and layer names that match React &lt;code&gt;data-slot&lt;/code&gt; values so AI tools resolve designs to real components. Developer working alone who wants the biggest catalog: Shadcnblocks. Designer and developer working together, or an AI-assisted design-to-code workflow: shadcncraft.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do these libraries lock me in?
&lt;/h3&gt;

&lt;p&gt;No. They all ship source into your project through the shadcn CLI, so you own the code and can mix libraries freely. What you inherit is the maintenance. Check GitHub activity and Tailwind v4 compatibility before adopting anything.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;If a designer and a developer are both working on the product, pick for parity. The translation layer between Figma and code is where the time actually goes, and most kits don't have one. That's shadcncraft. Yes, I built it. That's also why every number above is one you can check without asking me.&lt;/p&gt;

&lt;p&gt;Developer working alone who wants the biggest catalog: Shadcnblocks. Budget of zero: ReUI. Marketing site that doesn't look like every other shadcn site: Tailark. Motion: beUI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://shadcncraft.com" rel="noopener noreferrer"&gt;shadcncraft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shadcnblocks.com" rel="noopener noreferrer"&gt;Shadcnblocks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://shadcnstudio.com" rel="noopener noreferrer"&gt;Shadcn Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reui.io" rel="noopener noreferrer"&gt;ReUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailark.com" rel="noopener noreferrer"&gt;Tailark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://beui.dev" rel="noopener noreferrer"&gt;beUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chanhdai.com" rel="noopener noreferrer"&gt;chanhdai.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>shadcn</category>
      <category>figma</category>
      <category>designsystem</category>
      <category>react</category>
    </item>
    <item>
      <title>Claude Cowork has changed managing a Figma design system library forever</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Wed, 27 May 2026 05:27:05 +0000</pubDate>
      <link>https://dev.to/hamishoneill/claude-cowork-has-changed-managing-a-figma-design-system-library-forever-523n</link>
      <guid>https://dev.to/hamishoneill/claude-cowork-has-changed-managing-a-figma-design-system-library-forever-523n</guid>
      <description>&lt;p&gt;Field notes from a month of running a Figma library with Claude Cowork in the loop. What it is great at (variables, rebinding, scoped refactors, plugin generation), what it cannot do (anything truly visual), and the workflow rules I had to learn the hard way so it does not eat your file.&lt;/p&gt;

&lt;p&gt;If you manage a Figma library for a living, you already know the work that does not show up in any portfolio. Renaming a few hundred variables when a naming convention shifts. Hand-building a tokens page so an AI tool can pick up your variables. Quietly reconciling drift between the Figma kit and the code-side tokens because nobody else is going to. Writing internal docs that go stale the moment the library updates.&lt;/p&gt;

&lt;p&gt;I have spent the last month using Claude Cowork on the &lt;a href="https://shadcncraft.com/figma" rel="noopener noreferrer"&gt;shadcncraft Figma kit&lt;/a&gt;, and most of that work has changed shape. Tasks that used to take days are now a single scoped prompt. Tasks that were never really practical to attempt by hand, like a full cross-collection audit, are suddenly on the menu. And a small but real slice of the work is now riskier than before, because the agent is happy to make large, confident changes you may not catch until later.&lt;/p&gt;

&lt;p&gt;This is the guide I wish I had at the start. It is written for designers and design system leads who own a Figma library and want to know, in concrete terms, what Cowork is good at, what it is bad at, and the workflow rules that keep it useful rather than dangerous.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this is, in one paragraph
&lt;/h2&gt;

&lt;p&gt;Claude Cowork can read and write your Figma file directly through the Figma MCP. It can rename variables, rebind them, audit collections, walk component trees, change states, and write Figma plugins for you on demand. It cannot see your file the way you and I can. It reads the underlying node tree and variable graph, not pixels. Once you internalize that, almost every good and bad thing about working with it makes sense.&lt;/p&gt;

&lt;p&gt;If you are not using it yet for library work, you are about to fall behind. The catch is that "using it" badly is worse than not using it at all, because confident agents at scale produce confidently broken files at scale. The point of this post is to spare you that.&lt;/p&gt;

&lt;p&gt;This post is about using the Figma MCP loop to maintain a Figma library. If what you actually want to do is use the same loop to build apps from your Figma file, that is a separate workflow with its own setup, and it has its own post: &lt;a href="https://shadcncraft.com/blog/from-figma-to-production-react-with-ai" rel="noopener noreferrer"&gt;From Figma to production React, with AI in the loop&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two customer pain points this directly solves
&lt;/h2&gt;

&lt;p&gt;When we ran the last shadcncraft customer survey, two themes came up again and again from people running a Figma library against a shadcn/ui codebase. Cowork puts a real dent in both.&lt;/p&gt;

&lt;p&gt;The first was designers building a hand-maintained "tokens page" inside their Figma file purely so an AI workflow could read variables over the Figma MCP. With Cowork in the loop, that page is unnecessary. It can read the variables directly. The workaround can now go away.&lt;/p&gt;

&lt;p&gt;The second was drift. Customers running a Figma kit alongside a shadcn codebase spend ongoing cleanup time keeping the two in sync, because there has never been a good way to detect where they diverge. Cowork can read your shadcn CSS variables file and compare it against your Figma variables in one pass. Drift becomes visible and fixable in a single operation, instead of a slow manual reconciliation that nobody has time for.&lt;/p&gt;

&lt;p&gt;Neither of these were really design problems. They were tax that design system owners were paying because the tooling did not exist. The tooling now exists.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Cowork is genuinely great at
&lt;/h2&gt;

&lt;p&gt;Three areas have changed the shape of my week.&lt;/p&gt;

&lt;h3&gt;
  
  
  Variable management, rebinding, and managing states
&lt;/h3&gt;

&lt;p&gt;This is the thing Cowork does that I no longer want to do by hand, ever. Bulk renames across a collection without breaking references. Rebinding instances from one variable to another. Switching states on a large set of components. Moving a variable from Primitives into Theme while preserving every reference that points at it. These are the tasks where a careful agent saves you days, and the work is mechanical enough that the agent stays accurate if you scope the prompt properly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Auditing collections and detecting drift
&lt;/h3&gt;

&lt;p&gt;Asking Cowork to walk a single collection and report unused variables, duplicates, suspiciously similar values, or values that drift from your code-side tokens is the kind of task a human will do once and never again. The agent does it on demand, without complaint, and it can run the same audit on a cadence if you want it to.&lt;/p&gt;

&lt;h3&gt;
  
  
  Writing Figma plugins for you
&lt;/h3&gt;

&lt;p&gt;This one took me by surprise and is now one of the highest leverage uses of the tool. Cowork is extremely good at writing small, single-purpose Figma plugins. If you have a repetitive task that you would rather not run through an agent every time, ask Cowork to write you a plugin that does it once, locally, in your file. The plugin runs as fast as Figma can execute, has no API timeout, and never gets bored or lazy halfway through. There is a real lesson here: sometimes a dumb deterministic script is a better answer than a smart agent that gets distracted on the seventh hundredth iteration.&lt;/p&gt;

&lt;p&gt;The other reason to prefer plugins for big jobs is that the Figma MCP has a 60-second timeout. Large agent-driven tasks routinely run past it, and when they do, the agent often has no clean confirmation that the work either completed or failed. A plugin sidesteps that entire failure mode.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Cowork cannot do
&lt;/h2&gt;

&lt;p&gt;Be honest with yourself about this before you start, because the failures are not always loud.&lt;/p&gt;

&lt;h3&gt;
  
  
  It cannot "see" your file
&lt;/h3&gt;

&lt;p&gt;Cowork reads the underlying Figma data, not the canvas. It does not know that a button looks visually unbalanced, that a card has slightly more breathing room on the right than the left, that an icon is optically misaligned, or that a color, while technically correct, looks wrong against the surface behind it. Any task that depends on visual judgment is yours, not the agent's.&lt;/p&gt;

&lt;p&gt;In practice this is fine. It actually makes you a better team. You bring the visual taste; the agent does the bulk mechanical work that would otherwise make you want to lie down. Once you stop expecting it to design, the division of labor settles in quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  It cannot order your variables
&lt;/h3&gt;

&lt;p&gt;It can reorder layers without much trouble, but variable ordering inside a collection is not currently something it can change. Worth knowing before you ask it to "tidy up" a collection and then wonder why the order is unchanged.&lt;/p&gt;

&lt;h3&gt;
  
  
  It is happy to confidently break things at scale
&lt;/h3&gt;

&lt;p&gt;This is the failure mode that almost broke me. Without the right guidance, Cowork behaves like an extremely over-confident junior designer. It will tell you the job is done. It will sound certain. And, if you let it loose on a whole file, it will sometimes have quietly snapped references, renamed things you did not want renamed, or modified components it should not have touched. The rest of this post is, in many ways, the set of habits I built to stop that happening.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow rules that make it work
&lt;/h2&gt;

&lt;p&gt;These are not optional. Every one of them I learned the hard way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do small, specific, scoped tasks
&lt;/h3&gt;

&lt;p&gt;The single most important habit. Give Cowork one narrow job at a time. Point it at a specific node, a specific collection, or a specific component set. The more scoped the task, the less surface area for it to do something unexpected.&lt;/p&gt;

&lt;p&gt;When I am pointing it at something specific in Figma, I paste the node URL straight into the prompt. That removes any ambiguity about which thing I am referring to and stops it from wandering off into adjacent parts of the file looking for something that loosely matches the description.&lt;/p&gt;

&lt;h3&gt;
  
  
  Chunk down large tasks
&lt;/h3&gt;

&lt;p&gt;If a job feels big, it is too big. Break it into pieces and run them as separate prompts. When I have asked Cowork to "walk the whole file" and do something across the lot, bad things have happened. Sometimes the API times out partway through. Sometimes it processes a slice and reports success. Sometimes it touches things it should not have.&lt;/p&gt;

&lt;p&gt;A good rule of thumb: if the task touches more than one collection, more than one page, or more than a few hundred nodes, split it.&lt;/p&gt;

&lt;h3&gt;
  
  
  For big repetitive jobs, ask for a plugin
&lt;/h3&gt;

&lt;p&gt;This deserves repeating because it is the single biggest unlock. If you have a job that is large, deterministic, and you might want to run again, ask Cowork to write you a plugin for it. The plugin runs locally inside Figma, dodges the MCP timeout, and produces consistent results across thousands of iterations. Cowork is exceptionally good at this, and it converts a stressful agent run into a one-click button you keep around.&lt;/p&gt;

&lt;h3&gt;
  
  
  Store reference files in the project folder and point the agent at them
&lt;/h3&gt;

&lt;p&gt;Cowork's memory is not something you want to rely on across a long session. The fix is to put the source of truth in the project folder and instruct the agent to read it whenever it needs to. I keep the shadcn styles CSS in the folder, for example, so any sync or audit work references the actual file rather than the agent's recollection of what it looked like an hour ago.&lt;/p&gt;

&lt;p&gt;This is also a quiet token saver. The agent does not have to carry a long copy of the file around in its working context. It reads, acts, and moves on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep a CLAUDE.md in the project folder
&lt;/h3&gt;

&lt;p&gt;For any sustained piece of work, build a CLAUDE.md file alongside your project. Use it to capture the broader goal of the session, conventions the agent should follow, references it should read before acting, and anything you have asked it not to touch. Update it as the work evolves. Over a long chat this is the difference between an agent that holds the thread and an agent that drifts back to a generic default behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  Get it to validate its own work
&lt;/h3&gt;

&lt;p&gt;Never accept "done" at face value. Ask it to read back what it changed, run an audit against the change, or open the affected nodes and report their current state. If you are doing something destructive, ask it to dry-run first and list what would change before you let it commit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Make regular backups in Figma version history
&lt;/h3&gt;

&lt;p&gt;Before any larger or potentially breaking change, save a named version in Figma's version history. This is your undo button when the agent confidently does the wrong thing at scale. It costs you ten seconds and it has saved me from rebuilding entire collections more than once.&lt;/p&gt;

&lt;h3&gt;
  
  
  Plan for token cost
&lt;/h3&gt;

&lt;p&gt;Cowork chews through tokens. For the month of intensive library work I moved onto the Pro Max 20x plan so I could stop thinking about usage caps, and that turned out to be the right call. If you are working at a lower tier, scope your prompts tighter, lean harder on plugins for repetitive work, and avoid open-ended "explore the file and tell me what you find" prompts. Those are the most expensive and the least reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three new workflows worth knowing about specifically
&lt;/h2&gt;

&lt;p&gt;The capabilities I covered above are general. These are three specific workflows where I went from "this is a known problem with no good answer" to "this runs in one prompt." Worth calling out individually because they each unlock something that was either painful or genuinely not possible before.&lt;/p&gt;

&lt;h3&gt;
  
  
  Drift detection against your code-side tokens
&lt;/h3&gt;

&lt;p&gt;Drop your shadcn CSS variables file into the project folder. Ask Cowork to read it and compare against the equivalent Figma variables, reporting any value mismatches, any tokens that exist on one side and not the other, and any naming inconsistencies.&lt;/p&gt;

&lt;p&gt;The output is a list. You decide which side is right and ask Cowork to bring the other into line. The point is that the drift becomes visible in one pass, instead of slowly accumulating in the background as it does today. If your code-side tokens are the source of truth, the same workflow goes the other way: read the CSS, write the values back into Figma.&lt;/p&gt;

&lt;h3&gt;
  
  
  Per-variable reference docs generated from the live Figma file
&lt;/h3&gt;

&lt;p&gt;Ask Cowork to walk a collection and produce a reference document, one entry per variable, with the current value, what it is aliased to, and where it is used. Store the output alongside your library and your docs stay aligned with the file without anyone transcribing anything. Re-run it after any meaningful change. This is the one that finally killed the "docs are always six weeks out of date" problem for me.&lt;/p&gt;

&lt;h3&gt;
  
  
  Custom plugins for your most repetitive jobs
&lt;/h3&gt;

&lt;p&gt;When the task is "do this exact thing several thousand times across a file," I do not ask the agent to do it. I ask the agent to write me a plugin that does it, run the plugin, and verify the result. Stripping a specific deprecated style off every instance of a component, retagging a large set of nodes, batch-renaming layers to match a new convention. The plugin is faster, cheaper, more reliable, and you keep it around for next time.&lt;/p&gt;

&lt;h2&gt;
  
  
  The moment you will want to quit
&lt;/h2&gt;

&lt;p&gt;I will tell you this so you are ready for it. There have been at least two moments during this month where I was so frustrated at Cowork's apparent ineptitude that I genuinely considered abandoning the project and canceling my plan. Something I had asked it to do had gone badly wrong at scale, and the damage was big enough and expensive enough that the cleanup was going to take longer than starting from scratch.&lt;/p&gt;

&lt;p&gt;The thing that kept me going both times was simple: I went back to doing the same job manually, and after about twenty minutes it felt absurd. The power of the tool, when it works, is high enough that going back is no longer a serious option. The frustration is real, but it is a frustration of working out the right workflow, not a frustration with the underlying capability.&lt;/p&gt;

&lt;p&gt;If you find yourself in that moment, the answer is almost always the same. Make the scope smaller. Point at a single node. Ask for a plugin instead of an agent run. Add a validation step. Restore from version history and try again. Update your CLAUDE.md so the agent does not make the same mistake twice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start small
&lt;/h2&gt;

&lt;p&gt;Pick one collection. Something contained, like renaming a set of spacing variables to a new convention. Run it with the rules above and see how it feels. Build from there.&lt;/p&gt;

&lt;p&gt;If you own a &lt;a href="https://shadcncraft.com/figma" rel="noopener noreferrer"&gt;shadcncraft Figma kit&lt;/a&gt;, every workflow in this post runs against your file today. If you are running a different shadcn-based library, most of them will transfer with minor changes.&lt;/p&gt;

&lt;p&gt;If you hit something that does not behave the way this guide suggests, come and tell us in &lt;a href="https://discord.com/invite/tzgMKeqG3s" rel="noopener noreferrer"&gt;the Discord&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>figma</category>
      <category>shadcn</category>
      <category>claude</category>
      <category>cowork</category>
    </item>
    <item>
      <title>From Figma to production React, with AI in the loop</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Wed, 27 May 2026 05:21:17 +0000</pubDate>
      <link>https://dev.to/hamishoneill/from-figma-to-production-react-with-ai-in-the-loop-59i4</link>
      <guid>https://dev.to/hamishoneill/from-figma-to-production-react-with-ai-in-the-loop-59i4</guid>
      <description>&lt;p&gt;The four pieces of the new design-to-code workflow: shadcncraft in your project, the shadcncraft Figma kit, the Figma MCP, and the shadcn MCP. How to set it up, what the loop actually looks like on a real task, and how to bring it into an existing project.&lt;/p&gt;

&lt;p&gt;Designers have been promised "design-to-code" for years. What kept arriving was a button that exported a div soup nobody wanted to ship. The promise quietly stalled. Something has shifted in the last twelve months, and the workflow that comes out the other side is finally one a real team can use.&lt;/p&gt;

&lt;p&gt;This post is for the designer who wants to stop throwing redlines over the wall, and for the developer who wants to stop translating Figma layers into JSX by hand. It is about a single loop: design in Figma using a kit that matches your React components one to one, then let an AI tool read the Figma file and produce code that already speaks the same language as your codebase. Both sides of the team work in their native tool. The AI does the translation step that used to be a tax on everyone.&lt;/p&gt;

&lt;p&gt;Below is how the loop works, how to set it up on an existing project, and where to keep your hand on the wheel.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this loop is different now
&lt;/h2&gt;

&lt;p&gt;Three things had to be true at the same time, and they finally are.&lt;/p&gt;

&lt;p&gt;First, your design file has to use the same building blocks as your production code. Not a "Figma version of a button." The same button, with the same name, the same variants, the same prop surface, sitting in your Figma library and in your &lt;code&gt;/components/ui/&lt;/code&gt; folder. shadcncraft is built around this constraint. The Figma kit and the React registry mirror each other component for component, slot for slot.&lt;/p&gt;

&lt;p&gt;Second, the AI needs to see the design. The Figma MCP server exposes design files to AI tools the same way the file system is exposed to a code editor. Claude, Cursor, Codex, and friends can now read a frame, understand its structure, see the variables in use, and reason about it. This is what flipped the workflow. Until last year, AI tools could only see the screenshot. Now they can read the layers.&lt;/p&gt;

&lt;p&gt;Third, the AI needs to recognise the components. The shadcn MCP server, plus shadcncraft's namespaced registry, means the AI is not generating React from scratch every time. It can pull the right component from your installed kit and compose with it. The generated code looks like it came from someone who already knew your conventions, because it did.&lt;/p&gt;

&lt;p&gt;When those three pieces are connected, the loop runs like this: design a screen, ask the AI to implement it, get a first pass that uses your real components, refine in the editor. The translation step that used to take an afternoon takes a few minutes. The drift between design and code shrinks because both ends are pinned to the same kit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup, end to end
&lt;/h2&gt;

&lt;p&gt;There are four pieces to connect. Once they are in place you do not touch this part again.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. shadcncraft installed in your React project
&lt;/h3&gt;

&lt;p&gt;If your project already uses shadcn/ui, you are most of the way there. Add the shadcncraft registry to your &lt;code&gt;components.json&lt;/code&gt;, set your license key in &lt;code&gt;.env&lt;/code&gt;, and you can install any block or component with the standard shadcn CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm dlx shadcn@latest add @shadcncraft/header-1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The full setup is in the &lt;a href="https://shadcncraft.com/docs/registry/installation" rel="noopener noreferrer"&gt;Installation docs&lt;/a&gt;, including how to switch style presets and how to configure a team license.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The shadcncraft Figma kit, opened in Figma
&lt;/h3&gt;

&lt;p&gt;Open the kit in Figma. This becomes your design library. Every block and component you can install in code has a matching counterpart here, with the same name and the same variants. Themes are managed inside the file using the shadcncraft Figma plugin, which can export shadcn-compatible CSS variables straight from your Figma file into your codebase. Your design tokens and your code tokens stop being two separate things to maintain.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The Figma MCP server, connected to your AI tool
&lt;/h3&gt;

&lt;p&gt;Enable the Figma MCP server in Figma's settings, then point your AI tool at it. Cursor, Claude Code, VS Code, and Codex all support MCP servers. Once connected, the AI can read any Figma file you have open, including the shadcncraft kit and the screens you are designing on top of it.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. The shadcn MCP server, also connected
&lt;/h3&gt;

&lt;p&gt;The shadcncraft registry works with the shadcn MCP server out of the box. From your project root, run the init command for your editor of choice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm dlx shadcn@latest mcp init &lt;span class="nt"&gt;--client&lt;/span&gt; cursor
pnpm dlx shadcn@latest mcp init &lt;span class="nt"&gt;--client&lt;/span&gt; claude
pnpm dlx shadcn@latest mcp init &lt;span class="nt"&gt;--client&lt;/span&gt; vscode
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With both MCP servers connected, your AI tool can simultaneously read the Figma file (via Figma MCP) and install the right components from your kit (via shadcn MCP). This is the bridge.&lt;/p&gt;

&lt;p&gt;If any of the four pieces are missing, the loop still works in a degraded form. You can build by hand without the AI, or use the AI without Figma MCP and lose the design context. But all four together is what makes this feel like a single workflow rather than four separate tools you keep tab-switching between.&lt;/p&gt;

&lt;h2&gt;
  
  
  The loop in practice
&lt;/h2&gt;

&lt;p&gt;Here is what the loop looks like on a real task. Imagine you have an existing SaaS app, already built on shadcn/ui, and you need to add a billing settings page.&lt;/p&gt;

&lt;p&gt;You open your Figma file. You compose the screen out of shadcncraft blocks: a page header, a settings nav, a plan summary card, an invoices table, a payment method block. Because these are real components from the kit, they already have the right tokens, the right spacing, the right empty and error states. You change copy, swap the plan tier, point the table at your real data shape. You spend maybe twenty minutes designing.&lt;/p&gt;

&lt;p&gt;Then you switch to your editor and ask Claude something like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Build the billing settings page from the selected frame in Figma. Use the existing shadcncraft components in this project. Keep the existing route conventions and data fetching patterns from the user settings page."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Claude reads the Figma frame through the Figma MCP. It sees the shadcncraft layer names. Because shadcncraft's convention is for layer names to match the &lt;code&gt;data-slot&lt;/code&gt; values in the React components, it knows that &lt;code&gt;card-header&lt;/code&gt; becomes &lt;code&gt;&amp;lt;CardHeader&amp;gt;&lt;/code&gt;, that &lt;code&gt;tabs-trigger&lt;/code&gt; becomes &lt;code&gt;&amp;lt;TabsTrigger&amp;gt;&lt;/code&gt;, and so on. It installs anything from the registry that is not already in your project, references your existing data fetching patterns, and outputs the page.&lt;/p&gt;

&lt;p&gt;The first pass gets you most of the way there. You review the diff. You correct the things only you can correct: business rules, real data shape, copy that the design did not specify, edge cases the AI did not consider. You commit.&lt;/p&gt;

&lt;p&gt;This is the part the previous generation of design-to-code tools never delivered. The code that comes out is not div-soup that you would never write yourself. It uses the same components you would have picked, with the same props, in the same composition. Because the AI did not invent the components from a screenshot, it composed them from your installed kit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the loop breaks, and what to do about it
&lt;/h2&gt;

&lt;p&gt;Honest answer: the loop is not a magic button. It works well when both ends are disciplined. Here is what to watch for.&lt;/p&gt;

&lt;p&gt;The Figma file has to be built out of shadcncraft components, not custom shapes that happen to look like shadcncraft components. If your designer detached an instance to make a one-off tweak, the AI cannot see the underlying component anymore. It just sees a frame with some rectangles in it. The output will be generic JSX rather than your kit. The fix is mechanical: keep instances intact, use slots and variant properties to make changes rather than detaching.&lt;/p&gt;

&lt;p&gt;The AI's output is a starting point, not a final commit. Treat it like a pull request from a fast but new contributor. Read it, run it, refactor anything that does not fit your codebase's conventions. The advantage is the speed of the first pass, not the elimination of review.&lt;/p&gt;

&lt;p&gt;Drift is real, but it is now measurable. If you generate a screen today and the kit updates next month, your screen does not auto-update. This is the same problem any installed-not-imported registry has, and shadcncraft handles it the way shadcn does, with the &lt;a href="https://shadcncraft.com/docs/registry/installation" rel="noopener noreferrer"&gt;update strategy in the docs&lt;/a&gt;. The point is that drift is now visible and resolvable, instead of being the permanent baseline.&lt;/p&gt;

&lt;p&gt;When the AI picks the wrong component, the fix is usually a clearer name. If the same prompt keeps producing a &lt;code&gt;Dialog&lt;/code&gt; when you wanted a &lt;code&gt;Sheet&lt;/code&gt;, that is feedback about your naming, not about the AI. shadcncraft component names are public surface, and we update them when they consistently confuse tools or people.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this beats the previous attempts
&lt;/h2&gt;

&lt;p&gt;Two reasons, both structural.&lt;/p&gt;

&lt;p&gt;The first generation of design-to-code tools tried to be clever about screenshots. They read pixels and tried to infer structure. That works for a static rectangle and falls apart on anything stateful, anything responsive, anything composed of real primitives. By contrast, this loop reads the actual Figma layer tree and matches it to actual React components. There is no inference layer to get wrong.&lt;/p&gt;

&lt;p&gt;The second is that the design file and the production code are pinned to the same source. Both sides use the same kit, with the same names, the same variants, the same tokens. The AI does not have to translate between two languages, it just has to assemble. That is the part AI tools are good at right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bringing this into an existing project
&lt;/h2&gt;

&lt;p&gt;You do not need to start over. You probably should not.&lt;/p&gt;

&lt;p&gt;If your project already uses shadcn/ui, you can layer shadcncraft on top without ripping anything out. Components install side by side with your existing ones. Tokens align. Pick one screen on your roadmap, ideally one that is greenfield or due for a refresh, and try the loop end to end on that single screen. A settings page, a new onboarding flow, a billing card. Anything contained enough that you can compare the before and after honestly.&lt;/p&gt;

&lt;p&gt;What you are looking for in that first screen is not a productivity number. You are looking for whether the loop feels like one workflow or four. If it feels like one, expand from there. If it feels like four, the most common culprit is that one of the four pieces is not actually connected, usually the Figma MCP. Worth ten minutes to check.&lt;/p&gt;

&lt;p&gt;If you want a place to start, the &lt;a href="https://shadcncraft.com//docs/registry/installation" rel="noopener noreferrer"&gt;Installation docs&lt;/a&gt; cover the project side and the shadcn MCP setup. The Figma kit and the Figma MCP setup live inside Figma itself. Pick a screen, set aside an afternoon, and see what comes out the other side.&lt;/p&gt;

&lt;p&gt;The promise that designers and developers could ship from the same source has been around forever. This is the first time it has been true.&lt;/p&gt;

</description>
      <category>shadcn</category>
      <category>figma</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Create and preview your own design system with shadcncraft create</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Thu, 30 Apr 2026 00:52:25 +0000</pubDate>
      <link>https://dev.to/hamishoneill/create-and-preview-your-own-design-system-with-shadcncraft-create-4iip</link>
      <guid>https://dev.to/hamishoneill/create-and-preview-your-own-design-system-with-shadcncraft-create-4iip</guid>
      <description>&lt;p&gt;shadcncraft create mirrors shadcn create, with the same styles, bases, icon libraries, themes, fonts, and preset workflow, plus live previews of shadcncraft pro blocks.&lt;/p&gt;

&lt;p&gt;shadcncraft now has its own create experience.&lt;/p&gt;

&lt;p&gt;It mirrors &lt;a href="https://ui.shadcn.com/create" rel="noopener noreferrer"&gt;shadcn create&lt;/a&gt;: same styles, same bases, same icon libraries, same themes, same fonts, same radius, same preset codes.&lt;/p&gt;

&lt;p&gt;The difference is the preview. On &lt;a href="https://shadcncraft.com/create" rel="noopener noreferrer"&gt;shadcncraft create&lt;/a&gt;, you can test those combinations directly on shadcncraft pro blocks before installing anything.&lt;/p&gt;

&lt;p&gt;If you already have a shadcn project, you can also resolve its current preset with the shadcn CLI, import it into shadcncraft create, and preview your existing design system on real pro blocks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The workflow
&lt;/h2&gt;

&lt;p&gt;If you already have a shadcn project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Resolve your current preset.&lt;/li&gt;
&lt;li&gt;Import the preset into shadcncraft create.&lt;/li&gt;
&lt;li&gt;Preview it on pro blocks.&lt;/li&gt;
&lt;li&gt;Adjust the config if needed.&lt;/li&gt;
&lt;li&gt;Use the new preset with &lt;code&gt;init&lt;/code&gt; or &lt;code&gt;apply&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you are starting fresh, skip the first step and build a preset directly in &lt;a href="https://shadcncraft.com/create" rel="noopener noreferrer"&gt;shadcncraft create&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resolve your current preset
&lt;/h2&gt;

&lt;p&gt;From your existing shadcn project, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest preset resolve
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also use the alias:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest preset info
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The CLI reads your current shadcn config and returns the matching preset code.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Preset
  code         b5Kc6P0Vc
  version      b
  style        luma
  baseColor    olive
  theme        lime
  chartColor   sky
  iconLibrary  hugeicons
  font         geist
  fontHeading  inherit
  radius       default
  menuAccent   subtle
  menuColor    default
  url          https://ui.shadcn.com/create?preset=b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important part is the code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That code contains the visual setup: style, theme, colors, fonts, radius, icons, and other preset settings.&lt;/p&gt;

&lt;p&gt;For monorepos, point the command at the app:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest preset resolve &lt;span class="nt"&gt;-c&lt;/span&gt; apps/web
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For machine-readable output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest preset resolve &lt;span class="nt"&gt;--json&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Import it into shadcncraft create
&lt;/h2&gt;

&lt;p&gt;Presets are fully compatible between shadcn create and shadcncraft create.&lt;/p&gt;

&lt;p&gt;If you made a preset on &lt;code&gt;ui.shadcn.com/create&lt;/code&gt;, you can import it into shadcncraft create. If you resolved one from an existing project, import that too.&lt;/p&gt;

&lt;p&gt;The importer accepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A bare preset code&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;--preset &amp;lt;code&amp;gt;&lt;/code&gt; flag&lt;/li&gt;
&lt;li&gt;A full &lt;code&gt;shadcn init --preset &amp;lt;code&amp;gt;&lt;/code&gt; command&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open &lt;a href="https://shadcncraft.com/create" rel="noopener noreferrer"&gt;shadcncraft create&lt;/a&gt;, choose the open preset option, and paste any of these:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;--preset b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest init &lt;span class="nt"&gt;--preset&lt;/span&gt; b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;shadcncraft create extracts the preset code and applies the same config to the customizer.&lt;/p&gt;

&lt;p&gt;Now your existing shadcn setup is loaded into the preview.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preview real pro blocks
&lt;/h2&gt;

&lt;p&gt;The point of shadcncraft create is the block preview.&lt;/p&gt;

&lt;p&gt;Preview your preset across real shadcncraft pro blocks: marketing, application, and ecommerce. Small component previews help, but blocks expose the full system.&lt;/p&gt;

&lt;p&gt;You can keep adjusting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Base: Radix UI or Base UI&lt;/li&gt;
&lt;li&gt;Style: Vega, Nova, Maia, Lyra, Mira, Luma, or Sera&lt;/li&gt;
&lt;li&gt;Icon library: Lucide, Tabler Icons, Hugeicons, Phosphor Icons, or Remix Icon&lt;/li&gt;
&lt;li&gt;Theme, base color and chart color&lt;/li&gt;
&lt;li&gt;Font and heading font&lt;/li&gt;
&lt;li&gt;Radius&lt;/li&gt;
&lt;li&gt;Menu accent and menu color&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create a new project
&lt;/h2&gt;

&lt;p&gt;Once the preview feels right, use the preset with &lt;code&gt;init&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest init &lt;span class="nt"&gt;--preset&lt;/span&gt; b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates a new project with the selected style, theme, fonts, radius, icons, and preset settings from the start.&lt;/p&gt;

&lt;p&gt;You can also include a template:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest init &lt;span class="nt"&gt;--template&lt;/span&gt; next &lt;span class="nt"&gt;--preset&lt;/span&gt; b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same shadcn CLI. Same preset resolver. shadcncraft create just gives you a better way to choose before running the command.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apply it to an existing project
&lt;/h2&gt;

&lt;p&gt;Presets are not only for new projects.&lt;/p&gt;

&lt;p&gt;To update an existing shadcn project, apply the preset:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest apply b5Kc6P0Vc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This updates the project to match the preset, including theme, colors, CSS variables, fonts, icons, and detected UI components.&lt;/p&gt;

&lt;p&gt;You can also apply only the parts you want:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest apply b5Kc6P0Vc &lt;span class="nt"&gt;--only&lt;/span&gt; theme
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest apply b5Kc6P0Vc &lt;span class="nt"&gt;--only&lt;/span&gt; font
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest apply b5Kc6P0Vc &lt;span class="nt"&gt;--only&lt;/span&gt; theme,font
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That makes it easy to test a new visual direction without rebuilding the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;The new shadcn preset commands make your current project portable.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;preset resolve&lt;/code&gt; and &lt;code&gt;preset info&lt;/code&gt; turn an existing project into a preset code.&lt;/p&gt;

&lt;p&gt;shadcncraft create can import that code and apply the same config to the live customizer.&lt;/p&gt;

&lt;p&gt;Then you can preview your existing design system against shadcncraft pro blocks before changing anything in your app.&lt;/p&gt;

&lt;p&gt;Resolve the preset. Open it in shadcncraft create. Preview real pro blocks. Then create, apply, or share the setup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Open &lt;a href="https://shadcncraft.com/create" rel="noopener noreferrer"&gt;shadcncraft create&lt;/a&gt;, pick a pro block, and start switching styles, bases, icons, themes, fonts, and radius.&lt;/p&gt;

&lt;p&gt;When the preview looks right, copy the preset.&lt;/p&gt;

&lt;p&gt;Create a new project with it, apply it to an existing one, or import it back into shadcn create.&lt;/p&gt;

&lt;p&gt;Same shadcn foundation. Same preset workflow. Now with shadcncraft pro blocks in the preview.&lt;/p&gt;

</description>
      <category>shadcn</category>
      <category>react</category>
      <category>radix</category>
      <category>baseui</category>
    </item>
    <item>
      <title>Pick your shadcn base, your style, your icons</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Tue, 28 Apr 2026 02:48:39 +0000</pubDate>
      <link>https://dev.to/hamishoneill/pick-your-shadcn-base-your-style-your-icons-23dm</link>
      <guid>https://dev.to/hamishoneill/pick-your-shadcn-base-your-style-your-icons-23dm</guid>
      <description>&lt;p&gt;shadcncraft now supports Base UI, all seven shadcn styles, multiple icon libraries, and a new customizer for previewing combinations before install.&lt;/p&gt;

&lt;p&gt;shadcncraft now adapts to your setup.&lt;/p&gt;

&lt;p&gt;Choose your base, style, and icon library, and everything follows. A new customizer lets you preview combinations live.&lt;/p&gt;

&lt;p&gt;Until now, every component shipped with fixed defaults: Radix UI, the standard shadcn look, and Lucide icons. If your project used something else, you had to adjust it after install.&lt;/p&gt;

&lt;p&gt;That is no longer the case. shadcncraft now respects your project config from the start.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/kBTgpTq3U-A" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Your project defines the defaults
&lt;/h2&gt;

&lt;p&gt;Your setup is the source of truth. The registry reads what you've chosen and installs components to match:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Base&lt;/strong&gt; — Radix UI and Base UI, both fully supported.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Style&lt;/strong&gt; — all seven shadcn presets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Icons&lt;/strong&gt; — Lucide, Tabler Icons, Hugeicons, Phosphor Icons, and Remix Icon.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tokens, fonts, radius, and themes remain unchanged. Nothing gets overridden.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built on shadcn styles
&lt;/h2&gt;

&lt;p&gt;These styles come directly from shadcn. Same presets, same output.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vega&lt;/strong&gt; — classic shadcn look.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nova&lt;/strong&gt; — tighter spacing, more compact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maia&lt;/strong&gt; — softer and more rounded.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lyra&lt;/strong&gt; — sharp and structured.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mira&lt;/strong&gt; — dense and product-focused.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Luma&lt;/strong&gt; — softer and more fluid.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sera&lt;/strong&gt; — editorial and typographic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your project already uses one of these, shadcncraft follows it. If not, you can try them across the library.&lt;/p&gt;

&lt;p&gt;Custom styles from shadcn create also work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preview every combination
&lt;/h2&gt;

&lt;p&gt;Each component and block page now includes a live customizer.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Switch between Radix and Base UI&lt;/li&gt;
&lt;li&gt;Change styles&lt;/li&gt;
&lt;li&gt;Swap icon libraries&lt;/li&gt;
&lt;li&gt;Adjust fonts and radius&lt;/li&gt;
&lt;li&gt;Apply shadcn or &lt;a href="https://tweakcn.com" rel="noopener noreferrer"&gt;tweakcn&lt;/a&gt; themes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the same model as &lt;a href="https://ui.shadcn.com/create" rel="noopener noreferrer"&gt;shadcn create&lt;/a&gt;, applied to every component and block.&lt;/p&gt;

&lt;p&gt;You can see exactly what you'll get before installing anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Works across the library
&lt;/h2&gt;

&lt;p&gt;Support is library-wide. Components and blocks are built to follow your config.&lt;/p&gt;

&lt;p&gt;Some older blocks may not support every option yet. We're updating those over time and will surface support more clearly on each component and block page.&lt;/p&gt;

&lt;h2&gt;
  
  
  One-line migration
&lt;/h2&gt;

&lt;p&gt;Nothing breaks if you're already using shadcncraft.&lt;/p&gt;

&lt;p&gt;To enable style-aware install, change one line in &lt;code&gt;components.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;{
  "registries": {
    "@shadcncraft": {
&lt;span class="gd"&gt;-     "url": "https://shadcncraft.com/r/{name}",
&lt;/span&gt;&lt;span class="gi"&gt;+     "url": "https://shadcncraft.com/r/{style}/{name}",
&lt;/span&gt;      "headers": {
        // ... your existing headers ...
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Try the customizer on a &lt;a href="https://shadcncraft.com/blocks/pro-marketing/pricing/pricing-1" rel="noopener noreferrer"&gt;live pro block&lt;/a&gt;. You can test different bases, styles, icons, and themes in our pro &lt;a href="https://shadcncraft.com/components" rel="noopener noreferrer"&gt;components&lt;/a&gt; and &lt;a href="https://shadcncraft.com/blocks" rel="noopener noreferrer"&gt;blocks&lt;/a&gt; before installing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this is going
&lt;/h2&gt;

&lt;p&gt;This brings shadcncraft closer to how &lt;a href="https://ui.shadcn.com/create" rel="noopener noreferrer"&gt;shadcn create&lt;/a&gt; works.&lt;/p&gt;

&lt;p&gt;Same styles. Same structure. Same expectations.&lt;/p&gt;

&lt;p&gt;The goal is simple: your design system behaves the same in Figma and in code.&lt;/p&gt;

&lt;p&gt;More updates coming soon.&lt;/p&gt;

</description>
      <category>shadcn</category>
      <category>baseui</category>
      <category>radix</category>
      <category>react</category>
    </item>
    <item>
      <title>Introducing shadcncraft</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Wed, 08 Apr 2026 06:37:08 +0000</pubDate>
      <link>https://dev.to/hamishoneill/introducing-shadcncraft-2i37</link>
      <guid>https://dev.to/hamishoneill/introducing-shadcncraft-2i37</guid>
      <description>&lt;h2&gt;
  
  
  New name, new &lt;a href="https://shadcncraft.com" rel="noopener noreferrer"&gt;website&lt;/a&gt;, bigger vision
&lt;/h2&gt;

&lt;p&gt;Today we’re launching a new name, a new brand, and a completely rebuilt website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shadcraft is now shadcncraft.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This change reflects what the product has become and where it is going next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the rename
&lt;/h2&gt;

&lt;p&gt;From the beginning, the goal was simple: build the best design system built on top of &lt;strong&gt;shadcn/ui&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Over time the product grew beyond a simple Figma UI kit. It became a full ecosystem built around the shadcn stack, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;React component library&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;matching Figma design system&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Hundreds of production ready UI blocks&lt;/li&gt;
&lt;li&gt;A plugin for importing and exporting themes&lt;/li&gt;
&lt;li&gt;Tools designed to work naturally with modern AI coding workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The new name makes that connection clear.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;shadcncraft&lt;/strong&gt; reflects what the product actually is: carefully crafted design system tools built specifically for the shadcn ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  A completely new website
&lt;/h2&gt;

&lt;p&gt;Alongside the rename, we’ve rebuilt the entire website from scratch.&lt;/p&gt;

&lt;p&gt;The old site did not reflect the scope of the product anymore. It focused heavily on the Figma kit and did not show the full design system.&lt;/p&gt;

&lt;p&gt;The new site fixes that.&lt;/p&gt;

&lt;p&gt;It clearly shows what shadcncraft provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;React components ready for production&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Matching Figma design files&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hundreds of blocks across marketing, application, and ecommerce&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full sites and templates&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Design tokens and theming tools&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything is now easier to explore, preview, and understand.&lt;/p&gt;

&lt;p&gt;The new structure also makes it much easier to browse blocks, pages, and full site templates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built for modern workflows
&lt;/h2&gt;

&lt;p&gt;Frontend development is changing quickly.&lt;/p&gt;

&lt;p&gt;Tools like Cursor, Claude Code, v0, and Figma Make are reshaping how developers and designers work together.&lt;/p&gt;

&lt;p&gt;Design systems now need to support both humans and AI.&lt;/p&gt;

&lt;p&gt;shadcncraft is designed for that new workflow.&lt;/p&gt;

&lt;p&gt;The system is built around:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean React components&lt;/li&gt;
&lt;li&gt;Structured design tokens&lt;/li&gt;
&lt;li&gt;Predictable theming&lt;/li&gt;
&lt;li&gt;Consistent naming and patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This makes it easier for developers, designers, and AI tools to generate high quality UI.&lt;/p&gt;

&lt;h2&gt;
  
  
  React and Figma working together
&lt;/h2&gt;

&lt;p&gt;One of the biggest goals for shadcncraft is tight alignment between &lt;strong&gt;design and code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Every block and component exists in both places:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;React code ready to install&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Matching Figma components&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Designers can work in Figma while developers install the exact same blocks into their projects using the CLI.&lt;/p&gt;

&lt;p&gt;No guesswork. No rebuilding UI from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  What stays the same
&lt;/h2&gt;

&lt;p&gt;Even with the new name and brand, the core philosophy remains the same.&lt;/p&gt;

&lt;p&gt;shadcncraft is still focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean, production ready UI&lt;/li&gt;
&lt;li&gt;No unnecessary abstraction&lt;/li&gt;
&lt;li&gt;Simple installation via the shadcn CLI&lt;/li&gt;
&lt;li&gt;Full ownership of the code you install&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You get real components you can ship to production, not locked templates or proprietary frameworks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s coming next
&lt;/h2&gt;

&lt;p&gt;The rebrand and website launch are just the beginning.&lt;/p&gt;

&lt;p&gt;There is a lot more coming:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More blocks across all categories&lt;/li&gt;
&lt;li&gt;More full site templates&lt;/li&gt;
&lt;li&gt;Deeper theming support&lt;/li&gt;
&lt;li&gt;Improvements to the plugin&lt;/li&gt;
&lt;li&gt;Tighter integration with modern AI coding tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal remains simple: make it dramatically faster to design and ship high quality interfaces with shadcn.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank you
&lt;/h2&gt;

&lt;p&gt;A huge thank you to everyone who has supported the project so far.&lt;/p&gt;

&lt;p&gt;Thousands of designers and developers have already used the kit, shared feedback, and helped shape what shadcncraft is becoming.&lt;/p&gt;

&lt;p&gt;If you have not explored the new site yet, &lt;a href="https://shadcncraft.com" rel="noopener noreferrer"&gt;take a look&lt;/a&gt; and see what is new.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/6kKGhTohG8Y" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>shadcn</category>
      <category>figma</category>
      <category>react</category>
    </item>
    <item>
      <title>New way to bring your tweakcn themes into Figma (works with shadcn/ui)</title>
      <dc:creator>Hamish O'Neill</dc:creator>
      <pubDate>Sun, 03 Aug 2025 21:22:47 +0000</pubDate>
      <link>https://dev.to/hamishoneill/new-way-to-bring-your-tweakcn-themes-into-figma-works-with-shadcnui-1km0</link>
      <guid>https://dev.to/hamishoneill/new-way-to-bring-your-tweakcn-themes-into-figma-works-with-shadcnui-1km0</guid>
      <description>&lt;p&gt;Hey folks 👋🏻&lt;/p&gt;

&lt;p&gt;If you’ve been using &lt;a href="http://tweakcn.com" rel="noopener noreferrer"&gt;tweakcn&lt;/a&gt; to customise your shadcn/ui theme in the browser, you can now bring those themes straight into Figma via a new integration with &lt;a href="https://shadcraft.com" rel="noopener noreferrer"&gt;Shadcraft&lt;/a&gt; and the tweakcn plugin.&lt;/p&gt;

&lt;p&gt;Here’s how it works:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🎨 tweakcn is a super handy in-browser theming tool for shadcn/ui (great for quickly testing out colour, radius, shadow, etc.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔌 With the plugin, you can now apply your custom theme to a Figma UI kit built specifically for Tailwind and shadcn-based projects&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;⚡ It’s all powered by Figma variables, so you can instantly switch between themes or update styles without tedious overrides&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s been a smoother handoff experience for us working across dev/design — especially when devs pick the theme in tweakcn and designers apply it in Figma.&lt;/p&gt;

&lt;p&gt;You can try it out at tweakcn.com — happy to answer questions or share how we’ve been using it in side projects too.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupnq8pnnmxjbelwqkb2f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupnq8pnnmxjbelwqkb2f.png" alt=" " width="799" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
