<?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: Vishwas</title>
    <description>The latest articles on DEV Community by Vishwas (@gopinav).</description>
    <link>https://dev.to/gopinav</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F198567%2Fadf49a15-f8f0-458f-ae02-803b9ef0e3f4.jpeg</url>
      <title>DEV Community: Vishwas</title>
      <link>https://dev.to/gopinav</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gopinav"/>
    <language>en</language>
    <item>
      <title>What is an LLM (For Web Developers)</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Fri, 14 Mar 2025 10:03:28 +0000</pubDate>
      <link>https://dev.to/builderio/what-is-an-llm-for-web-developers-2064</link>
      <guid>https://dev.to/builderio/what-is-an-llm-for-web-developers-2064</guid>
      <description>&lt;p&gt;Large Language Models (LLMs) are changing how we build software, and not in that vague "AI is the future" way that people have been saying for years.&lt;/p&gt;

&lt;p&gt;The tool that transforms a Figma design into a fully responsive website? The assistant that writes your unit tests while you focus on core functionality? These aren't hypothetical scenarios; they're happening right now.&lt;/p&gt;

&lt;p&gt;The best part is that adding LLMs to your codebase has become surprisingly straightforward. But even with this simplicity, understanding how these models actually work is crucial for using them effectively.&lt;/p&gt;

&lt;p&gt;This guide will explain what Large Language Models actually are, how they work behind the scenes, and what you should consider when adding AI to your web projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are Large Language Models (LLMs)?
&lt;/h2&gt;

&lt;p&gt;Let's build our understanding step by step, starting with the fundamentals and working our way up to large language models.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a Model?
&lt;/h3&gt;

&lt;p&gt;When people talk about AI and machine learning, you'll hear the term "model" thrown around constantly.&lt;/p&gt;

&lt;p&gt;A model is basically a mathematical function that transforms inputs into outputs. But unlike traditional programming, where you'd write explicit rules, models learn patterns from data.&lt;/p&gt;

&lt;p&gt;Here's what that looks like in practice:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F781147aec9ab4b99be7db8a9e6ef2497%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F781147aec9ab4b99be7db8a9e6ef2497%3Fwidth%3D705" alt="Diagram showing Machine Learning Models divided into three types (Classification, Regression, Recommendation) with their respective inputs and outputs." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Feed a model tons of cat and dog pictures, and it learns to tell them apart (classification model)&lt;/li&gt;
&lt;li&gt;Show it housing data, and it figures out how square footage affects the price (regression model)&lt;/li&gt;
&lt;li&gt;Give it your browsing history, and it starts guessing what you might buy next (recommendation model)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The process of training models is structured: you show the model examples, measure its error using mathematical functions (like "how far off was this prediction?"), and then let it adjust its internal parameters to reduce that error. The model uses optimization algorithms to systematically improve its accuracy with each round. Do this thousands or millions of times, and eventually, it gets pretty good at complex tasks.&lt;/p&gt;

&lt;p&gt;What makes models powerful isn't fancy math or algorithms (though those help). It's the data. Models are only as good as what they're trained on. Take a housing price predictor, for example. If you only train it on housing prices in a luxurious neighborhood, it's gonna be totally lost when estimating values in rural villages—no algorithm, however sophisticated, can extract patterns from data it hasn't seen before.&lt;/p&gt;

&lt;p&gt;In the end, a model is just a function that makes predictions based on patterns it's seen before. It's not magic, just math at scale.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a Language Model?
&lt;/h3&gt;

&lt;p&gt;A language model is exactly what it sounds like—a model that works with human language. At its most basic level, it tries to predict what word will come next in a sequence.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff5fa2006657b440d9b593fc794c7c70d%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff5fa2006657b440d9b593fc794c7c70d%3Fwidth%3D705" alt="Diagram showing language model predicting " width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you type "The coffee is...", a language model calculates probabilities. It might think "hot" has a 30% chance of being next, "delicious" 15%, and "programming" basically 0%.&lt;/p&gt;

&lt;p&gt;The first language models were pretty basic:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://web.stanford.edu/~jurafsky/slp3/3.pdf" rel="noopener noreferrer"&gt;N-gram models&lt;/a&gt; just counted how often word sequences appeared together&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://setosa.io/blog/2014/07/26/markov-chains/index.html" rel="noopener noreferrer"&gt;Markov chains&lt;/a&gt; looked at the last couple of words to guess the next one&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks" rel="noopener noreferrer"&gt;RNNs (Recurrent Neural Networks)&lt;/a&gt; tried to remember context from earlier in the text but weren't great at it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These older models were useful for some tasks but had major limitations. They'd quickly lose track of what was being discussed if the relevant information wasn't within their context window - which ranged from just a few words for n-grams to around 100 words for basic RNNs.&lt;/p&gt;

&lt;p&gt;Modern language models are much more sophisticated, but the core idea remains the same: predict what text should come next based on patterns learned from data.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a Large Language Model?
&lt;/h3&gt;

&lt;p&gt;A large language model (LLM) is, as the name suggests, a language model that's been scaled up dramatically in three key ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Data&lt;/strong&gt;: They're trained on vast amounts of textual data—think hundreds of billions of sentences from books, articles, websites, code repositories, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parameters&lt;/strong&gt;: They have billions or trillions of adjustable internal values that determine how inputs are processed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Computation&lt;/strong&gt;: They need absurd amounts of computing power to train—the kind only big tech companies can typically afford&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What's fascinating is that once you scale these models big enough and combine them with advanced architectures, they develop capabilities nobody explicitly programmed. They don't just get better at predicting the next word—they can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate human-like text that is coherent and lengthy&lt;/li&gt;
&lt;li&gt;Follow complex instructions&lt;/li&gt;
&lt;li&gt;Break down problems step-by-step&lt;/li&gt;
&lt;li&gt;Write working software code&lt;/li&gt;
&lt;li&gt;Understand different contexts and tones in natural language&lt;/li&gt;
&lt;li&gt;Answer questions using information they've absorbed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This emergent behavior surprised even the researchers who built LLMs. Scale unlocks capabilities that smaller models just don't have.&lt;/p&gt;

&lt;h2&gt;
  
  
  How LLMs work
&lt;/h2&gt;

&lt;p&gt;When you feed text into an LLM, it first breaks everything down into "tokens," which can be words, parts of words, or even individual characters. It then processes these tokens through its neural network to predict what should come next.&lt;/p&gt;

&lt;p&gt;However, the real breakthrough behind modern LLMs is the transformer architecture (what the "T" in ChatGPT stands for), which completely changed how models process language.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F1742336ab8074d24b60ecb7b2963d85d%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F1742336ab8074d24b60ecb7b2963d85d%3Fwidth%3D705" alt="A flowchart showing the basic transformer architecture for language models" width="705" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of processing text one word at a time like older models, transformers can look at entire passages at once and determine which parts should influence each other.&lt;/p&gt;

&lt;p&gt;The most important part of transformers is the "attention" mechanism, which allows the model to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Process text in parallel rather than word-by-word&lt;/li&gt;
&lt;li&gt;Consider relationships between words regardless of how far apart they are&lt;/li&gt;
&lt;li&gt;Weigh the importance of different words when generating each piece of output&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Under the hood, LLMs are still doing the same basic job as simpler language models—predicting what comes next—but their scale and architecture make them capable of so much more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" alt="exclamation" width="18" height="18"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The transformer model architecture is a deep learning architecture that was &lt;a href="https://proceedings.neurips.cc/paper_files/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf" rel="noopener noreferrer"&gt;developed by researchers at Google and is based on the multi-head attention mechanism&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How LLMs learn
&lt;/h2&gt;

&lt;p&gt;So, how do these large language models actually learn? It's just a whole lot of math, data, and computation.&lt;/p&gt;

&lt;p&gt;The model learns patterns from training data consisting of trillions of words through unsupervised learning, without requiring explicit programming of linguistic rules.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F40b0a20281324619b32e7e4001af62c3%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F40b0a20281324619b32e7e4001af62c3%3Fwidth%3D705" alt="Flowchart of LLM development: Raw Text Data, Pre-training, Foundation Model, Fine-tuning, Specialized Model, RLHF, Production LLM." width="705" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LLM training typically happens in a few stages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pre-training&lt;/strong&gt;: This is the foundation stage where the model learns language by predicting missing words from massive text datasets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fine-tuning&lt;/strong&gt;: After pre-training, the model gets more specialized training:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RLHF (Reinforcement Learning from Human Feedback)&lt;/strong&gt;: This is where models like ChatGPT get their polish:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The cool thing about this approach is that we never explicitly program rules of language or facts into the model. It learns patterns from data and then refines itself based on what humans prefer.&lt;/p&gt;

&lt;h2&gt;
  
  
  From design to code: our experience with LLMs
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe74019f9fd184346b06e5d7b2ebcd31f%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe74019f9fd184346b06e5d7b2ebcd31f%3Fwidth%3D705" alt="Workflow showing Figma, Mitosis, and LLMs working together to transform designs into customized code." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At Builder.io, we've spent years building tools that connect design and development, and we've learned valuable lessons about effectively leveraging LLMs.&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt;, our AI-powered Figma-to-code toolchain, &lt;a href="https://www.builder.io/blog/train-ai" rel="noopener noreferrer"&gt;we've trained specialized AI models&lt;/a&gt; with over 2 million data points that transform Figma designs into clean, responsive code.&lt;/p&gt;

&lt;p&gt;We don't just use a single AI model for this—that approach tends to fall apart in the real world. Instead, we've built a pipeline of specialized systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First, a model transforms flat design structures into proper code hierarchies&lt;/li&gt;
&lt;li&gt;Then, our open-source &lt;a href="https://mitosis.builder.io/" rel="noopener noreferrer"&gt;Mitosis&lt;/a&gt; compiler adapts this structure to whatever framework you're using&lt;/li&gt;
&lt;li&gt;Finally, a fine-tuned LLM polishes the code to match your team's specific coding style and standards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This has dramatically cut down the time developers spend translating designs into actual working code, allowing them to focus on the stuff that matters: building great user experiences and working on the core functionality of their apps.&lt;/p&gt;

&lt;p&gt;Working with LLMs in production has taught us that the difference between a mind-blowing AI feature and a frustrating one often comes down to the integration details most people overlook.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integrating LLMs into web applications
&lt;/h2&gt;

&lt;p&gt;So how do you actually add LLMs to your web app? You could go down a rabbit hole, but I want to focus on the fundamentals: how to connect to these models, handle their responses, and not break the bank while doing it.&lt;/p&gt;

&lt;h3&gt;
  
  
  API integration approaches
&lt;/h3&gt;

&lt;p&gt;The most common way to integrate LLMs into web applications is through API calls to hosted models. Services like OpenAI, Anthropic, Cohere, and others provide API endpoints that accept your prompts and return responses.&lt;/p&gt;

&lt;p&gt;Here's a basic example of using fetch to call an LLM API:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;generateContent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.llmprovider.com/generate&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Bearer &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;API_KEY&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;max_tokens&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;8192&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;temperature&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.7&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The key parameters typically include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Prompt&lt;/strong&gt;: What do you want the model to respond to&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temperature&lt;/strong&gt;: How random/creative the output should be (0.0 = deterministic, 1.0 = creative)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Max tokens&lt;/strong&gt;: How long the response can be&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model&lt;/strong&gt;: Which model to use (affects quality, speed, and cost)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Frontend considerations
&lt;/h3&gt;

&lt;p&gt;When implementing LLMs in user-facing web applications, consider these best practices:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Handle loading states&lt;/strong&gt; - LLM calls can take seconds, not milliseconds - show a spinner or typing animation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Implement streaming&lt;/strong&gt; - Most providers support streaming responses so you can show text as it's generated&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add retry logic&lt;/strong&gt; - LLM services can hit rate limits or have outages, so build in retry mechanisms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consider moderation&lt;/strong&gt; - If users can input their own prompts, you may need filtering to prevent misuse&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design for variability&lt;/strong&gt; - No matter what temperature you use, responses will vary each time&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Backend implementation strategies
&lt;/h3&gt;

&lt;p&gt;On the server side, consider these approaches:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Asynchronous processing&lt;/strong&gt; - For non-interactive uses, process requests in the background&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Caching common responses&lt;/strong&gt; - Store responses to common prompts to save money and improve speed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rate limiting&lt;/strong&gt; - Prevent abuse by implementing rate limits for LLM-based features&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt engineering&lt;/strong&gt; - The quality of your prompt directly affects the results&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation and post-processing&lt;/strong&gt; - Validate and clean LLM outputs before using them&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Performance and cost optimization
&lt;/h3&gt;

&lt;p&gt;LLMs are powerful but can get expensive quickly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Token optimization&lt;/strong&gt;: Every token (roughly 4 characters) costs money, with input and output tokens typically priced differently – so be strategic with prompt length and expected response size&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model selection&lt;/strong&gt;: Use smaller models for simpler tasks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batching&lt;/strong&gt;: Combine multiple requests when possible&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid approaches&lt;/strong&gt;: Use LLMs for what they're good at and traditional code for the rest&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Choose an integration approach
&lt;/h3&gt;

&lt;p&gt;You've got a few options depending on your needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Managed API services&lt;/strong&gt;: OpenAI, Anthropic, and Cohere provide simple REST APIs with comprehensive documentation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI SDK&lt;/strong&gt;: Adds a nice layer of abstraction and type safety if that's your thing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finding the right balance between these factors takes experimentation, but when done right, you can build features that would have been impossible just a few years ago.&lt;/p&gt;

&lt;h2&gt;
  
  
  The road ahead
&lt;/h2&gt;

&lt;p&gt;LLMs are genuinely changing how we build software, but in more practical and immediate ways than the hype might suggest. You don't need a PhD, technical expertise or massive infrastructure to start using them effectively in your projects.&lt;/p&gt;

&lt;p&gt;The learning curve exists, but it's more like learning a new framework than mastering quantum physics. Start with small experiments, try out the tools I've mentioned, and build from there.&lt;/p&gt;

&lt;p&gt;What's exciting isn't just what these models can do today but how quickly they're evolving. So give it a shot—you might be surprised at how quickly you can go from curiosity to shipping features powered by LLMs.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Best AI Code Editors in 2025</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Mon, 24 Feb 2025 11:36:15 +0000</pubDate>
      <link>https://dev.to/builderio/best-ai-code-editors-in-2025-4kaf</link>
      <guid>https://dev.to/builderio/best-ai-code-editors-in-2025-4kaf</guid>
      <description>&lt;p&gt;AI code editors have come a long way since their introduction. What started as experimental coding tools are now essential parts of many developers' daily workflows. As these editors mature, the question isn't whether to use one, but which one best suits your needs.&lt;/p&gt;

&lt;p&gt;In this article, we'll explore the leading AI code editors of 2025, from traditional IDEs with powerful AI integrations to purpose-built AI-first editors. Let's see what each brings to your development workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  VS Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt; has been the go-to editor for many developers for years now. It's free, open-source, and supports just about every programming language you can think of. In 2025, through AI powerhouses like GitHub Copilot and Cline, it has evolved into a complete AI development environment while maintaining its familiarity and extensibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Copilot
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fefdd16267c5245c09ccd57976ea726ab%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fefdd16267c5245c09ccd57976ea726ab%3Fwidth%3D705" alt="Stats from github copilot, such as 55% faster coding and more than 1 million developers using the product." width="705" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/features/copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt;, the tool that introduced many developers to AI pair programming, has transformed from a simple code completion tool into a sophisticated pair programmer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time code completions&lt;/li&gt;
&lt;li&gt;Context-aware and smart code suggestions based on your current code and comments&lt;/li&gt;
&lt;li&gt;Support for multiple programming languages and frameworks&lt;/li&gt;
&lt;li&gt;Seamless IDE integration&lt;/li&gt;
&lt;li&gt;Built-in chat capabilities through Copilot Chat for natural language requests&lt;/li&gt;
&lt;li&gt;Copilot Agents for extending functionality with custom AI-powered tools for documentation, data retrieval, and specialized coding tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt; Supports multiple models including &lt;code&gt;Claude 3.5 Sonnet&lt;/code&gt; from &lt;a href="https://anthropic.com" rel="noopener noreferrer"&gt;Anthropic&lt;/a&gt;, &lt;code&gt;o1&lt;/code&gt;, and &lt;code&gt;GPT-4o&lt;/code&gt; from &lt;a href="https://openai.com/" rel="noopener noreferrer"&gt;OpenAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Free tier with 12,000 completions per month, $10/month for individuals, $19/user/month for businesses, free for students and open source contributors&lt;/p&gt;

&lt;h3&gt;
  
  
  Cline
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F26c87f40a0264b769611ef26691360b5%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F26c87f40a0264b769611ef26691360b5%3Fwidth%3D705" alt="Cline logo on a dark blue background." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Meet VS Code's other AI powerhouse. &lt;a href="https://github.com/cline/cline" rel="noopener noreferrer"&gt;Cline&lt;/a&gt; bridges the gap between editor and terminal, turning routine development tasks into streamlined workflows with its unique approach to AI assistance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Autonomous file creation and editing with diff views and &lt;code&gt;Timeline&lt;/code&gt; tracking&lt;/li&gt;
&lt;li&gt;Terminal command execution with real-time output monitoring&lt;/li&gt;
&lt;li&gt;Browser automation for testing, debugging, and UI interactions&lt;/li&gt;
&lt;li&gt;Flexible API integration with support for &lt;a href="https://openrouter.ai/" rel="noopener noreferrer"&gt;OpenRouter&lt;/a&gt;, &lt;a href="https://anthropic.com/" rel="noopener noreferrer"&gt;Anthropic&lt;/a&gt;, &lt;a href="https://openai.com/" rel="noopener noreferrer"&gt;OpenAI&lt;/a&gt;, &lt;a href="https://deepmind.google/gemini" rel="noopener noreferrer"&gt;Google Gemini&lt;/a&gt;, and local models&lt;/li&gt;
&lt;li&gt;Comprehensive context management with file structure analysis and &lt;code&gt;AST&lt;/code&gt; parsing&lt;/li&gt;
&lt;li&gt;Workspace checkpoints for comparing and restoring different versions&lt;/li&gt;
&lt;li&gt;Extensible through &lt;code&gt;Model Context Protocol&lt;/code&gt; for custom tools and capabilities&lt;/li&gt;
&lt;li&gt;Cost tracking for API usage and token consumption&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Models:&lt;/strong&gt; Supports a wide range of models from Anthropic, OpenAI, Google Gemini, DeepSeek, and local models via &lt;a href="https://lmstudio.ai/" rel="noopener noreferrer"&gt;LM Studio&lt;/a&gt; and &lt;a href="https://ollama.ai/" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; API costs vary based on chosen providers&lt;/p&gt;

&lt;h2&gt;
  
  
  Cursor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd01466d885b740e0a30baf41f18d491b%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd01466d885b740e0a30baf41f18d491b%3Fwidth%3D705" alt="Preview of Cursor's homepage." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagine if Visual Studio Code went on a retreat, had a spiritual awakening, and came back obsessed with AI. That's basically what &lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; is. It's built on top of VS Code, so it feels familiar, but it's packed with AI features that make you wonder if you're still actually coding or if you've somehow stepped into the future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Advanced code completion with auto-imports for TypeScript and Python&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Composer&lt;/code&gt; (&lt;code&gt;⌘ + I&lt;/code&gt;) for creating entire applications&lt;/li&gt;
&lt;li&gt;Agent mode (&lt;code&gt;⌘ + .&lt;/code&gt;) for context gathering and terminal operations&lt;/li&gt;
&lt;li&gt;Context-aware chat (&lt;code&gt;⌘ + L&lt;/code&gt;) with folder drag &amp;amp; drop support&lt;/li&gt;
&lt;li&gt;Terminal integration with natural language command processing&lt;/li&gt;
&lt;li&gt;Built-in bug finder with fix suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt; &lt;code&gt;GPT-4o&lt;/code&gt;, &lt;code&gt;o1&lt;/code&gt;, &lt;code&gt;Claude 3.5 Sonnet&lt;/code&gt;, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt; Free hobby tier, $20/month for Pro, $40/user/month for Business&lt;/p&gt;

&lt;h2&gt;
  
  
  Windsurf
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6f30446569f7409b87f7a442162dd212%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6f30446569f7409b87f7a442162dd212%3Fwidth%3D705" alt="Preview of Windsurf's home page." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built on VS Code (sensing a theme here?), &lt;a href="https://codeium.com/windsurf" rel="noopener noreferrer"&gt;Windsurf&lt;/a&gt; offers a sophisticated AI-powered development environment with its &lt;code&gt;Supercomplete&lt;/code&gt; and &lt;code&gt;Cascade&lt;/code&gt; features. Developed by &lt;a href="https://codeium.com/" rel="noopener noreferrer"&gt;Codeium&lt;/a&gt;, it focuses on real-time workspace understanding and intelligent code assistance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Supercomplete&lt;/code&gt; for predicting and offering intelligent code suggestions with diff box previews&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Cascade&lt;/code&gt; with real-time workspace sync and iterative problem-solving&lt;/li&gt;
&lt;li&gt;Comprehensive project understanding with automatic context updates&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Flow&lt;/code&gt; technology for workspace synchronization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt; Base Model (&lt;code&gt;Llama 3.1 70B&lt;/code&gt;), Premier Model (&lt;code&gt;Llama 3.1 405B&lt;/code&gt;), plus &lt;code&gt;GPT-4o&lt;/code&gt; and &lt;code&gt;Claude 3.5 Sonnet&lt;/code&gt; with image support&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing&lt;/strong&gt; Free tier with base model access, $15/month for Pro, $60/month for Pro Ultimate&lt;/p&gt;

&lt;h2&gt;
  
  
  Trae
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F11f2ff739f7e417ebb040f651367533e%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F11f2ff739f7e417ebb040f651367533e%3Fwidth%3D705" alt="Preview of Trae's home page." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bytedance.com" rel="noopener noreferrer"&gt;ByteDance&lt;/a&gt;, the company behind TikTok, decided to throw its hat into the AI code editor ring with &lt;a href="https://trae.ai" rel="noopener noreferrer"&gt;Trae&lt;/a&gt; (The Real AI Engineer). And surprise, surprise — it's built on VS Code. Trae might be the new kid on the block, but it's coming in hot with a polished UI and some fresh ideas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unique "think-before-doing" approach to project-wide operations&lt;/li&gt;
&lt;li&gt;Builder mode with systematic task breakdown&lt;/li&gt;
&lt;li&gt;Dual chat interfaces: Side Chat (&lt;code&gt;⌘ + U&lt;/code&gt;) and Inline Chat (&lt;code&gt;⌘ + I&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Comprehensive context system with automatic indexing&lt;/li&gt;
&lt;li&gt;Support for multimodal input including images&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt; &lt;code&gt;Claude 3.5 Sonnet&lt;/code&gt; and &lt;code&gt;GPT-4o&lt;/code&gt; only&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pricing:&lt;/strong&gt; Currently free with all features included (future pricing to be introduced)&lt;/p&gt;

&lt;h2&gt;
  
  
  A Note About Zed
&lt;/h2&gt;

&lt;p&gt;Finally, an editor that isn't another VS Code fork! &lt;a href="https://zed.dev/" rel="noopener noreferrer"&gt;Zed&lt;/a&gt; is something different - a blazing fast editor built from the ground up in Rust, focused on raw performance and clean design. They were a bit late to the AI party, only launching their &lt;a href="https://zed.dev/blog/zed-ai" rel="noopener noreferrer"&gt;AI features in August 2024&lt;/a&gt;, and are still catching up with features that other editors have had for a while.&lt;/p&gt;

&lt;p&gt;Zed isn't yet at the level of our main contenders, but their focus on performance combined with their careful approach to AI integration makes them worth keeping an eye on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Figma-to-IDE workflow
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F235bf26bcc3d4a20924ccce954731ec0%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F235bf26bcc3d4a20924ccce954731ec0%3Fwidth%3D705" alt="Workflow diagram showing Figma designs being converted to code through AI-powered Builder.io plugin, connecting designers to development tools." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Workflow diagram showing Figma designs being converted to code through AI-powered Builder.io plugin, connecting designers to development tools.&lt;/p&gt;

&lt;p&gt;While we've covered the best AI code editors, it's worth mentioning that the future of development isn't just about writing code. One of my preferred workflows combines these AI tools with &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt;, a design-to-code Figma plugin:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Design in Figma&lt;/strong&gt;: Everything starts with the design team creating pixel-perfect designs in Figma.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual Copilot&lt;/strong&gt;: Next, Visual Copilot handles the code generation process, converting these Figma designs into clean, production-ready code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fine-tuning in IDE&lt;/strong&gt;: While Visual Copilot handles the heavy lifting of translating design to functional code, I iterate on the generated code using the IDE's AI capabilities to add interactivity, optimize performance, and implement complex features across multiple files.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;It's 2025, and AI code editors have evolved from novelties to necessities. The tools are mature - it's just about finding the one that that best complements your coding practices and accelerates your software development process.&lt;/p&gt;

&lt;p&gt;Just remember: with great power comes great responsibility. And by responsibility, I mean "the ability to introduce bugs at superhuman speeds.”&lt;/p&gt;

&lt;p&gt;While AI coding tools are great at generating functional code and handling repetitive coding tasks, they're most effective when combined with thorough code review practices.&lt;/p&gt;

&lt;p&gt;For a more opinionated and technical deep dive, check out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/cursor-vs-github-copilot" rel="noopener noreferrer"&gt;Cursor vs GitHub Copilot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;$500 Devin vs $20 Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/windsurf-vs-cursor" rel="noopener noreferrer"&gt;Windsurf vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>tooling</category>
      <category>programming</category>
    </item>
    <item>
      <title>How Does Trae, the 100% Free AI IDE, Compare to Cursor?</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Tue, 18 Feb 2025 15:02:16 +0000</pubDate>
      <link>https://dev.to/builderio/how-does-trae-the-100-free-ai-ide-compare-to-cursor-3noc</link>
      <guid>https://dev.to/builderio/how-does-trae-the-100-free-ai-ide-compare-to-cursor-3noc</guid>
      <description>&lt;p&gt;Another day, another AI code editor! Just kidding - but seriously, a new AI editor called Trae just dropped. Remember when we used to joke about a new JavaScript framework dropping every day? Let's hope AI editors don't go down that road!&lt;/p&gt;

&lt;p&gt;The reality is that using an AI-powered editor is quickly becoming less of a "nice to have" and more of a "wait, you're still coding without AI?" kind of thing. While Cursor has been crushing it as the go-to AI coding sidekick, Trae has entered the scene looking to measure up.&lt;/p&gt;

&lt;p&gt;From code completion and generation to context awareness and pricing, let's break down how these tools compare where it matters most.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet the players
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; has established itself as a force to be reckoned with in the AI coding space. Built on &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;VS Code&lt;/a&gt;'s foundation, it's evolved into something far beyond a simple code editor with AI capabilities bolted on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;The new kid on the block comes from ByteDance, the company behind TikTok. &lt;a href="https://www.trae.ai/" rel="noopener noreferrer"&gt;Trae&lt;/a&gt; (cleverly named as "The Real AI Engineer"), positions itself as an adaptive AI IDE. It’s built on VS Code, just like Cursor, but it's not your typical VS Code clone. They've given the interface a fresh coat of paint, which is pretty nice to see. Best of all, it's completely free for now and packs some interesting features that make it worth a look.&lt;/p&gt;

&lt;p&gt;Let's dive into the specific features and see how these two compare.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code completion
&lt;/h2&gt;

&lt;p&gt;You know that feeling when you're typing and the IDE just &lt;em&gt;gets&lt;/em&gt; what you're trying to do? That's what we're talking about here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's code completion is top-tier stuff. It doesn't just predict your next line - it understands your project's context and can handle everything from auto-imports in TypeScript and Python to multi-line completions that actually make sense. The suggestions feel natural, like they're coming from someone who's intimately familiar with your codebase.&lt;/p&gt;



&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Trae takes an interesting approach with its completion system. Hit Enter for a new line, and it starts suggesting completions based on your code context. You can either Tab to accept everything or use &lt;code&gt;Ctrl + →&lt;/code&gt; for word-by-word acceptance. Trae also encourages comment-driven generation - write what you want in a comment, and it'll try to make it happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code generation
&lt;/h2&gt;

&lt;p&gt;This is where things get interesting. Imagine describing what you want your code to do, and boom — it's there.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor combines code generation and agent capabilities in powerful ways. The Composer (⌘ + I) understands and implements entire project architectures, while Agent mode (⌘.) acts like a senior developer at your command, handling everything from context gathering to terminal operations. Together, they can scaffold entire applications while maintaining your project's style.&lt;/p&gt;



&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Trae's Builder mode employs a unique "think-before-doing" approach to project-wide operations. Before executing any changes, it first analyzes and confirms its understanding of the task, then breaks it down systematically. This methodical process covers everything from context extraction to file modifications and command execution, with real-time previews letting you see changes before committing.&lt;/p&gt;

&lt;p&gt;This planning-first approach mirrors an emerging trend in AI coding tools - notably, the current leader on &lt;a href="https://aider.chat/docs/leaderboards/" rel="noopener noreferrer"&gt;Aider's polyglot leaderboard&lt;/a&gt; is a combination of DeepSeek R1 for architectural planning with Claude for implementation, achieving a 64% success rate on complex coding tasks.&lt;/p&gt;

&lt;p&gt;While Trae’s approach might take slightly longer than Cursor’s direct approach, it often results in more accurate first-attempt solutions.&lt;/p&gt;



&lt;h2&gt;
  
  
  Chat
&lt;/h2&gt;

&lt;p&gt;Sometimes you just need to ask a question. But is chatting with an AI actually helpful?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's chat (&lt;code&gt;⌘ + L&lt;/code&gt;) is context-aware and understands what you're working on. You can drag &amp;amp; drop folders into Chat for additional context and apply code suggestions directly. It even supports images for visual context.&lt;/p&gt;



&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Trae offers two chat interfaces:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Side Chat (&lt;code&gt;⌘ + U&lt;/code&gt;): Works as an all-in-one AI partner, handling everything from code explanation to error fixing.&lt;/li&gt;
&lt;li&gt;Inline Chat (&lt;code&gt;⌘ + I&lt;/code&gt;): Embedded within the code editor for better flow, perfect for quick edits or code explanations.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both chat modes support multimodal input, allowing you to add images like error screenshots or design drafts. You can even reference terminal output directly in your chats.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminal integration
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor extends its AI capabilities directly to the terminal with &lt;code&gt;⌘ + K&lt;/code&gt;. This lets you translate natural language descriptions into actual commands right in the terminal, making complex command-line operations more accessible. However, it hijacks the terminal's clear shortcut, which is kind of annoying.&lt;/p&gt;



&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Trae handles terminal operations through its chat interface rather than direct terminal integration. When you need a command, ask in the chat and Trae will provide it with two options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Add to Terminal&lt;/strong&gt;: Inserts the command into your terminal, ready to run with Enter&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run&lt;/strong&gt;: Inserts the command into your terminal and executes it directly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s not as seamless as Cursor's direct terminal integration but this approach still provides the help you need for command-line operations.&lt;/p&gt;



&lt;h2&gt;
  
  
  Context awareness
&lt;/h2&gt;

&lt;p&gt;This is a big one. Can these tools actually understand your whole project, or are they just looking at the current file?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's pretty impressive here. It looks at your entire codebase and project structure. You can even use &lt;code&gt;@&lt;/code&gt; symbols to reference specific parts of your project, like &lt;code&gt;@Files&lt;/code&gt;, &lt;code&gt;@Folders&lt;/code&gt;, &lt;code&gt;@Code&lt;/code&gt;, and more.&lt;/p&gt;



&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Trae's context system is comprehensive, if a bit complex. You've got direct references, terminal output integration, and smart commands with &lt;code&gt;#Code&lt;/code&gt;, &lt;code&gt;#File&lt;/code&gt;, &lt;code&gt;#Folder&lt;/code&gt;, and &lt;code&gt;#Workspace&lt;/code&gt;. The automatic indexing for smaller projects (&amp;lt;5,000 files) is handy, though larger projects need manual indexing.&lt;/p&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Models&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Let's look at the AI horsepower under the hood - which models are powering these tools?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Cursor&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Cursor offers a range of models, including GPT-4o, o1, Claude 3.5 Sonnet, and their custom cursor-small model. You can choose based on what you need — speed or capability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Trae offers a focused selection of just two high-end models: Claude 3.5 Sonnet and GPT-4o. While limited in options, these are both top-tier models known for their advanced capabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code review
&lt;/h2&gt;

&lt;p&gt;We all need a second pair of eyes sometimes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor includes a powerful bug finder feature that scans your code and branch changes against main, rating potential bugs as it finds them. One click and it'll fix issues right in your editor, though each fix operation comes at a cost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fee0ae642fa434b50b4ea074780398eb9%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fee0ae642fa434b50b4ea074780398eb9%3Fwidth%3D705" alt="A preview of Cursor's bug finder feature, scanning code on the left and producing a bug report on the right stating that " width="705" height="567"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Currently, Trae doesn't offer dedicated AI-powered code review capabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI training &amp;amp; rules
&lt;/h2&gt;

&lt;p&gt;One size doesn't fit all in coding. Can you bend these tools to fit your specific needs, or are you stuck with what they give you?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor offers two levels of AI behavior customization:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Global rules&lt;/strong&gt;: Simple but powerful - modify AI behavior across your entire editor through Cursor Settings. &lt;strong&gt;&lt;code&gt;Cursor Settings&lt;/code&gt;&lt;/strong&gt;\ &amp;gt; &lt;strong&gt;&lt;code&gt;General&lt;/code&gt;&lt;/strong&gt;\ &amp;gt; &lt;strong&gt;&lt;code&gt;Rules for AI&lt;/code&gt;&lt;/strong&gt;. These rules apply to all features like Chat and Cmd+K commands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project rules&lt;/strong&gt;: The recommended approach for serious development. Stored in &lt;code&gt;.cursor/rules&lt;/code&gt;, these offer granular control with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File pattern matching for specific file types&lt;/li&gt;
&lt;li&gt;Folder-specific configurations&lt;/li&gt;
&lt;li&gt;Semantic descriptions for rule application&lt;/li&gt;
&lt;li&gt;Automatic context attachment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This flexibility means you can adapt AI behavior to different frameworks, file types, or development patterns within the same project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;While Trae offers language preferences and code indexing settings, it currently doesn't support custom AI behavior rules or project-specific AI configurations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Let's talk money. How do their pricing models compare?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;At $20/month for Pro and $40/user/month for Business, it's an investment in your development workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trae
&lt;/h3&gt;

&lt;p&gt;Currently, Trae is completely free - a significant advantage for developers wanting to explore AI-assisted coding without commitment. While pricing will be introduced in the future, the current free access includes all features, from the Builder mode to multimodal capabilities.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;After putting both tools through their paces, Cursor clearly comes out on top. Its more polished experience, superior context understanding, and fluid project-wide operations make it the more capable tool for serious development work.&lt;/p&gt;

&lt;p&gt;That said, Trae offers an interesting proposition right now: it's free. While it may not match Cursor feature-for-feature, it's a solid platform for experiencing how AI can accelerate your coding workflow, especially with repetitive tasks.&lt;/p&gt;

&lt;p&gt;My recommendation? Use Trae to build your AI-assisted development habits now, then upgrade to Cursor when you're ready to invest in a more powerful toolkit.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;My preferred AI stack&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F43353ef34b1d43fbb874d8378d7c9639%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F43353ef34b1d43fbb874d8378d7c9639%3Fwidth%3D705" alt="A flow chart of the designer creating a design in figma, using builder's design to code, then passing it on to the developer to use cursor to further build and refine the code." width="705" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My preferred workflow looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Our design team works in Figma&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; converts the designs to code&lt;/li&gt;
&lt;li&gt;I iterate on the code using Cursor&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you enjoyed this post, you might also like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/cursor-vs-github-copilot" rel="noopener noreferrer"&gt;Cursor vs GitHub Copilot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;$500 Devin vs $20 Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/windsurf-vs-cursor" rel="noopener noreferrer"&gt;Windsurf vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cursor</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Figma to Code with Windsurf and Visual Copilot</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Wed, 12 Feb 2025 10:57:40 +0000</pubDate>
      <link>https://dev.to/builderio/figma-to-code-with-windsurf-and-visual-copilot-19m8</link>
      <guid>https://dev.to/builderio/figma-to-code-with-windsurf-and-visual-copilot-19m8</guid>
      <description>&lt;p&gt;Converting Figma designs into functional interfaces is typically a tedious process. Recreating every pixel-perfect design detail—fonts, spacing, responsive layouts, and interactions—in HTML, CSS, and JavaScript (or any other stack) is like retyping a book that's already been written.&lt;/p&gt;

&lt;p&gt;The good news is that this level of manual work might finally be on its way out. The &lt;strong&gt;Windsurf&lt;/strong&gt; and &lt;strong&gt;Visual Copilot&lt;/strong&gt; integration eliminates this manual design-to-code work, freeing up time to focus on building features and delivering great products.&lt;/p&gt;

&lt;h2&gt;
  
  
  Windsurf
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://codeium.com/windsurf" rel="noopener noreferrer"&gt;Windsurf&lt;/a&gt; is an AI-powered IDE developed by Codeium, built on top of Visual Studio Code. Its standout feature is the "Flow" technology, which maintains real-time sync with the workspace, enabling seamless AI collaboration across projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Copilot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; is &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;’s AI-powered Figma to code toolchain that leverages AI models to convert Figma designs into React, Vue, Svelte, Angular, HTML, etc code in real-time. It can even reuse your existing components in the output and use any styling library or design system you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set up your workflow
&lt;/h2&gt;

&lt;p&gt;Getting started is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install the &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Visual Copilot plugin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Download &lt;a href="https://codeium.com/windsurf" rel="noopener noreferrer"&gt;Windsurf&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to turn Figma designs into code
&lt;/h2&gt;

&lt;p&gt;Visual Copilot works with all popular frameworks like React, Vue, Svelte, and Angular. It also works with style tools like Tailwind CSS, Emotion and Styled Components. Whether you're building a simple landing page or a complex application, Visual Copilot can generate the code you need in your preferred tech stack. Here's how to use it:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: launch the Visual Copilot Figma plugin
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe3097a9f506544ac8130835410ae88de%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe3097a9f506544ac8130835410ae88de%3Fwidth%3D705" alt="Figma plugin search interface showing Builder.io AI-Powered Figma to Code plugin in the Plugins &amp;amp; widgets section." width="705" height="705"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Figma plugin search interface showing &lt;a href="http://builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; AI-Powered Figma to Code plugin in the Plugins &amp;amp; widgets section.&lt;/p&gt;

&lt;p&gt;In Figma, open the Actions menu from the toolbar, click the Plugins &amp;amp; widgets tab, search for "Builder.io AI-powered Figma to Code" plugin and run it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" alt="exclamation" width="18" height="18"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can also &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;try the plugin&lt;/a&gt; from the Figma community page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: export to code
&lt;/h3&gt;



&lt;p&gt;Select the design to convert, check the preview in the plugin, and click &lt;strong&gt;Export to Code&lt;/strong&gt;. This starts the code generation process behind the scenes. Copy the generated command and paste it into the Windsurf terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: set up rules for AI
&lt;/h3&gt;

&lt;p&gt;While you can start generating code right away, configuring AI rules helps produce code that better matches project standards:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;strong&amp;gt;.windsurfrules&amp;lt;/strong&amp;gt;&lt;/code&gt;: For project-specific customization in your workspace in Windsurf.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;strong&amp;gt;.builderrules&amp;lt;/strong&amp;gt;&lt;/code&gt;: To add custom instructions that will be automatically injected into the LLM prompt during code generation. Define anything from component naming conventions and state management patterns to error handling approaches and custom hook patterns.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;lt;strong&amp;gt;.builderignore&amp;lt;/strong&amp;gt;&lt;/code&gt;: To exclude specific files or patterns from being included in the code generation process. This is especially useful for template files that shouldn't influence the generated code, legacy code that doesn't follow current standards, third-party code that might confuse the generation process, and test files or mock data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" alt="exclamation" width="18" height="18"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;.builderrules&lt;/code&gt; and &lt;code&gt;.builderignore&lt;/code&gt; are Visual Copilot-specific and won't affect Windsurf’s code generation&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: guide the code generation
&lt;/h3&gt;



&lt;p&gt;Tell the AI what you're building. For example: "This is a signup form for new users."&lt;/p&gt;

&lt;p&gt;Visual Copilot and Windsurf will then:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze existing project files&lt;/li&gt;
&lt;li&gt;Read &lt;code&gt;.builderrules&lt;/code&gt;, &lt;code&gt;.builderignore&lt;/code&gt; and &lt;code&gt;.**windsurfrules**&lt;/code&gt; files to understand coding patterns&lt;/li&gt;
&lt;li&gt;Generate code matching the project's framework and styling choices (React with Tailwind CSS for example)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 5: make it better with Windsurf
&lt;/h3&gt;



&lt;p&gt;This is where Windsurf's AI capabilities truly shine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cascade&lt;/strong&gt;: Add more features to your code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chat&lt;/strong&gt; (⌘ + L): Ask questions about your code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Codeium Command&lt;/strong&gt; (⌘ + K): Make quick changes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The real-time awareness feature means you won't need to repeatedly explain your context - Windsurf understands your actions as you make them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pro tips for better Figma to Windsurf results
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Use Auto Layout in Figma&lt;/strong&gt;: When designing your components and layouts in Figma, always use Auto Layout. This helps Visual Copilot generate more accurate and responsive code that better matches your design intentions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leverage Cascade memories&lt;/strong&gt;: Use Windsurf's Cascade Memories to persist context across sessions. This helps maintain consistency in your code generation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pin important context&lt;/strong&gt;: For specific bits of code you want extra attention on, pin directories, files, repositories, or code context items as persistent context.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;p&gt;Integrating Visual Copilot with Windsurf saves you from copying designs into code by hand. You also won't need to switch back and forth between design and code to check measurements or fix layout problems.&lt;/p&gt;

&lt;p&gt;Instead, your designs become working code in minutes. Visual Copilot creates the code, and Windsurf helps you fit it into your project perfectly.&lt;/p&gt;

&lt;p&gt;It's a workflow that frees you to focus on building features that delight your users—and shipping them faster than ever.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;What frameworks are supported? Visual Copilot supports React, Vue, Svelte, Angular, and more, while Windsurf works with any language VS Code supports.&lt;/li&gt;
&lt;li&gt;Does this work with my existing codebase? Yes! Both tools are designed to integrate seamlessly with your existing projects. Windsurf keeps track of your code in real-time.&lt;/li&gt;
&lt;li&gt;What AI models are available? Windsurf gives everyone access to Llama 3.1 70B. Paid users get Llama 3.1 405B, GPT-4, and Claude 3.5 Sonnet (which can understand images).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you enjoyed this post, you might also like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/cursor-vs-windsurf-vs-github-copilot" rel="noopener noreferrer"&gt;Cursor vs Windsurf vs GitHub Copilot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;Devin vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/react-ai-stack" rel="noopener noreferrer"&gt;React + AI Stack for 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>windsurf</category>
      <category>figma</category>
      <category>ai</category>
    </item>
    <item>
      <title>Figma to Code with Cursor and Visual Copilot</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Mon, 03 Feb 2025 19:21:39 +0000</pubDate>
      <link>https://dev.to/builderio/figma-to-code-with-cursor-and-visual-copilot-14dh</link>
      <guid>https://dev.to/builderio/figma-to-code-with-cursor-and-visual-copilot-14dh</guid>
      <description>&lt;p&gt;If you’ve ever converted a Figma design into a functional interface, you know just how tedious that process can be.&lt;/p&gt;

&lt;p&gt;Every pixel-perfect design detail—fonts, spacing, responsive layouts, and interactions — has to be painstakingly recreated in HTML, CSS, and JavaScript (or whatever your stack might be). It’s like retyping a book you already wrote, just so it can be “officially” published.&lt;/p&gt;

&lt;p&gt;The good news is that we’re finally at a point where that level of hand-holding is about to disappear. The &lt;strong&gt;Cursor&lt;/strong&gt; and &lt;strong&gt;Visual Copilot&lt;/strong&gt; integration eliminates this manual design-to-code work, letting you focus on what truly matters: building features and delivering great products.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cursor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; is like having a senior developer looking over your shoulder 24/7. It's an AI-powered code editor built on top of &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;VS Code&lt;/a&gt; that understands your entire codebase and helps you write, refactor, and optimize code faster than ever.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Visual Copilot&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; is &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;’s AI-powered Figma to code toolchain that leverages AI models to convert Figma designs into React, Vue, Svelte, Angular, HTML, etc code in real-time. It can even reuse your existing components in the output and use any styling library or design system you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set up your workflow
&lt;/h2&gt;

&lt;p&gt;Getting started is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install the &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Visual Copilot plugin&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Download &lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Convert Figma design to code
&lt;/h2&gt;

&lt;p&gt;The beauty here is that Visual Copilot supports all major frameworks (React, Vue, Svelte, Angular) and styling solutions (Tailwind CSS, Emotion, Styled Components). Whether you're building a simple landing page or a complex application, Visual Copilot can generate the code you need in your preferred tech stack. Let's walk through the process:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: launch the Visual Copilot Figma plugin
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F295acb858f474d979502f97241280420%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F295acb858f474d979502f97241280420%3Fwidth%3D705" alt="Figma plugin search interface showing Builder.io AI-Powered Figma to Code plugin in the Plugins &amp;amp; widgets section." width="705" height="705"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Figma plugin search interface showing &lt;a href="http://builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; AI-Powered Figma to Code plugin in the Plugins &amp;amp; widgets section.&lt;/p&gt;

&lt;p&gt;In your Figma file, open the Actions menu from the toolbar, then click the Plugins &amp;amp; widgets tab. Search for “Builder.io AI-powered Figma to Code” plugin and run it.&lt;/p&gt;

&lt;p&gt;You can also &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;try the plugin&lt;/a&gt; from the Figma community page directly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: export to code
&lt;/h3&gt;



&lt;p&gt;Select the design you want to convert. You’ll get a preview in the plugin. If you’re satisfied with your selection, click the &lt;strong&gt;Export to Code&lt;/strong&gt; button. This starts the code generation process behind the scenes. Copy the generated command and paste it into your Cursor terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: configure rules for AI
&lt;/h3&gt;

&lt;p&gt;While you can start generating code right away, configuring rules for AI will help produce code that better matches your project's standards:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;.cursorrules&lt;/code&gt;&lt;/strong&gt;: Configure this file to maintain consistent coding patterns across your project. This helps Cursor understand your coding standards and practices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;.builderrules&lt;/code&gt;&lt;/strong&gt;: Use this to add custom instructions that will be automatically injected into the LLM prompt during code generation. You can define anything from component naming conventions and state management patterns to error handling approaches and custom hook patterns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;.builderignore&lt;/code&gt;&lt;/strong&gt;: Use this file to exclude specific files or patterns from being included in the code generation process. This is especially useful for template files that shouldn't influence the generated code, legacy code that doesn't follow current standards, third-party code that might confuse the generation process, and test files or mock data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While optional, setting up these configuration files is highly recommended for better code generation results. Note that &lt;code&gt;.builderrules&lt;/code&gt; and &lt;code&gt;.builderignore&lt;/code&gt; are Visual Copilot-specific and won't affect Cursor's code generation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: guide the code generation
&lt;/h3&gt;



&lt;p&gt;Here's where the magic really happens — tell the AI how your design fits into your project. Something like "a new registration card component for our auth flow" is all it takes.&lt;/p&gt;

&lt;p&gt;Together, Visual Copilot and Cursor will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze your existing project files.&lt;/li&gt;
&lt;li&gt;Read your &lt;code&gt;.builderrules&lt;/code&gt;, &lt;code&gt;.builderignore&lt;/code&gt; and &lt;code&gt;.cursorrules&lt;/code&gt; files to understand your coding patterns.&lt;/li&gt;
&lt;li&gt;Generate code that matches your project's framework and styling choices (like React with Tailwind CSS).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 5: Enhance with Cursor
&lt;/h3&gt;

&lt;p&gt;This is where &lt;a href="https://www.builder.io/blog/cursor-advanced-features" rel="noopener noreferrer"&gt;Cursor's AI superpowers&lt;/a&gt; come into play. Open your newly generated code in Cursor and use its features to take things to the next level:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;code&gt;⌘ K&lt;/code&gt; to refactor and optimize the generated code.&lt;/li&gt;
&lt;li&gt;Leverage &lt;strong&gt;Chat&lt;/strong&gt; to get instant answers about the code structure.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Composer&lt;/strong&gt; for larger architectural changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While Visual Copilot generates responsive layouts, you can use Cursor to ensure your responsive implementation works flawlessly across all screen sizes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pro tips for better &lt;strong&gt;Figma to Cursor&lt;/strong&gt; results
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Use Auto Layout in Figma&lt;/strong&gt;: When designing your components and layouts in Figma, always use Auto Layout. This helps Visual Copilot generate more accurate and responsive code that better matches your design intentions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep configuration files updated&lt;/strong&gt;: Regularly update your &lt;code&gt;.cursorrules&lt;/code&gt;, &lt;code&gt;.builderrules&lt;/code&gt;, and &lt;code&gt;.builderignore&lt;/code&gt; files as your project evolves. This ensures the generated code continues to align with your team's latest standards and practices.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;By integrating Visual Copilot with Cursor, you'll eliminate the mind-numbing DOM manipulation and pixel-pushing that eats up your dev time. No more context-switching between Figma and your IDE to grab exact measurements, or debugging mysterious padding issues that make your implementation drift from the design specs.&lt;/p&gt;

&lt;p&gt;Instead, you can turn designs into production-ready code with just a few clicks. Visual Copilot handles the heavy lifting of code generation, while Cursor's AI capabilities help you refine, optimize, and integrate that code seamlessly into your project.&lt;/p&gt;

&lt;p&gt;It’s a workflow that frees you to focus on building features that delight your users—and shipping them faster than ever.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;What frameworks are supported? Visual Copilot supports React, Vue, Svelte, Angular, and more, while Cursor works with any language VS Code supports.&lt;/li&gt;
&lt;li&gt;Does this work with my existing codebase? Yes! Both tools are designed to integrate seamlessly with your existing projects. You'll find it incredibly helpful in streamlining your workflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you enjoyed this post, you might also like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/cursor-vs-github-copilot" rel="noopener noreferrer"&gt;Cursor vs GitHub Copilot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;Devin vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/react-ai-stack" rel="noopener noreferrer"&gt;React + AI Stack for 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>figma</category>
      <category>webdev</category>
      <category>design</category>
      <category>ai</category>
    </item>
    <item>
      <title>Cursor vs Windsurf vs GitHub Copilot</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Thu, 09 Jan 2025 13:03:25 +0000</pubDate>
      <link>https://dev.to/builderio/cursor-vs-windsurf-vs-github-copilot-48n7</link>
      <guid>https://dev.to/builderio/cursor-vs-windsurf-vs-github-copilot-48n7</guid>
      <description>&lt;p&gt;2024 was a wild year for AI. We saw some mind-blowing advancements that pushed the boundaries of what we thought was possible. Now, as we're stepping into 2025, it's clear that AI isn't just a fancy add-on for developers —it's becoming an essential part of how we code. AI coding assistants have quickly evolved from "neat trick" to "how did I ever code without this?".&lt;/p&gt;

&lt;p&gt;While there are several players in this space, let’s zoom in on three major contenders: GitHub Copilot (the OG), Cursor (the one pushing boundaries), and Windsurf (the fresh face that's turning heads). They're all trying to do one thing: make our lives as devs a bit easier.&lt;/p&gt;

&lt;p&gt;After spending time with Copilot, Cursor, and Windsurf, I thought it would be helpful to break down how they stack up against each other. Whether you’re curious about trying them out or just want to know what all the fuss is about, stick around. We’re going to dig into the key features that matter to us as developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Cursor AI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; is an AI-powered code editor on steroids. It is a fork of &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt;, bringing advanced AI capabilities to a familiar interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Windsurf&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://codeium.com/windsurf" rel="noopener noreferrer"&gt;Windsurf&lt;/a&gt; is an AI-powered IDE developed by &lt;a href="https://codeium.com/" rel="noopener noreferrer"&gt;Codeium&lt;/a&gt;. Similar to Cursor, it is built on top of Visual Studio Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;GitHub Copilot&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/features/copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt; is an AI coding assistant developed by GitHub in collaboration with OpenAI. It uses machine learning to generate code suggestions and complete tasks directly in your code editor (Visual Studio Code, Visual Studio, Vim/Neovim, JetBrains IDEs).&lt;/p&gt;

&lt;p&gt;All three offer a range of features designed to enhance productivity and support developers. Let's dive into the specific features and see how they compare.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tab completion
&lt;/h2&gt;

&lt;p&gt;You know that feeling when you're typing and the IDE just &lt;em&gt;gets&lt;/em&gt; what you're trying to do? That's what we're talking about here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's tab completion is pretty wild. It'll suggest multiple lines of code, and it's looking at your whole project to make those suggestions. For TypeScript and Python files — when tab suggests an unimported symbol, Cursor will auto-import it to your current file. Plus, it even tries to guess where you're going to edit next.&lt;/p&gt;



&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf takes a dual approach to code completion. Its standard autocomplete suggests code as you type — tab to accept with &lt;code&gt;Alt+]&lt;/code&gt; or &lt;code&gt;Alt+[&lt;/code&gt; for cycling through options. But the standout feature is Supercomplete, which predicts your next moves by analyzing code context before and after your cursor. It shows suggested changes in a diff box next to your code in the editor, and you press tab to accept these smarter suggestions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's more focused on inline suggestions. Tab to accept, and you're off to the races. It often predicts the next logical line of code based on the developer's style, which can significantly speed up coding tasks.&lt;/p&gt;

&lt;p&gt;Need options? Hit &lt;code&gt;Alt+]&lt;/code&gt; or &lt;code&gt;Alt+[&lt;/code&gt; to cycle through different suggestions, or &lt;code&gt;Ctrl+Enter&lt;/code&gt; to see multiple alternatives in a new tab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code generation
&lt;/h2&gt;

&lt;p&gt;This is where things get interesting. Imagine describing what you want your code to do, and boom — it's there.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor has this thing called Composer that can create entire applications based on your description. It's looking at your whole project when it generates code, so it tries to match your style. You can access it with &lt;code&gt;⌘ + I&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For inline generation, boilerplate code and edits, you can use the &lt;code&gt;⌘ + K&lt;/code&gt; feature. Impressively, it can work with multiple programming languages within the same project, adapting its suggestions accordingly.&lt;/p&gt;



&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Similar to Cursor’s Composer, Windsurf has this thing called Cascade with a write mode. You can use it to generate new code or change existing stuff. What's neat is that it keeps track of what you're doing in real-time.&lt;/p&gt;

&lt;p&gt;For instance, if you rename a variable, it'll catch that and help you update it everywhere else in your project. Just type &lt;em&gt;continue&lt;/em&gt; and it'll do its thing. For inline generation, boilerplate code and edits, you can use the Codeium Command feature &lt;code&gt;⌘ + K&lt;/code&gt; .&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's more about those inline suggestions, but Copilot Chat can handle bigger chunks of code if you ask it nicely. The CLI can also generate code if you describe what you want in plain English.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chat
&lt;/h2&gt;

&lt;p&gt;Sometimes you just need to ask a question. But is chatting with an AI actually helpful?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's chat (&lt;code&gt;⌘ + L&lt;/code&gt;) is context-aware, so it knows what you're working on. You can also drag and drop folders into Chat to provide additional context and apply code suggestions right from the chat, which is neat. It even supports images for visual context.&lt;/p&gt;



&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf’s Cascade has a Chat mode (&lt;code&gt;⌘ + L&lt;/code&gt;) that is designed specifically for asking questions about your codebase and exploring general coding principles. What sets it apart is its real-time awareness of your actions — no need to repeatedly explain your context.&lt;/p&gt;

&lt;p&gt;It works with uploaded images (up to 1MB) when using GPT-4 or Claude 3.5 Sonnet, and includes Memories to persist context across conversations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;GitHub Copilot Chat is similar — you can ask it to explain code or suggest improvements. It's integrated right into VS Code, so it feels pretty seamless. They've been rolling out some new features lately, like better chat history, drag and &amp;amp; folders and ways to attach more context. But if you're already using Cursor, you might not find anything groundbreaking here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminal
&lt;/h2&gt;

&lt;p&gt;Terminal work can be a pain, especially with complex commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor extends its AI smarts to the terminal with &lt;code&gt;⌘ + K&lt;/code&gt;. It's pretty handy for translating vague ideas into actual commands. However, it hijacks the terminal's clear shortcut, which is just kind of annoying.&lt;/p&gt;



&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Simply press &lt;code&gt;⌘ + I&lt;/code&gt; in the terminal and describe what you want to do in plain English. You can express your intent naturally and let Codeium Command translate it into the correct command syntax.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's got a slick terminal integration that lets you just hit &lt;code&gt;⌘ + I&lt;/code&gt;, type what you want, and get the command you need. No need to be a bash wizard anymore — just describe what you want to do in plain English, hit enter, and you're good to go. The &lt;code&gt;⌘ + enter&lt;/code&gt; shortcut to run the suggested command is very handy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context awareness
&lt;/h2&gt;

&lt;p&gt;This is a big one. Can these tools actually understand your whole project, or are they just looking at the current file?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's pretty impressive here. It looks at your entire codebase and project structure. You can even use &lt;code&gt;@&lt;/code&gt; symbols to reference specific parts of your project, like &lt;code&gt;@Files&lt;/code&gt;, &lt;code&gt;@Folders&lt;/code&gt;, &lt;code&gt;@Code&lt;/code&gt;, and more.&lt;/p&gt;



&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf's got this thing called Cascade Memories that helps it remember stuff between sessions. So it's not starting from scratch every time you open your editor. Cascade also figures out what dev environment you're using, like what packages and tools you've got installed.&lt;/p&gt;

&lt;p&gt;And if there are specific bits of code you want it to pay extra attention to, you can pin directories, files, repositories, or code context items — like functions or classes — as persistent context. Models reference these items for every suggestion, across Autocomplete, Chat, and Command.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's pretty smart about context too. It looks at your open files to figure out what's going on and can pick up cues from your imports, comments, and function names. Use &lt;code&gt;#&lt;/code&gt; to reference files or use the &lt;strong&gt;Attach Context&lt;/strong&gt; button to pick exactly what you want Copilot to consider.&lt;/p&gt;



&lt;h2&gt;
  
  
  Multi-file support
&lt;/h2&gt;

&lt;p&gt;Support for working across multiple files enables AI assistants to understand and modify complex project structures.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's Composer can make changes across your entire project, which is pretty powerful. It understands how different files and components relate to each other. Composer can generate files for an entire app at once. I’ve personally used the feature to refactor a single file into more organized files and folders.&lt;/p&gt;

&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf’s Cascade also offers multi-file edits through context awareness, tool integration, and iterative problem-solving. The developer experience with multi-file is very clean and something I liked more than Cursor’s.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's latest addition is its Edits feature. Just define your working set of files, describe what you want in plain English, and watch Copilot make changes across multiple files. You can review each change, accept what works, and iterate until you get it right.&lt;/p&gt;

&lt;p&gt;In our testing, we found the feature to be surprisingly slow, sometimes getting stuck in infinite loading states or making incorrect file changes.&lt;/p&gt;

&lt;p&gt;Pro tip: manually specify your files instead of relying on automatic detection — it's more work, but you'll get more reliable results.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;AI agent&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;This is about having an AI assistant that can take control of your editor – running commands, managing files, and handling project-wide tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Cursor&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In Composer, press &lt;code&gt;⌘.&lt;/code&gt; and you've got yourself Cursor Agent, a super-powered AI assistant. It'll automatically grab context, run terminal commands, handle files, and even do semantic code search.&lt;/p&gt;

&lt;p&gt;The catch? It only works with Claude models, and each operation counts against your quota. But when you need to get things done fast, it's an absolute game-changer.&lt;/p&gt;



&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf’s “Flow” technology allows the AI to maintain perfect sync with your workspace in real-time, enabling it to both assist and work independently on complex tasks without needing context updates. It's a more fluid way of collaborating with AI across your project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Copilot&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Nothing quite like this in Copilot's toolkit yet. While Copilot Chat can handle some similar tasks, it doesn't have the same level of integrated project-wide assistance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code review
&lt;/h2&gt;

&lt;p&gt;We all benefit from a fresh perspective sometimes. AI-powered code review can provide automated feedback on code quality, potential bugs, and adherence to best practices.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's new bug finder is pretty neat. It scans your code and branch changes against main, rating each potential bug it finds. One click and it'll fix things right in your editor. There's a catch though – you'll pay per click (we're talking a dollar or more each time).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F4edde6a74e7c422a8dd7741d5835894d%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F4edde6a74e7c422a8dd7741d5835894d%3Fwidth%3D705" alt="Cursor's bug finder showing a bug report that explains in a paragraph what's causing the bug along with an indicator of its confidence in the explanation. In this example, it explains some missing (but expected) code with a confidence rating of 100%." width="705" height="567"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf doesn’t have a dedicated feature to review your code. However, you can use Cascade to pair program and identify and potential issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's just rolled out a code review feature that's pretty sweet (though still in limited release). Hit the review button in your Source Control tab, and it'll check your staged or unstaged changes. It drops suggestions right inline in your code that you can apply with one click. Skip what you don't like, accept what you do – simple as that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Customization
&lt;/h2&gt;

&lt;p&gt;One size doesn't fit all in coding. Can you bend these tools to fit your specific needs, or are you stuck with what they give you?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor lets you set custom instructions through settings and &lt;code&gt;.cursorrules&lt;/code&gt; files. You can tailor it to your project's specific needs. You can take this to the next level by using Cursor Notepads which allow you to create reusable contexts for your development workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Cascade offers flexible customization through both global and workspace-specific rules. Global rules can be set via the &lt;code&gt;global_rules.md&lt;/code&gt; file and apply across all workspaces. For project-specific customization, you can create a &lt;code&gt;.windsurfrules&lt;/code&gt; file in your workspace.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot supports custom instructions through a &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; file, similar to Cursor's approach. This lets you specify your coding preferences and conventions, which Copilot will follow when generating code.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;AI commit messages&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Let's see how these tools handle git commits.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Cursor&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;AI-generated commit messages might not sound like much, but it saves me a couple of minutes every day and reduces the mental load of coming up with good commit messages. Now, Cursor does have this habit of being a bit...wordy with its commit messages. You can tweak that behavior by adding some instructions in the &lt;code&gt;.cursorrules&lt;/code&gt; file.&lt;/p&gt;



&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf has no support for AI generated commit messages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Copilot&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Copilot does this pretty nice by default. Just hit the auto-generate commit message button and you're good to go. I've found their messages to be cleaner and more concise compared to Cursor's, though you'll probably still want to give them a quick review before committing.&lt;/p&gt;

&lt;h2&gt;
  
  
  IDE integration
&lt;/h2&gt;

&lt;p&gt;Nobody wants to switch between a bunch of tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor is its own thing — it's built on top of VS Code, so it'll feel familiar if you're used to that.&lt;/p&gt;

&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf is in a similar boat. It’s built on top of VS Code and will feel familiar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot on the other hand integrates with various IDEs — VS Code, IntelliJ, Neovim. The CLI works in any terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor offers a range of models, including GPT-4o, o1, Claude 3.5 Sonnet, and their custom cursor-small model. You can choose based on what you need — speed or capability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Cascade provides a Base Model (Llama 3.1 70B) for all users, optimized for speed and accuracy. Paying users get access to the Premier Model (Llama 3.1 405B) for highest performance, plus GPT-4 and Claude 3.5 Sonnet with image support. Models can be switched via the selection menu below chat.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot has expanded its model offerings significantly. You can now choose between different models including Claude 3.5 Sonnet, o1, and GPT-4o. This flexibility lets you optimize for different tasks – whether you need quick code completions or more complex reasoning and understanding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Let's talk money. How do their pricing models compare?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor has a free Hobby tier with limited features, a Pro tier for $20/month, and a Business tier for $40/user/month.&lt;/p&gt;

&lt;h3&gt;
  
  
  Windsurf
&lt;/h3&gt;

&lt;p&gt;Windsurf has a free tier with base model access, a Pro tier for $15/month, and a Pro Ultimate tier for $60/month.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot &lt;a href="https://code.visualstudio.com/blogs/2024/12/18/free-github-copilot" rel="noopener noreferrer"&gt;now offers a free tier&lt;/a&gt; with limited features (like 12,000 completions per month), while Pro plans start at $10/month. For teams, there's Business at $19/user/month and Enterprise at $39/user/month.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up: and the winner is...
&lt;/h2&gt;

&lt;p&gt;After diving deep into both Cursor, Windsurf and GitHub Copilot, it's time to pick a champ. And drum roll, please...Cursor takes the crown, though Windsurf makes it a much closer race than you might expect.&lt;/p&gt;

&lt;p&gt;Now, don't get me wrong, both Windsurf and Copilot are solid tools. Copilot is great for quick suggestions across different IDEs, and Windsurf impresses with its polished UI and intuitive workflow. Windsurf's Cascade feature even offers sophisticated real-time collaboration, comprehensive project understanding, and seamless context awareness that rivals Cursor's capabilities.&lt;/p&gt;

&lt;p&gt;Here's why Cursor still edges out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Reliability&lt;/strong&gt;: While both offer similar feature sets, Cursor consistently delivers more accurate and contextually relevant results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power features&lt;/strong&gt;: Small but significant additions like auto-generated commit messages and advanced bug finding capabilities give it an edge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maturity&lt;/strong&gt;: As a more established tool, Cursor has had time to iron out edge cases and optimize its workflows.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The gap between Cursor and Windsurf is narrow and closing fast. While Cursor wins for now based on slightly better overall results and stability, Windsurf's rapid development and polished experience make it a compelling alternative that could easily take the lead with a few refinements. If you want to really push the boundaries of what AI can do for your coding, Cursor is where it's at.&lt;/p&gt;

&lt;p&gt;Of course, the best tool is the one that works for you. So give them all a spin if you can. But if you're asking me? Cursor's still the one to beat right now — just by a smaller margin than you might think.&lt;/p&gt;

&lt;p&gt;If you enjoyed this post, you might also like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;$500 Devin vs $20 Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/windsurf-vs-cursor" rel="noopener noreferrer"&gt;Windsurf vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/train-ai" rel="noopener noreferrer"&gt;Training Your Own AI Model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>githubcopilot</category>
      <category>cursor</category>
      <category>windsurf</category>
    </item>
    <item>
      <title>React + AI Stack for 2025</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Fri, 03 Jan 2025 11:51:31 +0000</pubDate>
      <link>https://dev.to/builderio/react-ai-stack-for-2025-1067</link>
      <guid>https://dev.to/builderio/react-ai-stack-for-2025-1067</guid>
      <description>&lt;p&gt;React's been around for a while now, and it's still going strong. But the tech world doesn't stand still, and AI is shaking things up in a big way.&lt;/p&gt;

&lt;p&gt;Let's talk about what a React + AI stack might look like in 2025. If you're planning a new project or thinking about upgrading your current setup, this might give you some ideas.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Core: React + TypeScript&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fba8fc25932cf4b5ab9a3d304d7f060f4%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fba8fc25932cf4b5ab9a3d304d7f060f4%3Fwidth%3D705" alt="React and Typescript logos" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look, I know some of you still resist &lt;a href="https://www.typescriptlang.org/" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt;, but it's like peanut butter and jelly with React at this point. It catches mistakes early, makes refactoring less painful, supercharges your IDE's autocomplete, and gives new devs on your team built-in docs. Plus, all those fancy AI coding assistants? They work way better with strongly-typed code.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Meta framework: Next.js&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F182d803cd2ae451ebd6854a16c08d69e%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F182d803cd2ae451ebd6854a16c08d69e%3Fwidth%3D705" alt="Next.js logo" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextjs.org/" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt; is the Swiss Army knife of React development. It does everything, and it does it well. It's got full React 19 support, integrated routing and API management, and built-in performance optimizations.&lt;/p&gt;

&lt;p&gt;Now, I'm not saying it's the only option. &lt;a href="https://remix.run/" rel="noopener noreferrer"&gt;Remix&lt;/a&gt; is still awesome for full-stack apps, and there's this new kid on the block called &lt;a href="https://tanstack.com/start/latest" rel="noopener noreferrer"&gt;Tanstack Start&lt;/a&gt; that's doing some cool things so make sure to keep an eye out. And hey, if you just need routing, &lt;a href="https://reactrouter.com/" rel="noopener noreferrer"&gt;React Router&lt;/a&gt; V7 was recently launched.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Styling: Tailwind CSS + shadcn/ui&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F61af470d8a004835adc626d4d0dc9cf8%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F61af470d8a004835adc626d4d0dc9cf8%3Fwidth%3D705" alt="Tailwind and Shadcn logos" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used to be a &lt;a href="https://tailwindcss.com/" rel="noopener noreferrer"&gt;Tailwind&lt;/a&gt; skeptic, but experience changed my mind. Pair it with &lt;a href="https://ui.shadcn.com/" rel="noopener noreferrer"&gt;shadcn/ui&lt;/a&gt; and you've got a styling powerhouse. AI tools can generate precise Tailwind classes, shadcn/ui gives you accessible components out of the box, your bundle stays optimized, and you can prototype and iterate quickly while keeping designs consistent.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Client-state management: Zustand&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For client-side state, &lt;a href="https://zustand-demo.pmnd.rs/" rel="noopener noreferrer"&gt;Zustand&lt;/a&gt; is the way to go. It's got zero boilerplate, a tiny bundle size, and a simple but powerful API that's easy to learn. You can create a store with just a few lines of code, which is pretty neat.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Server-state management: TanStack Query&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://tanstack.com/query/latest" rel="noopener noreferrer"&gt;TanStack Query&lt;/a&gt; handles all the annoying parts of server state. It auto-refreshes data, has smart caching that actually works, handles real-time updates without headaches, does optimistic updates that feel magical, and has devtools that'll make you wonder how you ever lived without them.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Animation: Motion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For animations in React, &lt;a href="https://motion.dev/" rel="noopener noreferrer"&gt;Motion&lt;/a&gt; is your best bet. It's got declarative animations that are easy to understand, gesture support that just works, advanced features like shared layout animations, and it's perfect for everything from simple transitions to complex motion designs.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Testing: Vitest, React Testing Library &amp;amp; Playwright&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We're not skimping on testing. Here's the trifecta: &lt;a href="https://vitest.dev/" rel="noopener noreferrer"&gt;Vitest&lt;/a&gt; is faster than &lt;a href="https://jestjs.io/" rel="noopener noreferrer"&gt;Jest&lt;/a&gt; and works with ES modules out of the box. &lt;a href="https://testing-library.com/docs/react-testing-library/intro/" rel="noopener noreferrer"&gt;React Testing Library&lt;/a&gt; is still great for component testing, helping you catch accessibility issues and test like a user would. For end-to-end testing, &lt;a href="https://playwright.dev/" rel="noopener noreferrer"&gt;Playwright&lt;/a&gt; is awesome, handling multiple browsers, visual testing, network stuff, and mobile device emulation without the flaky tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Table: TanStack Table&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you're doing anything with tables, &lt;a href="https://tanstack.com/table/latest" rel="noopener noreferrer"&gt;Tanstack Table&lt;/a&gt; is a must. It's got type-safe tables, virtual scrolling for tons of data, sorting and filtering that are easy to use, flexible column setups, and it performs amazingly well even with massive datasets.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Forms: React Hook Form&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Forms in React used to be a pain, but not with &lt;a href="https://www.react-hook-form.com/" rel="noopener noreferrer"&gt;React Hook Form&lt;/a&gt;. It's built for speed, makes validation a breeze when using Zod, works great with TypeScript, has a tiny bundle size, and an API that's actually intuitive.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Database: Supabase&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://supabase.com/" rel="noopener noreferrer"&gt;Supabase&lt;/a&gt; has evolved into a full-blown backend with some cool AI features. It's got vector similarity search for AI stuff, built-in support for storing embeddings, can turn plain English into SQL (yeah, really), has real-time subscriptions that just work, and edge functions for when you need to do AI processing close to your users.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Mobile development: React Native&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://reactnative.dev/" rel="noopener noreferrer"&gt;React Native&lt;/a&gt; is the powerhouse for cross-platform mobile development. Write once, run everywhere, get native performance when you need it, enjoy hot reloading for rapid development, tap into a huge ecosystem of libraries and tools, and integrate with native modules when you need platform-specific features.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Component development: Storybook&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://storybook.js.org/" rel="noopener noreferrer"&gt;Storybook&lt;/a&gt; is essential for building and testing components in isolation. It's perfect for component-driven development, has a built-in testing environment, generates great documentation, supports visual regression testing, and has collaboration features for designers and developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Hosting: Vercel&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vercel.com/" rel="noopener noreferrer"&gt;Vercel&lt;/a&gt; is the go-to for hosting React apps. You can deploy without thinking about it, use edge functions for extra speed, get built-in analytics that are actually useful, and it works like a dream with Next.js. Plus, your app is fast everywhere thanks to their global CDN.&lt;/p&gt;

&lt;p&gt;Now, here's where things get interesting. These tools cost money, but they're worth it:&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Design to code: Visual Copilot&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F7c292e6362f2481b9d14452eba6cdb6d%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F7c292e6362f2481b9d14452eba6cdb6d%3Fwidth%3D705" alt="Builder.io Visual Copilot. Design to code, automated." width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; is an AI-powered design-to-code Figma plugin that turns your Figma designs into React code for with just one click. You can choose your styling library (like Tailwind or Styled Components), map your own components (like MaterialUI), and it'll generate code that actually fits your project. You can tweak the generated code with custom prompts, and it learns your coding style if you feed it some of your code samples.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;AI code editor: Cursor&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fa4aac8f63be44006b52d5dc8150f98ae%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fa4aac8f63be44006b52d5dc8150f98ae%3Fwidth%3D705" alt="Cursor homepage. The AI Code Editor. " width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; makes coding feel like you've got superpowers. It doesn't just suggest code; it understands your whole project. The Tab feature is like mind-reading for code completion, while ⌘ K is your on-demand coding wizard. It's got a smart terminal, context-aware chat, and can even generate entire apps with its Composer feature. Cursor can even index and learn the docs of your favourite React libraries. It is particularly great at generating React + TypeScript + Tailwind CSS code.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Prompt to build: Bolt&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe239342f53be4b7daec6713d5bcd8ebf%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe239342f53be4b7daec6713d5bcd8ebf%3Fwidth%3D705" alt="Bolt dashboard" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bolt.new/" rel="noopener noreferrer"&gt;Bolt&lt;/a&gt; is a browser-based development platform that's pretty wild. It turns your words into working React apps. You just describe what you want, and boom – you've got a full-stack application right in your browser. No need to set up a local environment or fiddle with complicated tools. It's got some neat tricks: real-time preview as you work, automated debugging, and one-click deployment to places like Netlify. You can go from idea to live app without ever leaving your browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Wrapping up&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;So there you have it - the React + AI stack for 2025. Is it overkill for some projects? Probably. But if you're building something serious and want to leverage all the cool AI stuff out there, this stack is hard to beat.&lt;/p&gt;

&lt;p&gt;Remember, the best tools are the ones you actually use. So don't feel like you need to adopt everything here all at once. Start small, see what works for you, and build from there.&lt;/p&gt;

&lt;p&gt;If you enjoyed this post, you might also like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/convert-figma-to-react-code" rel="noopener noreferrer"&gt;Convert Figma designs to React code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/cursor-vs-github-copilot" rel="noopener noreferrer"&gt;GitHub Copilot vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;$500 Devin vs $20 Cursor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>react</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Cursor AI: 5 Advanced Features You're Not Using</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Wed, 18 Dec 2024 11:50:21 +0000</pubDate>
      <link>https://dev.to/builderio/cursor-ai-5-advanced-features-youre-not-using-5ei2</link>
      <guid>https://dev.to/builderio/cursor-ai-5-advanced-features-youre-not-using-5ei2</guid>
      <description>&lt;p&gt;If you've been using &lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor AI&lt;/a&gt; code editor, you're probably already blown away by tab completion, code generation, chat, and the composer. These features alone can make you feel like you've got superpowers.&lt;/p&gt;

&lt;p&gt;But here's the thing, there's more. A lot more. Cursor has some seriously cool advanced features that most people aren't using yet. In this post, I'm going to show you five of them.&lt;/p&gt;

&lt;p&gt;If you're new to Cursor, check out my posts on &lt;a href="https://www.builder.io/blog/cursor-ai-for-developers" rel="noopener noreferrer"&gt;Cursor AI for developers&lt;/a&gt; and &lt;a href="https://www.builder.io/blog/cursor-vs-copilot" rel="noopener noreferrer"&gt;Cursor vs. GitHub Copilot&lt;/a&gt; to get up to speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Cursor agent
&lt;/h2&gt;



&lt;p&gt;First up is the Cursor Agent. It's like having a super-smart coding assistant that you can summon with &lt;code&gt;⌘.&lt;/code&gt; (&lt;code&gt;Command + period&lt;/code&gt;). Here's what it can do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pull in context automatically (try &lt;code&gt;@Recommended&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Run terminal commands.&lt;/li&gt;
&lt;li&gt;Create and modify files.&lt;/li&gt;
&lt;li&gt;Do semantic code search.&lt;/li&gt;
&lt;li&gt;Handle file operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Right now, it only works with Claude models, and each tool operation counts as a separate request in your quota.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cursor rules
&lt;/h2&gt;

&lt;p&gt;Next up is the &lt;code&gt;.cursorrules&lt;/code&gt; file. It's a way to give Cursor project-specific instructions. Here's what you need to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Put it in your project's root directory.&lt;/li&gt;
&lt;li&gt;It provides instructions for Cursor Chat and &lt;code&gt;Ctrl/⌘ K&lt;/code&gt; commands.&lt;/li&gt;
&lt;li&gt;It's like the "Rules for AI" in Cursor's settings, but just for your project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s a sample &lt;code&gt;.cursorrules&lt;/code&gt; file you could define in a Next.js project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;You&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;are&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;an&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;expert&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;TypeScript,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Node.js,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Next.js&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;App&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Router,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;React,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Shadcn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;UI,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Radix&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;UI&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Tailwind&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;CSS.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;Code&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Style&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Structure&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Write&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;concise,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;technical&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;TypeScript&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;code&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;accurate&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;examples.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;functional&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;declarative&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;programming&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;patterns;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;avoid&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;classes.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Prefer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;iteration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;modularization&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;over&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;code&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;duplication.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;descriptive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;variable&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;names&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;auxiliary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;verbs&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(e.g.,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;isLoading,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;hasError).&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Structure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;files:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;exported&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;component,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;subcomponents,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;helpers,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;static&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;content,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;types.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;Naming&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Conventions&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;lowercase&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;dashes&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;directories&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(e.g.,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components/auth-wizard).&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Favor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;named&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;exports&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;TypeScript&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Usage&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;TypeScript&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;all&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;code;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;prefer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;interfaces&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;over&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;types.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Avoid&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;enums;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;maps&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;instead.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;functional&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;TypeScript&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;interfaces.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;Syntax&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Formatting&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"function"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;keyword&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;pure&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;functions.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Avoid&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;unnecessary&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;curly&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;braces&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;conditionals;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;concise&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;syntax&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;simple&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;statements.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;declarative&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;JSX.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;UI&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Styling&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Shadcn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;UI,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Radix,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Tailwind&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;styling.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Implement&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;responsive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;design&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Tailwind&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;CSS;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;a&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;mobile-first&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;approach.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;Performance&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Optimization&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Minimize&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;'use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;client',&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;'useEffect',&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;'setState';&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;favor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;React&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Server&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Components&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(RSC).&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Wrap&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;client&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Suspense&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;with&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;fallback.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;dynamic&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;loading&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;non-critical&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Optimize&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;images:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;WebP&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;format,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;include&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;size&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;data,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;implement&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;lazy&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;loading.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;Key&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Conventions&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;'nuqs'&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;URL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;search&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;parameter&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;state&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;management.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Optimize&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Web&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Vitals&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(LCP,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;CLS,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;FID).&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Limit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;'use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;client':&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Favor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;server&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Next.js&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;SSR.&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Use&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;only&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Web&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;API&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;access&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;small&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;components.&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="err"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Avoid&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;fetching&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;state&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;management.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="err"&gt;Follow&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Next.js&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;docs&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Data&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Fetching,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Rendering,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;and&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Routing.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is super useful when you want to give Cursor some context about your project's specific requirements or conventions. It's worth noting that while &lt;code&gt;.cursorrules&lt;/code&gt; is cool, Cursor also has Notepads, which can do even more. Speaking of which...&lt;/p&gt;

&lt;h2&gt;
  
  
  Notepads
&lt;/h2&gt;



&lt;p&gt;Notepads in Cursor are like supercharged sticky notes for your code. They bridge the gap between composers and chat interactions.&lt;/p&gt;

&lt;p&gt;Here's what makes them special:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can share them between different parts of your dev environment&lt;/li&gt;
&lt;li&gt;Reference them using the &lt;code&gt;@&lt;/code&gt; syntax&lt;/li&gt;
&lt;li&gt;Attach files to them&lt;/li&gt;
&lt;li&gt;Use them as dynamic templates for various scenarios&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To create a Notepad in Cursor, click the "&lt;strong&gt;+&lt;/strong&gt;" in the Notepads section, give it a meaningful name, and add any necessary content, context, or files. Reference Notepads in composers or chats using the &lt;code&gt;@&lt;/code&gt; symbol.&lt;/p&gt;

&lt;p&gt;Notepads are great for documenting project architecture decisions, development guidelines, reusable code templates, team-specific rules and frequently referenced materials.&lt;/p&gt;

&lt;p&gt;When you're creating a Notepad, try to use clear headings, markdown for readability, and include examples or file attachments as needed.&lt;/p&gt;

&lt;p&gt;Notepads are still in beta, but they're already a super flexible way to enhance your workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bug finder
&lt;/h2&gt;





&lt;p&gt;Cursor's got this neat new bug finder feature. It's pretty cool, even if it comes with a slightly aggressive warning message and a pay-per-click pricing model (yeah, you might shell out a buck or more just to use it).&lt;/p&gt;

&lt;p&gt;Here's how it works: it scans through all your code and recent changes. If you're on a feature branch, it'll compare that to main, looking for potential bugs.&lt;/p&gt;

&lt;p&gt;For each bug it finds, you get a confidence rating and a quick overview. Then it's just a click to fix it in the editor. Cursor fills in all the details in the prompt and generates updates, just like you're used to.&lt;/p&gt;

&lt;p&gt;It's not perfect, but it's a pretty handy tool to have in your back pocket.&lt;/p&gt;

&lt;h2&gt;
  
  
  @web symbol
&lt;/h2&gt;



&lt;p&gt;With &lt;strong&gt;&lt;code&gt;@Web&lt;/code&gt;&lt;/strong&gt;, Cursor constructs a search query based on the query and the context you’ve provided, and searches the web to find relevant information as additional context. This is particularly useful for finding the most up-to-date information.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;@Web&lt;/code&gt; symbol is like having a research assistant built into Cursor. Here's how it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You give it a query and some context.&lt;/li&gt;
&lt;li&gt;Cursor turns that into a web search.&lt;/li&gt;
&lt;li&gt;It searches the internet for relevant info.&lt;/li&gt;
&lt;li&gt;The search results get added to your query's context.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is super useful when you're working with new tech or anything where you need the latest info.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus: AI commit messages
&lt;/h2&gt;



&lt;p&gt;Here's a little bonus feature: AI-generated commit messages. It might not sound like much, but it saves me a couple of minutes every day and reduces the mental load of coming up with good commit messages.&lt;/p&gt;

&lt;p&gt;Now, Cursor does have this habit of being a bit...wordy with its commit messages. But hey, you can tweak that behavior by adding some instructions in a &lt;strong&gt;&lt;code&gt;.cursorrules&lt;/code&gt;&lt;/strong&gt; file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Convert Figma designs to code in Cursor
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F4e9bdd0f5ba0444e9dad9793872a8734%3Fwidth%3D600" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F4e9bdd0f5ba0444e9dad9793872a8734%3Fwidth%3D600" alt="Builder.io's visual copilot converts figma designs into code" width="600" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's talk about turning Figma designs into code using Builder.io's &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; plugin. It's a game-changer when you're working in Cursor.&lt;/p&gt;

&lt;p&gt;Here's what you can do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Export your Figma design using the Visual Copilot plugin.&lt;/li&gt;
&lt;li&gt;Copy the generated command from Builder.io.&lt;/li&gt;
&lt;li&gt;Paste that command right into Cursor's terminal and generate the code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;From there, you can tell Cursor to add interactivity, animations, event handlers and more. It'll generate all the code you need.&lt;/p&gt;

&lt;p&gt;The result? You get a pixel-perfect UI that uses your components as expected. It's pretty slick. This whole process — from design to functional code — is way faster than doing it manually.&lt;/p&gt;

&lt;p&gt;The best part? This workflow fits right into Cursor's other AI features. You can use the agent to add logic, make your updates and auto-generate a commit message.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Cursor AI FAQ&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here are some commonly asked questions about Cursor AI:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does Cursor work with all programming languages?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pretty much. It's great with the usual suspects like Python, JavaScript, and Java, but it'll work with most languages VS Code supports.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need an OpenAI API key to use Cursor?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nope. Cursor works straight out of the box. No extra setup needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can Cursor handle both easy and hard coding tasks?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Absolutely! It'll help with simple functionality, but it can also tackle bigger jobs like refactoring huge codebases or writing entire functions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is Cursor good for beginners?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Definitely. If you're just starting out, its AI assistance can help explain concepts, suggest best practices, and help you learn as you go.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How does Cursor deal with existing code?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pretty well, actually. It can understand and work with code you've already written. It can help you manipulate code, refactor, and even explain complex sections of your codebase&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can Cursor make a whole app from scratch?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's not magic — it can't conjure up a full app out of thin air. But it can speed things up a lot. With the right prompts, you can go from a simple idea to basic working app pretty quick.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Will Cursor mess with my existing workflow?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cursor is designed to seamlessly fit into your development process. It's built on top of VS Code, so if you're used to that, you'll be fine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can Cursor help with unit testing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes, Cursor can assist in writing and improving unit tests. It can suggest test cases, help with test setup, and even identify areas of your code that might need better test coverage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the pricing options for Cursor?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cursor offers a free Hobby tier with limited features, a Pro tier at $20/month with expanded capabilities, and a Business tier at $40 per user/month for advanced features and team management.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>productivity</category>
      <category>cursor</category>
    </item>
    <item>
      <title>AI Pair Programming in 2025: The Good, Bad, and Ugly</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Mon, 16 Dec 2024 13:00:10 +0000</pubDate>
      <link>https://dev.to/builderio/ai-pair-programming-in-2025-the-good-bad-and-ugly-546j</link>
      <guid>https://dev.to/builderio/ai-pair-programming-in-2025-the-good-bad-and-ugly-546j</guid>
      <description>&lt;p&gt;AI in programming isn't some far-off sci-fi dream anymore. With tools like &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt;, you can &lt;a href="https://www.builder.io/blog/figma-to-code-ai" rel="noopener noreferrer"&gt;convert Figma designs into code&lt;/a&gt; in one click or &lt;a href="https://www.builder.io/blog/cursor-ai-for-developers" rel="noopener noreferrer"&gt;prototype features in a minute&lt;/a&gt; using &lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt;. What began as basic code completion is now reshaping how we build software, offering context-aware code completions and even assisting with complex architecture.&lt;/p&gt;

&lt;p&gt;AI has become as common in our IDEs as syntax highlighting. And just like any major shift in tech, it's bringing a mix of exciting possibilities and potential challenges.&lt;/p&gt;

&lt;p&gt;Let’s explore what’s working, what’s not, and what’s downright concerning about AI pair programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  The good
&lt;/h2&gt;



&lt;p&gt;When it works, AI pair programming tools can be pretty sweet:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Speed boost:&lt;/strong&gt; AI can instantly provide accurate code suggestions, handle code generation, and even implement entire functions based on natural language descriptions. Software developers focused on writing code can ship faster than ever before.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleaner code:&lt;/strong&gt; Large Language Models (LLM) have been trained on a vast amounts of public code. They can suggest patterns that improve code quality and make your code cleaner and easier to maintain thereby reducing time spent debugging code. AI tools are particularly helpful when working with multiple files in complex projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning on the job:&lt;/strong&gt; Junior developers can learn best practices in real-time as AI powered code assistants explain their suggestions. Even experienced developers working in multiple languages can discover new patterns and techniques without spending hours reading documentation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost-effective (maybe):&lt;/strong&gt; While the initial investment might make your CFO nervous, over time, organizations are seeing reductions in their software development lifecycle and fewer bugs in production.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Goodbye, grunt work:&lt;/strong&gt; Repetitive coding tasks like writing unit tests, CRUD operations, and documentation can be delegated to AI, letting you focus on the more creative aspects of software development.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The bad
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F2dd5c8da508c46cba8d045278f9cfed7%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F2dd5c8da508c46cba8d045278f9cfed7%3Fwidth%3D705" alt="AI has limitations; a user prompts an AI to write a deep clone function and it returns bad code" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI pair programming has its perks, but it also brings along some challenges to watch out for:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Over-reliance:&lt;/strong&gt; It’s tempting to let the AI coding assistant handle everything, but this can lead to a shallow understanding of the codebase. If you're just accepting every piece of AI generated code into your existing code base without understanding the logic, you’ll face serious issues when things inevitably break.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning curve:&lt;/strong&gt; Knowing how to interact with your AI pair programmer, when to trust its suggestions, and when to ignore them is a skill in itself. “You get what you prompt” is the rule, and there’s no shortcut around it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contextual limitations:&lt;/strong&gt; Even advanced language models can struggle with domain-specific challenges, complex business logic, or new algorithms. When this happens, the code written by AI might be irrelevant or even counterproductive, slowing down progress.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy concerns:&lt;/strong&gt; Many organizations are grappling with how to leverage artificial intelligence capabilities without compromising intellectual property. The potential for code snippets to be used in training future AI models raises serious questions about ownership and confidentiality.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The ugly
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F127b481ca1a44cb5813bca5ffdd29b84%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F127b481ca1a44cb5813bca5ffdd29b84%3Fwidth%3D705" alt="GitHub Copilot auto complete suggesting the logic for woman's salary" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mastodon.social/@gvwilson/113549897292144975" rel="noopener noreferrer"&gt;source&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Certain aspects of AI pair programming reveal deeper, systemic implications:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Job market impact:&lt;/strong&gt; AI can empower senior developers but might leave junior developers without the foundational learning opportunities they need, widening the skill gap and creating barriers to entry for newcomers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ethical implications:&lt;/strong&gt; Questions around code attribution, licensing, and intellectual property rights become increasingly murky when AI generates or assists in code creation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bias perpetuation:&lt;/strong&gt; AI trained on publicly available code and older codebases risks reinforcing outdated practices, ethical biases, and security vulnerabilities present in its training data, along with potentially suggesting discriminatory code patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI agents:&lt;/strong&gt; The evolution of AI agents toward autonomy — moving from reactive assistants to proactive collaborators — is exciting but raises ethical and practical concerns. Autonomous debugging and task execution offer promise, but boundaries must be set for responsible use.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  AI coding tools for pair programming
&lt;/h2&gt;

&lt;p&gt;If you're thinking about diving into AI pair programming, here are some tools that can genuinely make a difference.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;ChatGPT and Claude&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fdf702ae1cc794d00ad1457ccbec570dd%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fdf702ae1cc794d00ad1457ccbec570dd%3Fwidth%3D705" alt="Claude AI's " width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Think of &lt;a href="https://chatgpt.com/" rel="noopener noreferrer"&gt;ChatGPT&lt;/a&gt; and &lt;a href="https://claude.ai/" rel="noopener noreferrer"&gt;Claude&lt;/a&gt; as the Swiss Army knives of coding assistants. Whether you're stuck on a weird bug, need a quick code snippet, or need code explanation that breaks things down like you're five, these tools are there for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GitHub Copilot&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ffd842519e2844f6c92aa67640d889351%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ffd842519e2844f6c92aa67640d889351%3Fwidth%3D705" alt="Statistics from GitHub copilot including one million developers currently using" width="705" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As one of the first AI coding assistants to gain mainstream traction, &lt;a href="https://github.com/features/copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt; transformed the development process by integrating powerful machine learning capabilities directly into &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt; editor. It offers high quality code completions, contextual suggestions based on your project, and support for various programming languages like C++, Python, JavaScript etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Visual Copilot&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3ae4be8081fa45729b4340725845c15d%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3ae4be8081fa45729b4340725845c15d%3Fwidth%3D705" alt="Builder.io's Visual Copilot homepage" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Got a Figma file? &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; turns designs into responsive, production-ready code for HTML, React, Angular, Vue and more—letting you tweak the design or code to suit your needs. Instead of generating UI from scratch, it helps you leverage existing designs to accelerate development and maintain consistency.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Cursor&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F9c771f2c09d54992bc11358a91f00cd6%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F9c771f2c09d54992bc11358a91f00cd6%3Fwidth%3D705" alt="Cursor's AI Homepage" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagine if your IDE got bitten by a radioactive AI. That's &lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt;. With features like built-in AI chat, code completion, AI agent and automated debugging, Cursor redefines how you interact with code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Bolt&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6a409848fbf6456d9e98d69da225c03f%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6a409848fbf6456d9e98d69da225c03f%3Fwidth%3D705" alt="Bolt's AI Homepage" width="705" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you want to build a full-stack web app without the hassle of setting up a local environment, &lt;a href="https://bolt.new/" rel="noopener noreferrer"&gt;Bolt&lt;/a&gt; is your go-to. Just describe what you want, and boom - you've got an app. Plus, you can see what you're building in real-time and deploy it without much fuss.&lt;/p&gt;

&lt;p&gt;These tools aren’t flawless, but they’re designed to help you write better code faster, whether you're debugging, building new features, or transforming designs into functional apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;The future of AI pair programming will not be defined by whether we use AI, but by how we use it. At &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;, we've been messing around with AI tools in our dev process for a while now. We've plugged them into everything from quick prototypes to shipping actual features.&lt;/p&gt;

&lt;p&gt;Has it been a game-changer? Yeah, pretty much. We're moving faster, our code's more consistent, and our devs get to focus on the tricky stuff instead of writing boring boilerplate all day.&lt;/p&gt;

&lt;p&gt;But it hasn't all been smooth sailing. We've learned that AI's great at some things, but it's not about to replace good old human brainpower. It's more like a really smart intern — helpful when you know how to use it, but you wouldn't let it run the whole show.&lt;/p&gt;

&lt;p&gt;The key? Use AI to make your skills better, not to do your thinking for you. At the end of the day, we're still the ones responsible for building stuff that actually solves problems.&lt;/p&gt;

&lt;p&gt;So yeah, the future of coding isn't about AI taking over. It's about figuring out how we can team up with AI to build cooler stuff, faster. And that's pretty exciting, if you ask me.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Figma to React Native: Convert designs to clean code in a click</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Fri, 08 Nov 2024 13:17:06 +0000</pubDate>
      <link>https://dev.to/builderio/figma-to-react-native-convert-designs-to-clean-code-in-a-click-1dpg</link>
      <guid>https://dev.to/builderio/figma-to-react-native-convert-designs-to-clean-code-in-a-click-1dpg</guid>
      <description>&lt;p&gt;Converting Figma designs into React Native code remains a frustrating challenge for developers everywhere. Each Figma file takes many days to convert, making it hard for teams to focus on improving performance and building what truly matters.&lt;/p&gt;

&lt;p&gt;Now, with AI technology becoming more advanced, it's time to leverage it as part of the solution to this challenge. At Builder.io, we've done just that with &lt;a href="https://www.builder.io/m/design-to-code" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt;. In this blog post, we'll explore how converting Figma designs to React Native code using our AI-powered toolchain can save hours of manual work and streamline the workflow for mobile app development.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Figma?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.figma.com/" rel="noopener noreferrer"&gt;Figma&lt;/a&gt; is a collaborative interface design tool with an emphasis on real-time collaboration. It's known for its user-friendly interface and strong design capabilities, making it a favorite among designers. Figma components and design files form the basis for creating pixel-perfect designs and prototypes which are crucial for a seamless handoff to development teams.&lt;/p&gt;

&lt;p&gt;One of Figma's powerful features is its dev mode, which means developers can inspect designs and extract valuable information for implementation. Many teams use Figma to create UI kits and design systems for their projects. Figma's extensibility through plugins further enhances its capabilities, allowing users to customize their workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is React Native?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://reactnative.dev/" rel="noopener noreferrer"&gt;React Native&lt;/a&gt; is an open-source mobile application development framework created by Facebook that enables developers to build mobile apps for iOS and Android using JavaScript and React. It allows for cross-platform development, meaning you can write code once and deploy it on both major mobile platforms, significantly reducing development time and resources. With more than &lt;a href="https://github.com/facebook/react-native" rel="noopener noreferrer"&gt;100k GitHub stars&lt;/a&gt; and a huge community, it is one of the leading frameworks for mobile app development.&lt;/p&gt;

&lt;p&gt;The framework uses native components and the platform's standard rendering APIs, resulting in apps with a native look and feel and generally better performance compared to hybrid apps. React Native leverages the popular React library, making it accessible for web developers familiar with React. It also offers features like hot reloading for real-time code changes and provides JavaScript interfaces for accessing platform-specific APIs, allowing developers to tap into device capabilities like cameras and sensors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Copilot: AI-powered Figma to React Native plugin
&lt;/h2&gt;

&lt;p&gt;At Builder.io, we've created Visual Copilot — an &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;AI-powered Figma to code toolchain&lt;/a&gt; that leverages AI to accurately convert Figma designs into clean, efficient React Native code.&lt;/p&gt;

&lt;h3&gt;
  
  
  One-click conversion
&lt;/h3&gt;



&lt;p&gt;Transform complex Figma designs into high-quality React Native components with just a single click.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;span&gt;&lt;strong&gt;&lt;span&gt;Seamless integration&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;
&lt;/h3&gt;



&lt;p&gt;Getting started is as simple as copying the generated code directly from Visual Copilot into your React Native project — no complex setup or integration required.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;span&gt;Customizable output&lt;/span&gt;
&lt;/h3&gt;



&lt;p&gt;Iterate with custom prompts and structure the code to your preferences post-generation. This feature allows developers to fine-tune the output to match their specific project needs and coding standards.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;span&gt;Styling support&lt;/span&gt;
&lt;/h3&gt;



&lt;p&gt;Visual Copilot supports popular React Native styling solutions like StyleSheet and Tailwind CSS.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;span&gt;Cross-platform compatibility&lt;/span&gt;
&lt;/h3&gt;

&lt;p&gt;Generate code that works seamlessly on both iOS and Android platforms, leveraging React Native's cross-platform capabilities.&lt;/p&gt;

&lt;p&gt;With React and Angular, Visual Copilot also supports mapping components and design tokens in a Figma design file to UI components in code.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Visual Copilot uses AI to generate clean React Native code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F8679812ade334e28827f75b1c207b92c%3Fwidth%3D705" 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%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F8679812ade334e28827f75b1c207b92c%3Fwidth%3D705" alt="How Visual Copilot is built" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The core of Visual Copilot is built on advanced AI models and a specialized compiler:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Initial AI Model&lt;/strong&gt;: Trained on millions of design-to-code data points, our initial model transforms flat design structures into hierarchical code representations, even for complex layouts without auto layout.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Specialized Compiler&lt;/strong&gt;: Our open-source compiler, Mitosis, takes the structured hierarchy from the AI model and compiles it into React Native code, ensuring proper component structure and styling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fine-tuning LLM&lt;/strong&gt;: A finely-tuned Large Language Model (LLM) refines the code to match React Native best practices, your specific styling preferences, and any custom requirements you may have.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This multi-stage process ensures that the generated code is not just functional, but also adheres to best practices and your team's coding standards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Converting Figma designs to React Native code
&lt;/h2&gt;

&lt;p&gt;Getting started with Visual Copilot is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Launch the &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot Figma plugin&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Select a layer in your Figma file and preview the selected layer.&lt;/li&gt;
&lt;li&gt;Click the “Export to code” button.&lt;/li&gt;
&lt;li&gt;Review the generated code in the preview window.&lt;/li&gt;
&lt;li&gt;Copy the code into your React Native project.&lt;/li&gt;
&lt;li&gt;Make any necessary adjustments for specific React Native functionalities or custom requirements.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Best practices for using Figma with Visual Copilot
&lt;/h2&gt;

&lt;p&gt;To get the most accurate and efficient conversions, follow these best practices when designing in Figma:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Use auto layout&lt;/strong&gt;: Implement Figma's auto layout feature to create responsive designs that translate well to React Native's flexbox-based layout system.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Name layers meaningfully&lt;/strong&gt;: Use clear, descriptive names for your layers and components. This helps our AI understand the purpose of each element and generate more accurate code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use components&lt;/strong&gt;: Leverage Figma's component system to create reusable UI elements. This translates well to React Native's component-based architecture.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consider platform differences&lt;/strong&gt;: While designing, keep in mind the differences between iOS and Android. Our tool will try to generate platform-specific code where necessary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Organize your designs&lt;/strong&gt;: Group related elements and use a clear hierarchy in your Figma files. This organization will be reflected in the generated React Native component structure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use vector networks for icons&lt;/strong&gt;: When possible, use vector networks for icons and simple illustrations. These translate more efficiently to React Native's SVG components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Define images explicitly&lt;/strong&gt;: For complex designs, use Figma's export feature to help the AI model recognize elements as an image or an icon.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Minimize overlaps and intersections&lt;/strong&gt;: Align boxes only with related components and avoid unnecessary overlapping to prevent undesired results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avoid translucent effects&lt;/strong&gt;: Stick to fully opaque colors, as transparency can be challenging for AI to interpret accurately.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Visual Copilot represents a significant leap forward in bridging the gap between design and development in the React Native ecosystem. By leveraging AI to automate the conversion of Figma designs to React Native code, we're enabling developers to focus on what truly matters: creating exceptional mobile experiences.&lt;/p&gt;

&lt;p&gt;Whether you're working on a startup MVP or a large-scale enterprise application, Visual Copilot can significantly reduce your development time, streamline your workflow, and help you bring your mobile app ideas to life faster than ever before. We're excited to see how it will transform the mobile development landscape, making the journey from pixel-perfect designs to fully functional React Native apps smoother and more efficient than ever before.&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>figma</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Cursor vs GitHub Copilot</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Wed, 25 Sep 2024 12:54:54 +0000</pubDate>
      <link>https://dev.to/builderio/cursor-vs-github-copilot-5581</link>
      <guid>https://dev.to/builderio/cursor-vs-github-copilot-5581</guid>
      <description>&lt;p&gt;Let's talk about AI coding assistants. They're basically the new hot topic in dev tools, and for good reason. They're designed to help developers write code more efficiently and with fewer errors. They're pretty dang cool.&lt;/p&gt;

&lt;p&gt;While there are quite a few players in this space, let's zoom in on two of the major contenders. In one corner, we've got GitHub Copilot, the established player. In the other, Cursor, the new kid on the block shaking things up. Both are trying to make our lives easier as devs.&lt;/p&gt;

&lt;p&gt;After spending some time with Copilot and Cursor, I thought it might be useful to break down how they stack up against each other. Whether you're curious about trying them out or just want to know what all the fuss is about, stick around. We're going to dig into some of the key features that matter to us as developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Cursor AI&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt; is basically an AI-powered code editor on steroids. It is a fork of &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt;, bringing advanced AI capabilities to a familiar interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;GitHub Copilot&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/features/copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt; is an AI coding assistant developed by GitHub in collaboration with OpenAI. It uses machine learning to generate code suggestions and complete tasks directly in your code editor (Visual Studio Code, Visual Studio, Vim/Neovim, JetBrains IDEs).&lt;/p&gt;

&lt;p&gt;Both Cursor AI and GitHub Copilot offer a range of features designed to enhance productivity and support developers. Let's dive into the specific features and see how these two compare.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%2FTEMP%2F109e96ea21252b82d1e31b1b1b1f63aae2ee6009b7262745e0c6b253fa5e21d2%3FplaceholderIfAbsent%3Dtrue%26width%3D24" alt="exclamation mark"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The August 2024 update to VS Code introduced several new features to GitHub Copilot. However, many of these additions are still in the experimental phase and may not always deliver consistent results yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tab completion
&lt;/h2&gt;

&lt;p&gt;You know that feeling when you're typing and the IDE just &lt;em&gt;gets&lt;/em&gt; what you're trying to do? That's what we're talking about here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's tab completion is pretty wild. It'll suggest multiple lines of code, and it's looking at your whole project to make those suggestions. It even tries to guess where you're going to edit next. Plus, it'll catch and fix mistakes on the fly.&lt;/p&gt;



&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's more focused on inline suggestions. Tab to accept, and you're off to the races. It often predicts the next logical line of code based on the developer's style, which can significantly speed up coding tasks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code generation
&lt;/h2&gt;

&lt;p&gt;This is where things get interesting. Imagine describing what you want your code to do, and boom — it's there.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor has this thing called Composer that can create entire applications based on your description. It's looking at your whole project when it generates code, so it tries to match your style. You can access it with &lt;code&gt;⌘ + I&lt;/code&gt; for a floating window or &lt;code&gt;⌘ + SHIFT + I&lt;/code&gt; for full-screen mode. For inline generation, boilerplate code and edits, you can use the &lt;code&gt;⌘ + K&lt;/code&gt; feature. Impressively, it can work with multiple programming languages within the same project, adapting its suggestions accordingly.&lt;/p&gt;



&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's more about those inline suggestions, but Copilot Chat can handle bigger chunks of code if you ask it nicely. The CLI can also generate code if you describe what you want in plain English.&lt;/p&gt;

&lt;h2&gt;
  
  
  Chat
&lt;/h2&gt;

&lt;p&gt;Sometimes you just need to ask a question. But is chatting with an AI actually helpful?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's chat (&lt;code&gt;⌘ + L&lt;/code&gt;) is context-aware, so it knows what you're working on. You can apply code suggestions right from the chat, which is neat. It even supports images for visual context.&lt;/p&gt;



&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;GitHub Copilot Chat is similar — you can ask it to explain code or suggest improvements. It's integrated right into VS Code, so it feels pretty seamless. They've been rolling out some new features lately, like better chat history and ways to attach more context. But if you're already using Cursor, you might not find anything groundbreaking here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminal
&lt;/h2&gt;

&lt;p&gt;Terminal work can be a pain, especially with complex commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor extends its AI smarts to the terminal with &lt;code&gt;⌘ + K&lt;/code&gt;. It's pretty handy for translating vague ideas into actual commands.&lt;/p&gt;



&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's got a CLI that does something similar. It can generate shell commands based on what you're trying to do, which is pretty cool if you can never remember the exact syntax for that one command you use once a year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Context awareness
&lt;/h2&gt;

&lt;p&gt;This is a big one. Can these tools actually understand your whole project, or are they just looking at the current file?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's pretty impressive here. It looks at your entire codebase and project structure. You can even use @ symbols to reference specific parts of your project, like @Files, @Folders, @Code, and more.&lt;/p&gt;



&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;With the recent update, when using Quick Chat, you can now use the &lt;code&gt;Attach Context&lt;/code&gt; action to attach context like files and symbol to your Copilot request.&lt;/p&gt;



&lt;h2&gt;
  
  
  Multi-file support
&lt;/h2&gt;

&lt;p&gt;Support for working across multiple files enables AI assistants to understand and modify complex project structures.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor's Composer can make changes across your entire project, which is pretty powerful. It understands how different files and components relate to each other. Composer can generate files for an entire app at once. I’ve personally used the feature to refactor a single file into more organized files and folders.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot's more limited here. It's mainly focused on the current file, though it can suggest imports from other files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code review
&lt;/h2&gt;

&lt;p&gt;We all need a second pair of eyes sometimes. AI-powered code review can provide automated feedback on code quality, potential bugs, and adherence to best practices.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor has an AI Review tool that analyzes your changes. It'll give you feedback on code quality, potential bugs, that sort of thing. You can even customize what it looks for.&lt;/p&gt;



&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot doesn't have a dedicated review feature, but you can use Copilot Chat to explain code and suggest improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  IDE integration
&lt;/h2&gt;

&lt;p&gt;Nobody wants to switch between a bunch of tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor is its own thing — it's built on top of VS Code, so it'll feel familiar if you're used to that.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot on the other hand integrates with various IDEs — VS Code, IntelliJ, Neovim. The CLI works in any terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  Customization
&lt;/h2&gt;

&lt;p&gt;One size doesn't fit all in coding. Can you bend these tools to fit your specific needs, or are you stuck with what they give you?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor lets you set custom instructions through settings and &lt;code&gt;.cursorrules&lt;/code&gt; files. You can tailor it to your project's specific needs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;A recent experimental setting lets you define a set of instructions that are added to every Copilot request that generates code but seems to be flaky at the moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor offers a range of models, including GPT-4, Claude 3.5 Sonnet, and their custom cursor-small model. You can choose based on what you need — speed or capability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot uses OpenAI's Codex model. They're always updating it, but you don't get to choose which model you're using. The latest model integrated is OpenAI o1-preview.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;Let's talk money. How do their pricing models compare?&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor has a free Hobby tier with limited features, a Pro tier for $20/month, and a Business tier for $40/user/month.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Copilot is $10/month or $100/year for individuals. They've got enterprise pricing too if you're part of a bigger org.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up: and the winner is...
&lt;/h2&gt;

&lt;p&gt;After diving deep into both Cursor and GitHub Copilot, it's time to pick a champ. And drum roll, please...Cursor takes the crown. Its unique features make it a hard sell to beat in the world of AI-assisted coding.&lt;/p&gt;

&lt;p&gt;Now, don't get me wrong, Copilot is a solid tool. It's great for quick suggestions and it plays nice with a bunch of different IDEs. But Cursor? It's just operating on another level.&lt;/p&gt;

&lt;p&gt;Here's why Cursor wins out:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Project-wide smarts: Cursor doesn't just look at your current file, it understands your entire project. That's huge.&lt;/li&gt;
&lt;li&gt;Composer: Being able to generate entire app structures or orchestrate changes across multiple files? That's some next-level stuff.&lt;/li&gt;
&lt;li&gt;Customization: With Cursor, you can tailor the AI to your specific needs. That .cursorrules file is a game-changer.&lt;/li&gt;
&lt;li&gt;AI review: Having an AI that can review your code changes and give you feedback? That's like having a tireless senior dev on your team.&lt;/li&gt;
&lt;li&gt;Model choices: Cursor lets you pick the AI model that fits your needs. Sometimes you need the big guns, sometimes you need speed. Cursor's got you covered either way.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Copilot is still a powerful tool, and if you're looking for something that's easy to integrate into your existing workflow, it might be the way to go. Its code completion capabilities are certainly impressive. But if you want to really push the boundaries of what AI can do for your coding, Cursor is where it's at.&lt;/p&gt;

&lt;p&gt;Of course, the best tool is the one that works for you. So give them both a spin if you can. But if you're asking me? Cursor's the one to beat right now.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>githubcopilot</category>
      <category>programming</category>
    </item>
    <item>
      <title>Convert Figma to Code with AI</title>
      <dc:creator>Vishwas</dc:creator>
      <pubDate>Tue, 24 Sep 2024 12:38:55 +0000</pubDate>
      <link>https://dev.to/builderio/convert-figma-to-code-with-ai-h4f</link>
      <guid>https://dev.to/builderio/convert-figma-to-code-with-ai-h4f</guid>
      <description>&lt;p&gt;What if the world of development could change so that designers dedicate their expertise solely to design, without worrying about the pixel-perfect accuracy of the final product?&lt;/p&gt;

&lt;p&gt;What if developers could spend their time improving the app's core functions, making it run smoother, and adding new features, rather than being bogged down by the task of turning designs into working code?&lt;/p&gt;

&lt;p&gt;What if businesses could operate in a way where meeting project timelines is the norm, not the exception, devoid of the usual delays and extra work that typically accompany the design-to-code process?&lt;/p&gt;

&lt;p&gt;At Builder.io, we're turning these "what ifs" into reality with our AI-powered tool, &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt;. This blog post will guide you through how Visual Copilot transforms the workflow for designers and developers, making the journey from concept to product smoother and more efficient.&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Copilot: AI-powered Figma to code plugin
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F77e66d0b69d745d290f369aac1163470%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F77e66d0b69d745d290f369aac1163470%3Fwidth%3D705" alt="Visual Copilot"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visual Copilot is an AI-powered Figma to code toolchain that leverages AI models and an open-source compiler, Mitosis, to transform flat designs into code hierarchies, refined by an LLM for framework and styling preferences.&lt;/p&gt;

&lt;p&gt;With Visual Copilot, you can convert Figma designs into React, Vue, Svelte, Angular, Qwik, Solid, React Native or HTML code in real-time, with one click on the Figma plugin. It uses your choice of styling library, including plain CSS code, Tailwind, Emotion, Styled Components and you can use AI to iterate the code for your preferred CSS library or JavaScript meta-framework (such as Next.js).&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Copilot features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  One-click conversion
&lt;/h3&gt;



&lt;p&gt;With just one click, Visual Copilot turns your Figma designs into high quality code for your chosen framework and styling solution. Instead of spending time creating and iterating on prototypes, Visual Copilot enables teams to leap directly to generating live, interactive previews of websites. This significantly speeds up app development, enabling a much faster transition from design to a functional webpage or mobile experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bring your own components
&lt;/h3&gt;



&lt;p&gt;With Visual Copilot, you can leverage the component mapping feature to create a direct link between the design components in your Figma file and their corresponding code components ensuring a consistent output in your projects. Going from Figma to code should not just be about translating designs into code; it should be about translating them into &lt;em&gt;your&lt;/em&gt; code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Automatic responsiveness
&lt;/h3&gt;



&lt;p&gt;Visual Copilot automatically adjusts components to fit all screen sizes, removing manual adjustments for mobile responsiveness. Even if your designs don't strictly follow Figma's auto-layout conventions, Visual Copilot intelligently interprets and adapts your designs as the screen size changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Framework and styling support
&lt;/h3&gt;



&lt;p&gt;Visual Copilot works with React, Vue, Svelte, Angular, Qwik, Solid, and HTML, and integrates smoothly with CSS, Tailwind, Emotion, Styled Components, and Styled JSX. It supports multiple frameworks, ensuring the generated code is clean, readable, and integrates seamlessly into your existing codebase.&lt;/p&gt;

&lt;h3&gt;
  
  
  Customizable code
&lt;/h3&gt;



&lt;p&gt;After code generation, you can refine it with custom prompts to align with your preferences, ensuring consistency in your codebase, whether it's using specific components or iterating hard-coded content to use props.&lt;/p&gt;

&lt;h3&gt;
  
  
  Match your style
&lt;/h3&gt;



&lt;p&gt;Visual Copilot isn't just about converting designs to clean code; it's about making the code feel like it's yours. By training the system with your code samples, Visual Copilot ensures the generated code aligns with your unique style and standards, promoting uniformity across your entire codebase.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sync to your codebase
&lt;/h3&gt;



&lt;p&gt;Getting started is as easy as copying the code directly from Visual Copilot — no integration is required. For a smoother workflow, automatically sync the generated code with your codebase, eliminating the need for repetitive copying and pasting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Copy paste designs to Builder
&lt;/h3&gt;



&lt;p&gt;Easily import entire design sections or individual components into Builder with a simple copy from Figma and paste, maintaining a smooth workflow as your designs evolve. This feature is engineered for spontaneous design iterations simplifying the handoff process from designers to developers is smooth.&lt;/p&gt;

&lt;h3&gt;
  
  
  Component set generation (coming soon)
&lt;/h3&gt;



&lt;p&gt;Developers can select a component set in Figma (no matter how many variations it has), click a button in the Visual Copilot Figma plugin, and instantly generate a new dynamic component with props in seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prompt to design (coming soon)
&lt;/h3&gt;



&lt;p&gt;With Prompt-to-Design in the Visual Copilot Figma plugin, designers can type a prompt to generate entire pages, layouts, and experiences in Figma using their design system and Figma components. And, it isn’t limited to generating new designs; you can modify existing designs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F86cb85533e5d469e8ffeed519e2a794a%3Fwidth%3D45" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F86cb85533e5d469e8ffeed519e2a794a%3Fwidth%3D45" alt="Light bulb tip icon."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To get on the waitlist for early access, fill out the form &lt;a href="https://www.builder.io/m/accelerate-feature-waitlist" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Convert Figma designs to clean code in a few steps&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Getting started with Visual Copilot is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot Figma plugin&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Select a layer or design in your Figma file.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Generate code&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;Copy the generated code into your project.&lt;/li&gt;
&lt;li&gt;Customize the code to support animations, custom fonts, svgs, or other required functionality with JavaScript.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Visual Copilot in action: design to code conversion examples
&lt;/h2&gt;

&lt;p&gt;The following tutorials demonstrate how designers and developers can easily move from Figma design files to production-ready code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features section in 50 seconds: Figma to HTML + CSS
&lt;/h3&gt;



&lt;h3&gt;
  
  
  Material UI Login card in 60 seconds: MUI Figma components mapped to MUI React components
&lt;/h3&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Builder.io's Visual Copilot is a design and developer-friendly AI tool that significantly accelerates the process of converting Figma designs to code. It fosters a collaborative environment, ensures a seamless transition from design to code, and promotes an efficient web development workflow.&lt;/p&gt;

&lt;p&gt;You can seamlessly export Figma designs into your project's source code quickly and efficiently.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.builder.io/c/docs/visual-copilot" rel="noopener noreferrer"&gt;Explore the docs&lt;/a&gt; to discover more about Visual Copilot's capabilities and how to integrate them into your workflow.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>design</category>
      <category>development</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
