<?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: Vadim Karnopelev</title>
    <description>The latest articles on DEV Community by Vadim Karnopelev (@vadim7j7).</description>
    <link>https://dev.to/vadim7j7</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%2F3759393%2F52d2f03d-6c15-4b46-8671-2d16abaf3710.jpg</url>
      <title>DEV Community: Vadim Karnopelev</title>
      <link>https://dev.to/vadim7j7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vadim7j7"/>
    <language>en</language>
    <item>
      <title>I Built a Website Cloner with AI Agents (And It's Kinda Scary Good)</title>
      <dc:creator>Vadim Karnopelev</dc:creator>
      <pubDate>Thu, 12 Feb 2026 10:45:40 +0000</pubDate>
      <link>https://dev.to/vadim7j7/i-built-a-website-cloner-with-ai-agents-and-its-kinda-scary-good-gb9</link>
      <guid>https://dev.to/vadim7j7/i-built-a-website-cloner-with-ai-agents-and-its-kinda-scary-good-gb9</guid>
      <description>&lt;p&gt;You know that feeling when you see a beautifull website and think "I wish I could build something like that"?&lt;/p&gt;

&lt;p&gt;Yeah, me too. Except I got tired of manually inspecting elements, copying hex codes, and pretending I understand why designers use 47 shades of gray.&lt;/p&gt;

&lt;p&gt;So I built something that does it for me. And honestly? It works better than it should.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem (AKA Why I Did This)
&lt;/h2&gt;

&lt;p&gt;Here's my typical workflow when I see a nice landing page:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open DevTools&lt;/li&gt;
&lt;li&gt;Start copying CSS values&lt;/li&gt;
&lt;li&gt;Get distracted by how messy their code is&lt;/li&gt;
&lt;li&gt;Forget what I was doing&lt;/li&gt;
&lt;li&gt;Give up and use a template&lt;/li&gt;
&lt;li&gt;Hate myself a little&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Sound familiar?&lt;/p&gt;

&lt;p&gt;I wanted something that could just... look at a website and recreate it. Not pixel-perfect (that's what screenshots are for), but structurally accurate with the right design tokens.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Setup
&lt;/h2&gt;

&lt;p&gt;Before we dive in, here's how to get this running (takes like 2 minutes):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Clone the repo&lt;/span&gt;
git clone https://github.com/anthropics/buildmate
&lt;span class="nb"&gt;cd &lt;/span&gt;buildmate

&lt;span class="c"&gt;# 2. Install&lt;/span&gt;
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv
.venv/bin/pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="c"&gt;# 3. Bootstrap your project (pick what you need)&lt;/span&gt;
buildmate nextjs+fastapi /path/to/project                &lt;span class="c"&gt;# Full-stack cloning&lt;/span&gt;
buildmate nextjs+fastapi+scraping /path/to/project       &lt;span class="c"&gt;# Full-stack + multi-page&lt;/span&gt;
buildmate nextjs /path/to/project                        &lt;span class="c"&gt;# Frontend only&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Stack breakdown:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;nextjs&lt;/code&gt; - Frontend (Next.js + Tailwind)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;fastapi&lt;/code&gt; - Backend (FastAPI + SQLAlchemy + JWT auth)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;scraping&lt;/code&gt; - Multi-page site crawling (&lt;code&gt;/clone-site&lt;/code&gt; command)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Enter the Clone Commands
&lt;/h2&gt;

&lt;p&gt;I added three skills (slash commands) that invoke specialized AI agents:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/analyze-site &amp;lt;url&amp;gt;    &lt;span class="c"&gt;# → site-analyzer agent&lt;/span&gt;
/clone-page &amp;lt;url&amp;gt;      &lt;span class="c"&gt;# → ui-cloner + api-generator agents&lt;/span&gt;
/clone-site &amp;lt;url&amp;gt;      &lt;span class="c"&gt;# → all three agents working together&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And here's the kicker - it doesn't just clone the frontend. It generates the &lt;strong&gt;backend too&lt;/strong&gt;. Full-stack cloning with one command.&lt;/p&gt;

&lt;p&gt;Let me show you what they actually do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Clone Cal.com (For Science)
&lt;/h2&gt;

&lt;p&gt;I picked &lt;a href="https://cal.com" rel="noopener noreferrer"&gt;cal.com&lt;/a&gt; because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It's open source (so no weird ethical stuff)&lt;/li&gt;
&lt;li&gt;The design is clean and modern&lt;/li&gt;
&lt;li&gt;Developers actually know what it is&lt;/li&gt;
&lt;li&gt;Their landing page has good variety of components&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 1: Analyze the Site
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/analyze-site https://cal.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;site-analyzer&lt;/code&gt; agent wakes up and does its thing. It's not just taking a screenshot - it's actually understanding the page:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Analyzing https://cal.com...

Extracting:
- Color palette (primary, secondary, accents)
- Typography (fonts, sizes, weights)
- Spacing system (margins, paddings, gaps)
- Component structure (hero, features, testimonials)
- Layout patterns (grid, flex, positioning)

Analysis saved to .agent-pipeline/site-analysis.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here's what the analysis looks like (abbreviated):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Site Analysis: cal.com&lt;/span&gt;

&lt;span class="gu"&gt;## Design Tokens&lt;/span&gt;

&lt;span class="gu"&gt;### Colors&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Primary: #111827 (near black)
&lt;span class="p"&gt;-&lt;/span&gt; Accent: #2563eb (blue)
&lt;span class="p"&gt;-&lt;/span&gt; Background: #ffffff
&lt;span class="p"&gt;-&lt;/span&gt; Text Secondary: #6b7280
&lt;span class="p"&gt;-&lt;/span&gt; Border: #e5e7eb

&lt;span class="gu"&gt;### Typography&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Headings: Cal Sans, Inter (fallback)
&lt;span class="p"&gt;-&lt;/span&gt; Body: Inter
&lt;span class="p"&gt;-&lt;/span&gt; Sizes: 14px, 16px, 18px, 24px, 36px, 48px, 60px

&lt;span class="gu"&gt;### Spacing&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Base unit: 4px
&lt;span class="p"&gt;-&lt;/span&gt; Common gaps: 16px, 24px, 32px, 48px, 64px

&lt;span class="gu"&gt;## Components Identified&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; &lt;span class="gs"&gt;**Navigation**&lt;/span&gt;
&lt;span class="p"&gt;   -&lt;/span&gt; Logo left, links center, CTA right
&lt;span class="p"&gt;   -&lt;/span&gt; Sticky on scroll
&lt;span class="p"&gt;   -&lt;/span&gt; Mobile hamburger menu
&lt;span class="p"&gt;
2.&lt;/span&gt; &lt;span class="gs"&gt;**Hero Section**&lt;/span&gt;
&lt;span class="p"&gt;   -&lt;/span&gt; Large heading with gradient text
&lt;span class="p"&gt;   -&lt;/span&gt; Subheading with muted color
&lt;span class="p"&gt;   -&lt;/span&gt; Two CTA buttons (primary + secondary)
&lt;span class="p"&gt;   -&lt;/span&gt; Product screenshot below
&lt;span class="p"&gt;
3.&lt;/span&gt; &lt;span class="gs"&gt;**Features Grid**&lt;/span&gt;
&lt;span class="p"&gt;   -&lt;/span&gt; 3-column layout
&lt;span class="p"&gt;   -&lt;/span&gt; Icon + title + description pattern
&lt;span class="p"&gt;   -&lt;/span&gt; Hover effects on cards
&lt;span class="p"&gt;
4.&lt;/span&gt; &lt;span class="gs"&gt;**Testimonials**&lt;/span&gt;
&lt;span class="p"&gt;   -&lt;/span&gt; Carousel/slider
&lt;span class="p"&gt;   -&lt;/span&gt; Avatar + quote + name + company
&lt;span class="p"&gt;
5.&lt;/span&gt; &lt;span class="gs"&gt;**Footer**&lt;/span&gt;
&lt;span class="p"&gt;   -&lt;/span&gt; Multi-column links
&lt;span class="p"&gt;   -&lt;/span&gt; Newsletter signup
&lt;span class="p"&gt;   -&lt;/span&gt; Social icons
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent extracts the actual values, not just "it looks blue-ish". These are real design tokens you can use.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Generate the Code
&lt;/h3&gt;

&lt;p&gt;Now the fun part:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/clone-page https://cal.com &lt;span class="nt"&gt;--frontend&lt;/span&gt; nextjs &lt;span class="nt"&gt;--ui&lt;/span&gt; tailwind
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But here's the thing - it doesn't just yolo generate code. First, it shows you a plan:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────────────┐
│                    CLONE GENERATION PLAN                        │
├─────────────────────────────────────────────────────────────────┤
│ Source: https://cal.com                                         │
│ Output: ./                                                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ FRONTEND (Next.js + Tailwind)                                   │
│ ├── Pages: 1 (landing)                                          │
│ ├── Components: 12 (5 sections, 7 UI)                           │
│ └── Output: ./frontend/                                         │
│                                                                 │
│ BACKEND (FastAPI)                                               │
│ ├── Models: 2 (User, Subscription)                              │
│ ├── Endpoints: 5 (auth, subscribe, etc.)                        │
│ └── Output: ./backend/                                          │
│                                                                 │
├─────────────────────────────────────────────────────────────────┤
│ Proceed? [y/n]                                                  │
└─────────────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4jgitvylesqioxzc6nyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4jgitvylesqioxzc6nyw.png" alt=" " width="800" height="1184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You get to review before it writes anything. After confirmation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Generating...

./cloned/
├── frontend/
│   ├── src/
│   │   ├── app/
│   │   │   ├── page.tsx
│   │   │   └── layout.tsx
│   │   ├── components/
│   │   │   ├── ui/
│   │   │   │   └── Button.tsx
│   │   │   └── sections/
│   │   │       ├── Hero.tsx
│   │   │       ├── Features.tsx
│   │   │       └── Testimonials.tsx
│   │   └── hooks/
│   └── package.json
│
└── backend/
    ├── app/
    │   ├── api/routes/
    │   │   └── auth.py
    │   ├── models/
    │   │   └── user.py
    │   └── main.py
    └── pyproject.toml

Done! Frontend: npm run dev | Backend: uvicorn app.main:app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Running What You Cloned
&lt;/h3&gt;

&lt;p&gt;The clone generates the code, but you need to install dependencies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Frontend&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;cloned/frontend
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run dev
&lt;span class="c"&gt;# → http://localhost:3000&lt;/span&gt;

&lt;span class="c"&gt;# Backend (in another terminal)&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;cloned/backend
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s2"&gt;".[dev]"&lt;/span&gt;
docker-compose up &lt;span class="nt"&gt;-d&lt;/span&gt; db   &lt;span class="c"&gt;# Start PostgreSQL&lt;/span&gt;
alembic upgrade &lt;span class="nb"&gt;head&lt;/span&gt;      &lt;span class="c"&gt;# Run migrations&lt;/span&gt;
uvicorn app.main:app &lt;span class="nt"&gt;--reload&lt;/span&gt;
&lt;span class="c"&gt;# → http://localhost:8000&lt;/span&gt;
&lt;span class="c"&gt;# → API docs at http://localhost:8000/api/docs&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Full-stack. One command to generate, a few more to run. I still can't belive it works.&lt;/p&gt;

&lt;p&gt;And here's what it looks like running at &lt;code&gt;localhost:3000&lt;/code&gt;:&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvohi2ku1v379jao18wi6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvohi2ku1v379jao18wi6.png" alt=" " width="800" height="2816"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="http://calcom-clone-experiment.vercel.app" rel="noopener noreferrer"&gt;calcom-clone-experiment.vercel.app&lt;/a&gt; — yes, this is the actual output. I deployed it so you can see for yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source code:&lt;/strong&gt; &lt;a href="https://github.com/vadim7j7/calcom-clone-experiment" rel="noopener noreferrer"&gt;github.com/vadim7j7/calcom-clone-experiment&lt;/a&gt; — the full generated code, unedited.&lt;/p&gt;

&lt;h3&gt;
  
  
  What You Actually Get
&lt;/h3&gt;

&lt;p&gt;Here's the Hero component it generated:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// components/Hero.tsx&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Hero&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;section&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"pt-24 pb-16 px-4 md:px-8 lg:px-16"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"max-w-6xl mx-auto text-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-4xl md:text-5xl lg:text-6xl font-bold text-gray-900 mb-6"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          Scheduling infrastructure
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;for everyone
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-lg md:text-xl text-gray-600 max-w-2xl mx-auto mb-8"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          The open source Calendly alternative. Self-host or let us handle it.
          White-label by design.
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex flex-col sm:flex-row gap-4 justify-center"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"px-6 py-3 bg-gray-900 text-white rounded-lg font-medium hover:bg-gray-800 transition-colors"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            Get Started
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"px-6 py-3 border border-gray-300 rounded-lg font-medium hover:bg-gray-50 transition-colors"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            View Demo
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;section&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&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;Is it pixel-perfect? No. Is it 90% there and actually usable? Yes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Agents Instead of Just... Code?
&lt;/h2&gt;

&lt;p&gt;Good question. Here's why this is a multi-agent thing:&lt;/p&gt;

&lt;h3&gt;
  
  
  The Site Analyzer Agent
&lt;/h3&gt;

&lt;p&gt;This one's job is understanding, not generating. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fetches the page (handles JS rendering if needed)&lt;/li&gt;
&lt;li&gt;Extracts visual patterns&lt;/li&gt;
&lt;li&gt;Identifies component boundaries&lt;/li&gt;
&lt;li&gt;Pulls exact design token values&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Discovers data models and API endpoints&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Creates structured documentation (both JSON and Markdown)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It doesn't write code. It writes a brief for someone who will. And now it looks for backend stuff too - what data the page displays, what API calls it makes, what auth methods exist.&lt;/p&gt;

&lt;h3&gt;
  
  
  The UI Cloner Agent
&lt;/h3&gt;

&lt;p&gt;This one's job is building the frontend. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reads the analysis (not the original site)&lt;/li&gt;
&lt;li&gt;Knows framework-specific patterns&lt;/li&gt;
&lt;li&gt;Generates idiomatic code for your stack&lt;/li&gt;
&lt;li&gt;Applies the design tokens correctly&lt;/li&gt;
&lt;li&gt;Creates proper file structure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Asks for confirmation before generating&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;And it doesn't create giant monolithic components.&lt;/strong&gt; The cloner follows atomic design:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;components/
├── ui/           # Atoms: Button, Card, Input
├── sections/     # Organisms: HeroSection, Features
└── layout/       # Templates: PageLayout
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So when it generates a HeroSection, it imports the Button from &lt;code&gt;ui/&lt;/code&gt; instead of copying button styles inline. You get components you can actually reuse across your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// It generates THIS (reusable)&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../ui/Button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;HeroSection&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Title&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt; &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"lg"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Get Started&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;  &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Reusable! */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// NOT this (copy-paste nightmare)&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;HeroSection&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Title&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"px-6 py-3 bg-indigo-600..."&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;  &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="cm"&gt;/* Duplicated everywhere */&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        Get Started
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&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;Separation of concerns, even for AI agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  The API Generator Agent (New!)
&lt;/h3&gt;

&lt;p&gt;This is the new one. It handles the backend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reads the site analysis (data models, endpoints, auth)&lt;/li&gt;
&lt;li&gt;Generates FastAPI code (Rails and Express coming soon)&lt;/li&gt;
&lt;li&gt;Creates SQLAlchemy models with proper relationships&lt;/li&gt;
&lt;li&gt;Sets up JWT authentication (email + OAuth)&lt;/li&gt;
&lt;li&gt;Generates database migrations with Alembic&lt;/li&gt;
&lt;li&gt;Includes proper Pydantic schemas for validation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The backend it generates isn't a toy - it's production-ready with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Async database operations&lt;/li&gt;
&lt;li&gt;Password hashing (bcrypt)&lt;/li&gt;
&lt;li&gt;Token refresh flows&lt;/li&gt;
&lt;li&gt;CORS configuration&lt;/li&gt;
&lt;li&gt;OpenAPI docs at &lt;code&gt;/api/docs&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why This Matters
&lt;/h3&gt;

&lt;p&gt;If one agent did everything, it would:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Mix up analysis with generation&lt;/li&gt;
&lt;li&gt;Conflate frontend and backend concerns&lt;/li&gt;
&lt;li&gt;Generate inconsistent code&lt;/li&gt;
&lt;li&gt;Be harder to debug when things go wrong&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With three agents, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review the analysis before generating anything&lt;/li&gt;
&lt;li&gt;Generate frontend only (&lt;code&gt;--no-backend&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Generate backend only (&lt;code&gt;--no-frontend&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Swap output formats without re-analyzing&lt;/li&gt;
&lt;li&gt;Debug issues at the right layer&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  All the Formats
&lt;/h2&gt;

&lt;p&gt;The cloner supports pretyt much everything:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;th&gt;What You Get&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;html&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Single index.html (quick prototypes)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;react&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CRA-style components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;nextjs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;App router structure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;native&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;React Native + StyleSheet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;vue&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Single File Components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;svelte&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;.svelte files&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;And UI libraries:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/clone-page &lt;span class="nt"&gt;--format&lt;/span&gt; react &lt;span class="nt"&gt;--ui&lt;/span&gt; tailwind   &lt;span class="c"&gt;# Tailwind CSS&lt;/span&gt;
/clone-page &lt;span class="nt"&gt;--format&lt;/span&gt; react &lt;span class="nt"&gt;--ui&lt;/span&gt; shadcn     &lt;span class="c"&gt;# shadcn/ui&lt;/span&gt;
/clone-page &lt;span class="nt"&gt;--format&lt;/span&gt; react &lt;span class="nt"&gt;--ui&lt;/span&gt; mantine    &lt;span class="c"&gt;# Mantine&lt;/span&gt;
/clone-page &lt;span class="nt"&gt;--format&lt;/span&gt; react &lt;span class="nt"&gt;--ui&lt;/span&gt; chakra     &lt;span class="c"&gt;# Chakra UI&lt;/span&gt;
/clone-page &lt;span class="nt"&gt;--format&lt;/span&gt; react &lt;span class="nt"&gt;--ui&lt;/span&gt; mui        &lt;span class="c"&gt;# Material UI&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same analysis, different output. The agent knows how each library works and generates appropriate code.&lt;/p&gt;

&lt;h2&gt;
  
  
  But Wait, There's More: /clone-site
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;/clone-page&lt;/code&gt; is great for landing pages. But what if you want to clone an entire e-commerce site? Or a SaaS dashboard with 15 different page types?&lt;/p&gt;

&lt;p&gt;That's what &lt;code&gt;/clone-site&lt;/code&gt; is for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/clone-site https://example-store.com &lt;span class="nt"&gt;--depth&lt;/span&gt; 2 &lt;span class="nt"&gt;--max-pages&lt;/span&gt; 20
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It crawls the site, discovers pages, and then does something smart - it &lt;strong&gt;deduplicates shared components&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────────────┐
│                       SITE DISCOVERY                            │
├─────────────────────────────────────────────────────────────────┤
│ Pages Found:                                                    │
│ ├── / (landing)                                                │
│ ├── /products (listing)                                        │
│ ├── /products/:id (detail)                                     │
│ ├── /cart (form)                                               │
│ ├── /checkout (multi-step)                                     │
│ ├── /login (auth)                                              │
│ └── /account/orders (dashboard)                                │
│                                                                 │
│ Shared Components Detected:                                     │
│ ├── Header (all pages)                                         │
│ ├── Footer (all pages)                                         │
│ ├── ProductCard (3 pages)                                      │
│ └── Button (47 instances)                                      │
└─────────────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of generating 47 different buttons, it creates ONE reusable Button component. The output is actually maintainable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clone Site Options
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Limit how deep to crawl&lt;/span&gt;
/clone-site https://example.com &lt;span class="nt"&gt;--depth&lt;/span&gt; 3

&lt;span class="c"&gt;# Only certain sections&lt;/span&gt;
/clone-site https://example.com &lt;span class="nt"&gt;--include&lt;/span&gt; &lt;span class="s2"&gt;"/products/*,/categories/*"&lt;/span&gt;

&lt;span class="c"&gt;# Skip admin pages&lt;/span&gt;
/clone-site https://example.com &lt;span class="nt"&gt;--exclude&lt;/span&gt; &lt;span class="s2"&gt;"/admin/*"&lt;/span&gt;

&lt;span class="c"&gt;# Frontend only (skip backend generation)&lt;/span&gt;
/clone-site https://example.com &lt;span class="nt"&gt;--no-backend&lt;/span&gt;

&lt;span class="c"&gt;# Custom output directory&lt;/span&gt;
/clone-site https://example.com &lt;span class="nt"&gt;--output&lt;/span&gt; ./my-clone/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Real Talk: What It's Good For
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Great For:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Learning&lt;/strong&gt; - See how designs translate to code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prototyping&lt;/strong&gt; - Quick starting points&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client work&lt;/strong&gt; - "Make it look like X" becomes easier&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component inspiration&lt;/strong&gt; - Steal patterns, not pixels&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design system extraction&lt;/strong&gt; - Pull tokens from sites you admire&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Not Great For:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pixel-perfect clones&lt;/strong&gt; - Use Figma for that&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complex interactions&lt;/strong&gt; - Animations need manual work&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic content&lt;/strong&gt; - It clones structure, not functionality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replacing designers&lt;/strong&gt; - Please don't&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Workflow I Actually Use
&lt;/h2&gt;

&lt;p&gt;Here's my real process now:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Find inspiration&lt;/span&gt;
&lt;span class="c"&gt;# Browse Dribbble, land-book, or just cool sites I find&lt;/span&gt;

&lt;span class="c"&gt;# 2. Clone it (with confirmation)&lt;/span&gt;
/clone-page https://site-i-like.com &lt;span class="nt"&gt;--frontend&lt;/span&gt; nextjs &lt;span class="nt"&gt;--ui&lt;/span&gt; tailwind

&lt;span class="c"&gt;# 3. Review the plan, confirm&lt;/span&gt;
&lt;span class="c"&gt;# Agent shows me what it'll generate, I say yes&lt;/span&gt;

&lt;span class="c"&gt;# 4. Customize&lt;/span&gt;
&lt;span class="c"&gt;# This is where the real work begins&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For multi-page sites:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone an entire e-commerce site&lt;/span&gt;
/clone-site https://cool-store.com &lt;span class="nt"&gt;--depth&lt;/span&gt; 2 &lt;span class="nt"&gt;--max-pages&lt;/span&gt; 15

&lt;span class="c"&gt;# Review the plan (pages, components, models, endpoints)&lt;/span&gt;
&lt;span class="c"&gt;# Confirm&lt;/span&gt;

&lt;span class="c"&gt;# Get a full-stack app with:&lt;/span&gt;
&lt;span class="c"&gt;# - Frontend: Next.js with all pages and shared components&lt;/span&gt;
&lt;span class="c"&gt;# - Backend: FastAPI with models, routes, auth&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The clone isn't the final product. It's the starting point that would have taken me a day to set up manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  But Wait, Does It Actually Work?
&lt;/h2&gt;

&lt;p&gt;Here's the thing - generated code is just code. It might have bugs. It might not even compile. That's why Buildmate doesn't stop at generation.&lt;/p&gt;

&lt;p&gt;After cloning, I run the code through the same validation pipeline as any other feature:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Verify the clone actually works&lt;/span&gt;
/verify
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This kicks off the quality gates:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Running quality gates...

TypeScript: Checking types...
  ✓ No type errors

Lint: Running ESLint...
  ⚠ 3 warnings in Hero.tsx
  → Auto-fixing...
  ✓ Fixed

Build: Running next build...
  ✓ Build successful

Tests: Running test suite...
  ⚠ No tests found for new components
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  The Frontend Agents Jump In
&lt;/h3&gt;

&lt;p&gt;If something's broken, you don't have to fix it manually. The &lt;code&gt;grind&lt;/code&gt; agent handles it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/grind
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Grind agent activated...

Issues found:
1. Missing 'use client' directive in Testimonials.tsx
2. Image component not using next/image
3. Unused import in Footer.tsx

Fixing...
  ✓ Added 'use client' to Testimonials.tsx
  ✓ Replaced &amp;lt;img&amp;gt; with &amp;lt;Image&amp;gt; component
  ✓ Removed unused import

Re-running quality gates...
  ✓ All checks pass
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The grind agent knows Next.js patterns. It doesn't just delete the error - it fixes it properly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Want a Code Review Too?
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/review
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;frontend-reviewer&lt;/code&gt; agent looks at the generated code with fresh eyes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Code Review: Cloned Components&lt;/span&gt;

&lt;span class="gu"&gt;### Overall&lt;/span&gt;
Clean component structure. Design tokens applied consistently.

&lt;span class="gu"&gt;### Suggestions&lt;/span&gt;

&lt;span class="gs"&gt;**Hero.tsx**&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Consider extracting gradient colors to tailwind config
&lt;span class="p"&gt;-&lt;/span&gt; Button styles could be a reusable component

&lt;span class="gs"&gt;**Navbar.tsx**&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Mobile menu needs aria-labels for accessibility
&lt;span class="p"&gt;-&lt;/span&gt; Consider usePathname for active link highlighting

&lt;span class="gs"&gt;**Performance**&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Add loading="lazy" to below-fold images
&lt;span class="p"&gt;-&lt;/span&gt; Testimonials carousel could use dynamic import
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you have AI-reviewed, validated code instead of "hope this works" code.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Full Clone-to-Production Flow
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Clone (with confirmation)&lt;/span&gt;
/clone-page https://cal.com &lt;span class="nt"&gt;--frontend&lt;/span&gt; nextjs &lt;span class="nt"&gt;--ui&lt;/span&gt; tailwind

&lt;span class="c"&gt;# 2. Verify both frontend and backend compile&lt;/span&gt;
/verify

&lt;span class="c"&gt;# 3. Fix any issues automatically&lt;/span&gt;
/grind

&lt;span class="c"&gt;# 4. Get code review&lt;/span&gt;
/review

&lt;span class="c"&gt;# 5. Ship it&lt;/span&gt;
/ship
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Five commands. From "I like that website" to "full-stack PR ready for review".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want the full orchestrated experience?&lt;/strong&gt; Run &lt;code&gt;/pm Clone cal.com as a Next.js app&lt;/code&gt; and let the orchestrator handle everything - planning, cloning, verification, review. One command, zero babysitting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips From Actually Using This
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tip 1: Simple pages work best&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Landing pages, marketing sites, dashboards - these clone well. Complex web apps with lots of state? Not so much.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip 2: Check the analysis first&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes the analyzer misses things or gets confused. Quick review saves headaches later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip 3: Mix and match&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Analyze three sites, take colors from one, typography from another, layout from the third. The analysis files are just documentation - combine them however you want.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip 4: Use it for learning&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Seriously, analyzing well-designed sites and seeing how they structure things taught me more than any CSS course.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tip 5: Don't be creepy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Clone patterns and approaches. Don't clone someone's actual business and pretend it's yours. That's not cool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;After setup (see Quick Setup at the top), start Claude Code and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Single page (full-stack)&lt;/span&gt;
/clone-page https://cal.com &lt;span class="nt"&gt;--frontend&lt;/span&gt; nextjs &lt;span class="nt"&gt;--ui&lt;/span&gt; tailwind

&lt;span class="c"&gt;# Frontend only&lt;/span&gt;
/clone-page https://cal.com &lt;span class="nt"&gt;--frontend&lt;/span&gt; nextjs &lt;span class="nt"&gt;--no-backend&lt;/span&gt;

&lt;span class="c"&gt;# Multi-page site (needs +scraping stack)&lt;/span&gt;
/clone-site https://example-store.com &lt;span class="nt"&gt;--depth&lt;/span&gt; 2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Go clone something cool.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Things I'm still thinking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Screenshot comparison&lt;/strong&gt; - Visual diff between original and clone&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;More backend frameworks&lt;/strong&gt; - Rails and Express are on the roadmap&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design token export&lt;/strong&gt; - Figma/Tokens Studio format&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Animation extraction&lt;/strong&gt; - Detect and document transitions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But honestly, the current version does 90% of what I need. Full-stack cloning with three agents is already kind of insane.&lt;/p&gt;




&lt;p&gt;Got questions? Found a site that breaks it? Let me know.&lt;/p&gt;

&lt;p&gt;And if this saved you time, maybe grab me a coffee? ☕&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://buymeacoffee.com/vadim7j7" rel="noopener noreferrer"&gt;☕ Buy Me A Coffee&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with &lt;a href="https://github.com/vadim7j7/buildmate" rel="noopener noreferrer"&gt;Buildmate&lt;/a&gt; - because manually setting up AI agents is so 2024.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to Actually Use Buildmate (The Practical Guide)</title>
      <dc:creator>Vadim Karnopelev</dc:creator>
      <pubDate>Mon, 09 Feb 2026 00:10:22 +0000</pubDate>
      <link>https://dev.to/vadim7j7/how-to-actually-use-buildmate-the-practical-guide-2if2</link>
      <guid>https://dev.to/vadim7j7/how-to-actually-use-buildmate-the-practical-guide-2if2</guid>
      <description>&lt;p&gt;&lt;em&gt;because "just read the docs" isn't helpful and we both know it&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Hit the paywall?&lt;/strong&gt; &lt;a href="https://dev.to/vadim7j7/i-got-tired-of-being-a-one-man-dev-team-so-i-built-this-thing-1e0i"&gt;Read this article for free here&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  So You Installed It, Now What?
&lt;/h2&gt;

&lt;p&gt;Ok so maybe you read my first post about Buildmate. Or maybe you just found the GitHub and thought "cool I'll try it." Either way - you got it installed but now you're staring at your terminal like "...what do I actually do with this thing?"&lt;/p&gt;

&lt;p&gt;Yeah I get it. Docs are great and all but sometimes you just want someone to show you how they actually use the thing. So thats what this is. Real workflows. Real commands. Stuff I actually do every day.&lt;/p&gt;

&lt;p&gt;Lets go.&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Setup (In Case You Skipped It)
&lt;/h2&gt;

&lt;p&gt;If you already did this skip ahead. If not:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/vadim7j7/buildmate.git
&lt;span class="nb"&gt;cd &lt;/span&gt;buildmate
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; .venv/bin/pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then bootstrap your project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Pick your stack&lt;/span&gt;
buildmate rails /path/to/my-app
buildmate nextjs /path/to/my-app &lt;span class="nt"&gt;--ui&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;tailwind
buildmate rails+nextjs /path/to/my-app

&lt;span class="c"&gt;# Or just use a preset&lt;/span&gt;
buildmate &lt;span class="nt"&gt;--profile&lt;/span&gt; saas /path/to/my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Not sure what stacks are available? Check with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;buildmate &lt;span class="nt"&gt;--list&lt;/span&gt;           &lt;span class="c"&gt;# all stacks&lt;/span&gt;
buildmate &lt;span class="nt"&gt;--profiles&lt;/span&gt;       &lt;span class="c"&gt;# preset combos&lt;/span&gt;
buildmate &lt;span class="nt"&gt;--options&lt;/span&gt; nextjs &lt;span class="c"&gt;# options for a stack&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After this you got a &lt;code&gt;.claude/&lt;/code&gt; folder with all the agent stuff. Thats it. Your ready.&lt;/p&gt;




&lt;h2&gt;
  
  
  Your First /pm Command
&lt;/h2&gt;

&lt;p&gt;Ok so &lt;code&gt;/pm&lt;/code&gt; is the main thing. PM stands for Project Manager. Its the command that kicks off the whole workflow - planning, building, testing, reviewing, everything.&lt;/p&gt;

&lt;p&gt;Lets try it. Open your project and run &lt;code&gt;claude&lt;/code&gt;, then type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/pm Build a user profile page with avatar, bio, and edit functionality
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Heres what happens:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 1 - Planning (this part is interactive)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PM: Ok so for user profile, I'm thinking:

    Requirements:
    - Profile page showing avatar, name, bio
    - Edit mode to update info
    - Avatar upload (or URL?)
    - Save/cancel buttons

    Questions:
    - Should avatar be file upload or just URL input?
    - Where does this page live? /profile? /settings?
    - Need to create User model or exists already?

You: URL is fine for now. /profile route. User model exists.

PM: Cool, heres the plan:
    [shows feature file with all the details]

    Ready to build?

You: yep go
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Phases 2-5 (automatic from here)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now it just runs. You dont do anything.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Phase 2: Implementation]
→ Spawning backend-developer...
→ Creating ProfileController
→ Adding routes
→ Spawning frontend-developer...
→ Creating ProfilePage component
→ Creating EditProfileForm component

[Phase 3: Testing]
→ Spawning testers...
→ Writing controller specs
→ Writing component tests
→ Running quality gates...
→ Grind agent fixing 2 lint errors...

[Phase 4: Review]
→ Spawning reviewers...
→ Backend review: APPROVED
→ Frontend review: APPROVED

[Phase 5: Verification]
→ Starting dev server...
→ Testing /profile route...
→ Component renders ✓
→ Form submits ✓

Done! Score: 0.89 (B+)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And now you have a working profile page. With tests. Reviewed. Verified.&lt;/p&gt;

&lt;p&gt;I know it sounds like magic but its not really. Its just agents doing their specific jobs in order. Backend dev writes backend. Frontend dev writes frontend. Tester writes tests. Each one is focused on one thing.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Agents (Who Does What)
&lt;/h2&gt;

&lt;p&gt;Quick reference cause I always forget:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Agent&lt;/th&gt;
&lt;th&gt;What It Does&lt;/th&gt;
&lt;th&gt;When It Runs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;PM/Orchestrator&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Plans the work, coordinates everyone&lt;/td&gt;
&lt;td&gt;First, stays in control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Backend Developer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Writes Rails/FastAPI code&lt;/td&gt;
&lt;td&gt;Phase 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Frontend Developer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Writes React/Next.js code&lt;/td&gt;
&lt;td&gt;Phase 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Backend Tester&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Writes backend tests&lt;/td&gt;
&lt;td&gt;Phase 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Frontend Tester&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Writes frontend tests&lt;/td&gt;
&lt;td&gt;Phase 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Grind&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Runs linters in loop, fixes errors&lt;/td&gt;
&lt;td&gt;Phase 3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Verifier&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Actually runs the code to test it&lt;/td&gt;
&lt;td&gt;Phase 3-4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reviewers&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Code review&lt;/td&gt;
&lt;td&gt;Phase 4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Eval&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Scores the code&lt;/td&gt;
&lt;td&gt;Phase 5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Security Auditor&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Checks for vulnerabilities&lt;/td&gt;
&lt;td&gt;When you ask&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;They live in &lt;code&gt;.claude/agents/&lt;/code&gt; as markdown files. You can read them if your curious. Or edit them - more on that later.&lt;/p&gt;




&lt;h2&gt;
  
  
  Commands You'll Actually Use
&lt;/h2&gt;

&lt;h3&gt;
  
  
  /pm "task"
&lt;/h3&gt;

&lt;p&gt;The big one. Full workflow.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/pm Add pagination to the products list
/pm Fix the login bug where sessions expire too fast
/pm Build checkout flow with Stripe integration
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use this for anything substantial. Features, big fixes, new pages.&lt;/p&gt;

&lt;h3&gt;
  
  
  /verify
&lt;/h3&gt;

&lt;p&gt;Tests your code by actually running it. This ones newer and honestly I use it all the time now.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/verify                              # test last changes
/verify --component Navbar           # test specific component
/verify --endpoint POST /api/users   # test specific endpoint
/verify --page /dashboard            # test whole page
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If something fails it tries to fix it automatically. Up to 3 times.&lt;/p&gt;

&lt;h3&gt;
  
  
  /new-model and /new-component
&lt;/h3&gt;

&lt;p&gt;Quick scaffolding. Creates the thing plus tests plus all the boilerplate.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/new-model Product name:string price:decimal active:boolean
/new-component ProductCard
/new-component forms/CheckoutForm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Way faster than doing it manually. Follows your project conventions too.&lt;/p&gt;

&lt;h3&gt;
  
  
  /parallel
&lt;/h3&gt;

&lt;p&gt;Got independent tasks? Run them at the same time.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/parallel "Add user avatars" "Add product images" "Add company logos"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Creates separate git worktrees, runs agents in each, merges when done. I use this when I got a bunch of similar things to do.&lt;/p&gt;

&lt;h3&gt;
  
  
  /security
&lt;/h3&gt;

&lt;p&gt;Security audit. Run it before you deploy pls.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Checks for injection, auth issues, XSS, CSRF, all that OWASP stuff.&lt;/p&gt;

&lt;h3&gt;
  
  
  /eval
&lt;/h3&gt;

&lt;p&gt;Just want a score without the whole workflow?&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Gives you the grade. Good for checking your own work.&lt;/p&gt;

&lt;h3&gt;
  
  
  /test and /review
&lt;/h3&gt;

&lt;p&gt;Sometimes you just want one thing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/test          # just run tests
/review        # just review current changes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Git Workflow (The /branch → /ship Flow)
&lt;/h2&gt;

&lt;p&gt;Ok so this one is newer and I use it all the time now.&lt;/p&gt;

&lt;p&gt;Instead of manually creating branches, writing commit messages, pushing, writing PR descriptions at 5pm when your brain is fried... just:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/branch user-auth                    # creates feature/user-auth
# ... do your work or use /pm ...
/ship                                # commits, pushes, creates PR
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thats it. It auto-generates commit messages from your changes. Writes the PR description for you. Even runs quality gates before shipping.&lt;/p&gt;

&lt;p&gt;More examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/branch login-fix --type fix         # creates fix/login-fix
/branch user-auth --issue 42         # links to github issue #42
/sync                                # rebase on main if youre behind
/ship --draft                        # create PR as draft
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;/sync&lt;/code&gt; one is useful when main has moved ahead and you need to catch up. It handles the rebase (or merge if you prefer) and force-pushes for you.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/sync                    # rebase on main
/sync --merge            # merge instead of rebase
/sync --base develop     # sync with develop branch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And &lt;code&gt;/ship&lt;/code&gt; does everything at once:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/ship                    # commit + push + create PR
/ship --draft            # same but draft PR
/ship --no-pr            # just commit and push, no PR
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No more "oh wait I forgot to push." No more staring at the PR template trying to remember what you changed. It just does it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Customizing Your Setup
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Editing Agents
&lt;/h3&gt;

&lt;p&gt;The agents are just markdown files. You can edit them.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.claude/agents/
├── orchestrator.md      # the PM brain
├── backend-developer.md # Rails/FastAPI dev
├── frontend-developer.md
├── grind.md
└── ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open one up. Youll see instructions, patterns, do's and donts. Change whatever you want.&lt;/p&gt;

&lt;p&gt;For example maybe you want the backend dev to always use a specific gem:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Rules&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Always use Pagy for pagination (not Kaminari)
&lt;span class="p"&gt;-&lt;/span&gt; Always use Pundit for authorization
&lt;span class="p"&gt;-&lt;/span&gt; ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Just add it to the file. Next time it runs itll follow your rules.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding Patterns
&lt;/h3&gt;

&lt;p&gt;Got coding patterns you always follow? Add them to &lt;code&gt;.claude/patterns/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;These are reference docs the agents read. Stuff like "how we structure services" or "our API response format."&lt;/p&gt;

&lt;h3&gt;
  
  
  Changing Quality Gates
&lt;/h3&gt;

&lt;p&gt;In the stack config you can change what commands run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;quality_gates&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;lint&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;bundle exec rubocop&lt;/span&gt;
    &lt;span class="na"&gt;fix_command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;bundle exec rubocop -A&lt;/span&gt;
  &lt;span class="na"&gt;tests&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;command&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;bundle exec rspec&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add more, remove some, change commands. Whatever works for your project.&lt;/p&gt;




&lt;h2&gt;
  
  
  Real Workflows I Actually Use
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Building a New Feature
&lt;/h3&gt;

&lt;p&gt;This is like 80% of what I do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. /pm Build [feature description]
2. Answer a few questions about requirements
3. Approve the plan
4. Go get coffee
5. Come back, its done
6. Maybe tweak something small manually
7. Commit and push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thats it. Most features take 10-15 minutes now instead of half a day.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fixing a Bug
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. /pm Fix [describe the bug and where it is]
2. Agent reads the code, finds the issue
3. Fixes it
4. Writes a test so it doesnt happen again
5. Done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For small bugs I sometimes just do it myself cause its faster. But for anything tricky I let the agent figure it out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding to Existing Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. /pm Add [thing] to [existing feature]
2. Agent reads the existing code first
3. Follows the patterns already there
4. Adds the new thing in the same style
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is where it really shines tbh. It actually reads your code and matches the style. No more "this new code looks totally different from everything else."&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick Scaffolding Day
&lt;/h3&gt;

&lt;p&gt;When I'm setting up a new project I'll just rapid fire:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/new-model User email:string name:string
/new-model Product title:string price:decimal
/new-model Order user:references total:decimal
/new-component Navbar
/new-component Footer
/new-component ProductCard
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Boom. All the basics in like 5 minutes. With tests.&lt;/p&gt;




&lt;h2&gt;
  
  
  Common Issues (And How to Fix Them)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;"Its stuck in a loop"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The grind agent will try 10 times then give up. If its not converging theres probably something weird going on. Read the error, might need manual fix.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Agent didnt follow my style"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Edit the agent file in &lt;code&gt;.claude/agents/&lt;/code&gt;. Add specific rules about your style. Be explicit - "always use X, never use Y."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Tests keep failing"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Check if your test setup is correct. Sometimes the agent writes good tests but the test environment isnt configured right. Run the tests manually to see whats up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It made too many files"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yeah it can get enthusiastic sometimes. You can tell it in the initial prompt: "keep it simple, minimal files."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The code works but I dont like how its structured"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use &lt;code&gt;/review&lt;/code&gt; to get feedback, or just refactor yourself. The agents are good but theyre not perfect. Your judgment still matters.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tips From Actually Using This Thing
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Be specific in your prompts.&lt;/strong&gt; "Build a login page" is ok. "Build a login page with email/password, remember me checkbox, forgot password link, and redirect to dashboard after" is better.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Answer the planning questions.&lt;/strong&gt; Dont just say "whatever." The more context you give, the better the output.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use /verify often.&lt;/strong&gt; Catches dumb mistakes before you even see them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Read the feature files.&lt;/strong&gt; They live in &lt;code&gt;.claude/context/features/&lt;/code&gt;. Good for remembering what was built and why.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Edit the agents.&lt;/strong&gt; Seriously. Make them yours. Add your patterns, your rules, your preferences.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Trust but verify.&lt;/strong&gt; The code is usually good but always do a quick look before shipping.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use the git flow.&lt;/strong&gt; &lt;code&gt;/branch&lt;/code&gt; → do work → &lt;code&gt;/ship&lt;/code&gt;. No more manual PR descriptions at 5pm.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Whats Next
&lt;/h2&gt;

&lt;p&gt;Working on website cloning - point it at any site and itll generate your own version using your UI library. Thats gonna be a whole other post tho.&lt;/p&gt;

&lt;p&gt;For now, go try this stuff. Break things. Fix things. Let me know what works and what doesnt.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/vadim7j7/buildmate" rel="noopener noreferrer"&gt;github.com/vadim7j7/buildmate&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Found This Useful?
&lt;/h2&gt;

&lt;p&gt;If this saved you some time maybe buy me a coffee?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://buymeacoffee.com/vadim7j7" rel="noopener noreferrer"&gt;☕ Buy Me A Coffee&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Now go build something cool.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Vadim&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>I Got Tired of Being a One-Man Dev Team (So I Built This Thing)</title>
      <dc:creator>Vadim Karnopelev</dc:creator>
      <pubDate>Sun, 08 Feb 2026 08:21:11 +0000</pubDate>
      <link>https://dev.to/vadim7j7/i-got-tired-of-being-a-one-man-dev-team-so-i-built-this-thing-1e0i</link>
      <guid>https://dev.to/vadim7j7/i-got-tired-of-being-a-one-man-dev-team-so-i-built-this-thing-1e0i</guid>
      <description>&lt;p&gt;&lt;em&gt;aka how I finally stopped mass-complaining about linter errors at 2am... mostly&lt;/em&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhfz6um0pqw6i124zfz8z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhfz6um0pqw6i124zfz8z.png" alt=" " width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Ok So Here's the Thing
&lt;/h2&gt;

&lt;p&gt;Its 3am. I'm so tired. Probably on my fifth coffee at this point, maybe sixth idk I lost count. Eyes are burning from staring at the screen. And I've been fighting with the SAME rubocop error for like an hour now.&lt;/p&gt;

&lt;p&gt;You know the cycle right? Run rubocop. 3 errors. Fix them. Run again. Now its 2 different errors. Fix those. Run again. 5 ERRORS. HOW. I literally just fixed things and now theres MORE???&lt;/p&gt;

&lt;p&gt;(I once spent 4 hours debugging something and it turned out I had a typo in a variable name. Four. Hours. I dont wanna talk about it.)&lt;/p&gt;

&lt;p&gt;Anyway so I'm sitting there at 3am, questioning my life choices, and I'm thinking - wait. Didnt I become a developer to BUILD cool stuff? Not to fight with semicolons and copy paste Stack Overflow answers about "unexpected end of input"?&lt;/p&gt;

&lt;p&gt;Thats basically why I made Buildmate. I got tired of doing everything myself lol.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is This Exactly
&lt;/h2&gt;

&lt;p&gt;Ok so like... you know how in a real company you got different people doing different things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Theres a developer who writes the code (and googles stuff constantly)&lt;/li&gt;
&lt;li&gt;A tester who breaks everything (on purpose... hopefully)&lt;/li&gt;
&lt;li&gt;Code reviewer who points out you forgot null checks again&lt;/li&gt;
&lt;li&gt;Some PM who keeps everyone from losing their minds&lt;/li&gt;
&lt;li&gt;Security person who tells you everything is wrong&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Buildmate gives you all of these. But as AI agents. That actually talk to eachother and do stuff while you go get lunch or whatever.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me: "/pm Build user authentication with OAuth"

Buildmate: "got it"

         → spawns a backend dev (writes the Rails code)
         → spawns frontend dev (does the React stuff)
         → spawns testers (writes tests, runs them)
         → runs linting in a loop until everything passes
         → actually RUNS the code to verify it works
         → fixes its own mistakes automatically
         → spawns reviewers (finds my mistakes)

Me: *drinking coffee* "nice"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I know it sounds wild. When I first got this working I didnt believe it either.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1cg6labcsbrfycpsn2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1cg6labcsbrfycpsn2j.png" alt=" " width="702" height="799"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Linter Loop From Hell (And How I Fixed It)
&lt;/h2&gt;

&lt;p&gt;We've ALL been here:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ rubocop
3 offenses detected

*fixes them carefully*

$ rubocop
2 offenses detected (different ones??)

*fixes those too*

$ rubocop
5 offenses detected

*stares at screen*
*questions existence*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I swear I've lost years of my life to this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; Theres this thing called the Grind Agent. It runs your linters in a loop and fixes stuff automatically. Until everythings green. Or until it gives up after 10 tries.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Grind Agent:
  Iteration 1: rubocop → 3 errors → fixing...
  Iteration 2: rubocop → 0 errors, nice
  Iteration 3: rspec → 2 failures → fixing...
  Iteration 4: rspec → all green

  Status: CONVERGED

  Fixed:
  - app/models/user.rb:15 - frozen_string_literal
  - spec/models/user_spec.rb:28 - nil vs empty string
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You didnt do anything. It handled 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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc96crj5rtn5ve4q1yqak.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc96crj5rtn5ve4q1yqak.png" alt=" " width="800" height="1001"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  "LGTM" Isnt Really a Code Review
&lt;/h2&gt;

&lt;p&gt;Be real. When your tired and the PR has 47 files, "Looks Good To Me" really means "I looked at maybe 3 files and gave up."&lt;/p&gt;

&lt;p&gt;We all do it. Its human nature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix:&lt;/strong&gt; Theres an Eval Agent that scores your code with actual grades.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Thing&lt;/th&gt;
&lt;th&gt;Weight&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Correctness&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;td&gt;0.85&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code Quality&lt;/td&gt;
&lt;td&gt;25%&lt;/td&gt;
&lt;td&gt;0.90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;20%&lt;/td&gt;
&lt;td&gt;0.95&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;15%&lt;/td&gt;
&lt;td&gt;0.80&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Test Coverage&lt;/td&gt;
&lt;td&gt;10%&lt;/td&gt;
&lt;td&gt;0.75&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Final&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.87 (B)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Actual numbers. No more arguing about tabs vs spaces. It tells you stuff like "line 47 might have an N+1 query" or "this method is doing 5 things, split it up."&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fco66mcxcjfwi5m2cthnj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fco66mcxcjfwi5m2cthnj.png" alt=" " width="800" height="1450"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  It Actually Tests Itself (This Is the Cool Part)
&lt;/h2&gt;

&lt;p&gt;Most AI coding tools just write code and hope it works. You run it, it crashes, you spend 30 minutes debugging.&lt;/p&gt;

&lt;p&gt;I got tired of that too.&lt;/p&gt;

&lt;p&gt;So theres &lt;code&gt;/verify&lt;/code&gt;. It actually RUNS your code:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend:&lt;/strong&gt; Starts dev server, makes real HTTP requests, validates responses&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend:&lt;/strong&gt; Opens a browser, navigates to your page, takes screenshots, checks if components render, looks for console errors&lt;/p&gt;

&lt;p&gt;But heres the best part. If something fails? It fixes itself.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Verification] Creating HeroSection...

[Testing]
- Starting dev server... ✓
- Looking for .hero-section...
- Component NOT FOUND ✗

[Analyzing]
- Component exists but not exported
- Adding export...

[Retry 1/3]
- Component found ✓
- No console errors ✓

Verification passed after 1 fix.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It built the component. Tested it. Found it wasnt exported. FIXED it. Tested again. All by itself.&lt;/p&gt;

&lt;p&gt;Backend too:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Verification] POST /api/users

- Making request...
- Status: 500 ✗

[Analyzing]
- Missing user_params method
- Adding to controller...

[Retry 1/3]
- Status: 201 Created ✓

Verification passed after 1 fix.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The stupid mistakes that take 20 minutes to debug? Gone.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpi0m4usqav8wjhr93c0y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpi0m4usqav8wjhr93c0y.png" alt=" " width="756" height="1004"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Security (Actually Important)
&lt;/h2&gt;

&lt;p&gt;Theres a Security Auditor agent. Checks OWASP stuff - injection attacks, auth problems, XSS, CSRF, etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## Security Report

Found: 2 issues

1. [MEDIUM] Possible SQL injection
   File: app/models/search.rb:45
   Fix: use parameterized query

2. [LOW] No rate limiting on login
   Suggestion: add rack-attack

Verdict: PASS WITH WARNINGS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I used to forget to check for this. Now it just happens.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Get Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/vadim7j7/buildmate.git
&lt;span class="nb"&gt;cd &lt;/span&gt;buildmate
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; .venv/bin/pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="c"&gt;# Bootstrap your project&lt;/span&gt;
buildmate rails /path/to/my-app
buildmate nextjs /path/to/app &lt;span class="nt"&gt;--ui&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;tailwind
buildmate rails+nextjs /path/to/app  &lt;span class="c"&gt;# fullstack&lt;/span&gt;

&lt;span class="c"&gt;# Or use a preset&lt;/span&gt;
buildmate &lt;span class="nt"&gt;--profile&lt;/span&gt; saas /path/to/app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/pm "Build user authentication"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And watch it work.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7nd9uhv49h0ygxjtpul.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy7nd9uhv49h0ygxjtpul.png" alt=" " width="800" height="699"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Commands Cheat Sheet
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/pm "thing"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full workflow - plan, build, test, review&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/verify&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Actually runs your code to test it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/verify --component Hero&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Test specific component&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/verify --endpoint /api/users&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Test specific endpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/parallel "a" "b"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Do multiple things at same time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/new-model Name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create model + migration + spec + factory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/new-component Name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create component + test&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/security&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Security audit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/eval&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Score the code&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;/verify&lt;/code&gt; one is new and honestly its my favorite now.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;"What if the AI makes mistakes?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It will. But:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verify agent RUNS your code and catches runtime errors&lt;/li&gt;
&lt;li&gt;If something breaks, it fixes automatically (up to 3 times)&lt;/li&gt;
&lt;li&gt;Grind agent catches lint/type errors&lt;/li&gt;
&lt;li&gt;Eval agent scores it so you know if its good&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most AI tools just write code and pray. This one tests it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Will it work with my project?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yeah. It just creates a &lt;code&gt;.claude/&lt;/code&gt; folder. Doesnt touch your code unless you ask.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What frameworks?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Rails, Next.js, FastAPI, React Native. More coming.&lt;/p&gt;




&lt;h2&gt;
  
  
  Coming Soon: Website Cloning
&lt;/h2&gt;

&lt;p&gt;Working on something kinda crazy:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/analyze-site https://some-cool-website.com
/clone-page https://some-cool-website.com/pricing
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It will look at any website, extract the design, and generate YOUR code using YOUR UI library. See a landing page you like? Clone it.&lt;/p&gt;

&lt;p&gt;Will write a whole post about it when its ready. &lt;strong&gt;Follow me so you dont miss it.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/vadim7j7/buildmate.git
&lt;span class="nb"&gt;cd &lt;/span&gt;buildmate
python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; .venv/bin/pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;

buildmate rails /path/to/your-app
/pm &lt;span class="s2"&gt;"Build something cool"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Takes like 2 minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Support This Thing
&lt;/h2&gt;

&lt;p&gt;If Buildmate saved you from a 3am debugging session - maybe consider buying me a coffee?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://buymeacoffee.com/vadim7j7" rel="noopener noreferrer"&gt;☕ Buy Me A Coffee&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Practical Guide:&lt;/strong&gt; &lt;a href="https://dev.to/vadim7j7/how-to-actually-use-buildmate-the-practical-guide-2if2"&gt;https://dev.to/vadim7j7/how-to-actually-use-buildmate-the-practical-guide-2if2&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/vadim7j7/buildmate" rel="noopener noreferrer"&gt;github.com/vadim7j7/buildmate&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buy Me A Coffee:&lt;/strong&gt; &lt;a href="https://buymeacoffee.com/vadim7j7" rel="noopener noreferrer"&gt;buymeacoffee.com/vadim7j7&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Star the repo if you like it. And open issues if something breaks, I actually read those.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built late at night with mass too much coffee&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;- Vadim&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
