<?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>Forem: Yi Huang</title>
    <description>The latest articles on Forem by Yi Huang (@yijohnhuang).</description>
    <link>https://forem.com/yijohnhuang</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%2F3467978%2F00e0602c-5044-4df2-9c61-50c02a097e24.jpg</url>
      <title>Forem: Yi Huang</title>
      <link>https://forem.com/yijohnhuang</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yijohnhuang"/>
    <language>en</language>
    <item>
      <title>Ship Better Code with AI: Introducing SDD-MCP - A Spec-Driven Development Server for Claude Code &amp; Cursor</title>
      <dc:creator>Yi Huang</dc:creator>
      <pubDate>Sat, 13 Sep 2025 17:19:18 +0000</pubDate>
      <link>https://forem.com/yijohnhuang/ship-better-code-with-ai-introducing-sdd-mcp-a-spec-driven-development-server-for-claude-code--44p8</link>
      <guid>https://forem.com/yijohnhuang/ship-better-code-with-ai-introducing-sdd-mcp-a-spec-driven-development-server-for-claude-code--44p8</guid>
      <description>&lt;h2&gt;
  
  
  The Problem: AI Generates Code, But Where's the Architecture?
&lt;/h2&gt;

&lt;p&gt;Ever notice how AI assistants can write impressive code snippets but struggle with the bigger picture? They'll happily generate a React component or Python function, but ask them to architect a complete system with proper requirements, design patterns, and task breakdown? That's where things get messy.&lt;/p&gt;

&lt;p&gt;After watching countless developers (myself included) wrestle with AI-generated spaghetti code, I built something to fix this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter SDD-MCP: Your AI's Architecture Coach
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/yi-john-huang/sdd-mcp" rel="noopener noreferrer"&gt;SDD-MCP&lt;/a&gt; is a Model Context Protocol server that enforces Spec-Driven Development workflows in AI coding assistants. Think of it as giving your AI a proper software engineering methodology.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick Start (Seriously, It's One Command)
&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;# No installation needed - just run:&lt;/span&gt;
npx &lt;span class="nt"&gt;-y&lt;/span&gt; sdd-mcp-server@latest

&lt;span class="c"&gt;# For Claude Code users:&lt;/span&gt;
claude mcp add sdd &lt;span class="s2"&gt;"sdd-mcp-server"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What Makes This Different?
&lt;/h2&gt;

&lt;p&gt;Instead of letting AI jump straight into code, SDD-MCP enforces a structured workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INIT → REQUIREMENTS → DESIGN → TASKS → IMPLEMENTATION
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each phase produces concrete artifacts that guide the next. No more "let me rewrite this entire codebase because I forgot what we discussed earlier."&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Example: Building a React Dashboard
&lt;/h2&gt;

&lt;p&gt;Here's what happens when you use SDD-MCP to build a feature:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Initialize Project with Context
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Use sdd-init to create a new dashboard project"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Creates &lt;code&gt;.kiro&lt;/code&gt; directory with proper structure and &lt;code&gt;AGENTS.md&lt;/code&gt; for AI context.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Generate Smart Requirements
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Use sdd-requirements to analyze the project"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SDD-MCP actually reads your &lt;code&gt;package.json&lt;/code&gt;, analyzes dependencies, and generates EARS-formatted requirements that match your tech stack. No generic boilerplate.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Create Architecture That Makes Sense
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Use sdd-design to generate architecture docs"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Produces design documents based on your actual project structure and dependencies. If you're using React + Redux, it'll design around that. Using Spring Boot? Different architecture.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Break Down Into Manageable Tasks
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Use sdd-tasks to create implementation plan"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generates granular tasks derived from your real project structure, not theoretical concepts.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Implement with Quality Gates
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Use sdd-spec-impl to execute task-001 with TDD"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Follows Kent Beck's Red-Green-Refactor methodology. Plus, &lt;code&gt;sdd-quality-check&lt;/code&gt; provides Linus-style 5-layer code review.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Secret Sauce: Context-Aware Generation
&lt;/h2&gt;

&lt;p&gt;Most AI tools generate generic templates. SDD-MCP is different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Reads Your Code&lt;/strong&gt;: Analyzes package.json, project structure, existing patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack Aware&lt;/strong&gt;: React gets React patterns, Spring Boot gets Spring patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learns Your Style&lt;/strong&gt;: Steering documents capture your project's conventions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory Across Sessions&lt;/strong&gt;: &lt;code&gt;sdd-context-load&lt;/code&gt; restores project state&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Language Agnostic, Framework Friendly
&lt;/h2&gt;

&lt;p&gt;Fixed in v1.3.11 - no more hardcoded templates. Works with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend&lt;/strong&gt;: React, Vue, Angular, Svelte&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend&lt;/strong&gt;: Node.js, Spring Boot, Django, FastAPI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Languages&lt;/strong&gt;: JavaScript, TypeScript, Python, Java, Go, Rust&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile&lt;/strong&gt;: React Native, Flutter, Swift, Kotlin&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Production-Ready Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Security First
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Distroless Docker images (&lt;code&gt;gcr.io/distroless/nodejs18-debian11&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Non-root execution (UID 1001)&lt;/li&gt;
&lt;li&gt;Read-only filesystem&lt;/li&gt;
&lt;li&gt;Dropped Linux capabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Enterprise Scale
&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;# Docker deployment with security hardening&lt;/span&gt;
docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 3000:3000 sdd-mcp-server

&lt;span class="c"&gt;# Or with compose for orchestration&lt;/span&gt;
docker-compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Quality Enforcement
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;sdd-validate-design&lt;/strong&gt;: Interactive GO/NO-GO design reviews&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;sdd-validate-gap&lt;/strong&gt;: Requirements vs implementation gap analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;sdd-quality-check&lt;/strong&gt;: Automated 5-layer code review&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real Impact: What Developers Are Saying
&lt;/h2&gt;

&lt;p&gt;Since launch, developers have used SDD-MCP to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce AI context confusion by 80%&lt;/li&gt;
&lt;li&gt;Ship production features 3x faster&lt;/li&gt;
&lt;li&gt;Maintain consistent architecture across AI sessions&lt;/li&gt;
&lt;li&gt;Generate documentation that actually matches code&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Tools Arsenal
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;What It Does&lt;/th&gt;
&lt;th&gt;When to Use&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sdd-steering&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Generates product.md, tech.md, structure.md&lt;/td&gt;
&lt;td&gt;Project setup&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sdd-spec-impl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;TDD implementation with specs&lt;/td&gt;
&lt;td&gt;Feature development&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sdd-validate-gap&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Finds missing implementations&lt;/td&gt;
&lt;td&gt;Before deployment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sdd-context-load&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Restores project memory&lt;/td&gt;
&lt;td&gt;Resuming work&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Common Gotchas &amp;amp; Fixes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  "Templates Instead of Real Content"
&lt;/h3&gt;

&lt;p&gt;If &lt;code&gt;sdd-steering&lt;/code&gt; generates templates, prompt your AI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Please update product.md based on actual codebase analysis"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  "Connection Issues with npx"
&lt;/h3&gt;

&lt;p&gt;Use global installation for reliability:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; sdd-mcp-server@latest
claude mcp add sdd &lt;span class="s2"&gt;"sdd-mcp-server"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;Currently working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plugin marketplace for custom workflows&lt;/li&gt;
&lt;li&gt;Team steering document sharing&lt;/li&gt;
&lt;li&gt;Integration with more AI assistants&lt;/li&gt;
&lt;li&gt;Visual workflow designer&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Stop fighting with AI-generated chaos. Give your AI assistant proper engineering discipline:&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;# Install globally&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; sdd-mcp-server@latest

&lt;span class="c"&gt;# Add to Claude Code&lt;/span&gt;
claude mcp add sdd &lt;span class="s2"&gt;"sdd-mcp-server"&lt;/span&gt;

&lt;span class="c"&gt;# Start building better&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub: &lt;a href="https://github.com/yi-john-huang/sdd-mcp" rel="noopener noreferrer"&gt;github.com/yi-john-huang/sdd-mcp&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Built for developers who ship, not just prototype.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Got questions? Found a bug? Let's discuss in the comments or &lt;a href="https://github.com/yi-john-huang/sdd-mcp/issues" rel="noopener noreferrer"&gt;open an issue&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  AI #DeveloperTools #MCP #ClaudeCode #Cursor #SpecDrivenDevelopment
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>specdrivendevelopment</category>
    </item>
    <item>
      <title>Spec-Driven Development: Stop "Vibe Coding" and Start Building Software That Actually Makes Sense</title>
      <dc:creator>Yi Huang</dc:creator>
      <pubDate>Fri, 29 Aug 2025 16:50:27 +0000</pubDate>
      <link>https://forem.com/yijohnhuang/spec-driven-development-stop-vibe-coding-and-start-building-software-that-actually-makes-sense-3h1d</link>
      <guid>https://forem.com/yijohnhuang/spec-driven-development-stop-vibe-coding-and-start-building-software-that-actually-makes-sense-3h1d</guid>
      <description>&lt;p&gt;Have you ever jumped straight into coding without a clear plan, only to realize halfway through that you're building the wrong thing? Or found yourself constantly refactoring because requirements keep "evolving"? Welcome to what I call "Vibe Coding" – and it's time we talked about a better way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with Traditional Development
&lt;/h2&gt;

&lt;p&gt;Let's be honest. Most of us have been guilty of this workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💭 Get a vague idea of what needs to be built&lt;/li&gt;
&lt;li&gt;💻 Start coding immediately&lt;/li&gt;
&lt;li&gt;🔄 Realize requirements aren't clear&lt;/li&gt;
&lt;li&gt;🤯 Context switch between different tools and docs&lt;/li&gt;
&lt;li&gt;📝 Documentation becomes an afterthought (if it happens at all)&lt;/li&gt;
&lt;li&gt;🐛 Reactive problem-solving becomes the norm&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sound familiar? This scattered approach leads to technical debt, frustrated teams, and products that miss the mark.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter Spec-Driven Development (SDD)
&lt;/h2&gt;

&lt;p&gt;Spec-Driven Development flips the script. Instead of rushing to write code, it enforces a structured workflow that breaks development into three distinct phases:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. 📋 &lt;strong&gt;Requirements Phase&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Generate detailed user stories with clear acceptance criteria. No more guessing what "make it user-friendly" means.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. 🏗️ &lt;strong&gt;Design Phase&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Create technical designs with diagrams and schemas. Architecture decisions are made &lt;em&gt;before&lt;/em&gt; implementation, not during.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. ✅ &lt;strong&gt;Implementation Phase&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Break work into trackable, sequential tasks. Each task has a clear definition of done.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;"Requirements are usually uncertain when you start building, which is why developers use specs for planning and clarity."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This isn't just about documentation for documentation's sake. It's about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Clarity&lt;/strong&gt;: Everyone knows exactly what's being built and why&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintainability&lt;/strong&gt;: Specs become living documentation that evolves with your codebase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efficiency&lt;/strong&gt;: Less time wasted on building the wrong thing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration&lt;/strong&gt;: Teams can work from the same source of truth&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Real-World Implementation with AWS Kiro
&lt;/h2&gt;

&lt;p&gt;Recently, I've been exploring AWS Kiro IDE, an AI-powered development environment that enforces spec-driven workflows. It automatically generates three key documents:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;project/
├── requirements.md  # What we're building
├── design.md       # How we're building it
└── tasks.md        # Steps to build it
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But SDD isn't limited to specific tools. You can start implementing these principles today with your current workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond Just Planning
&lt;/h2&gt;

&lt;p&gt;What makes SDD powerful is that it's not a one-time planning exercise. The specs evolve with your project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Living Documentation&lt;/strong&gt;: Specs stay synced with your evolving codebase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Team Alignment&lt;/strong&gt;: Product managers can maintain requirement specs while developers own technical design&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clear Handoffs&lt;/strong&gt;: No more confusion about what's ready for implementation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started with SDD
&lt;/h2&gt;

&lt;p&gt;You don't need fancy tools to start. Here's how to begin:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Before coding anything&lt;/strong&gt;, write down what you're building in plain language&lt;/li&gt;
&lt;li&gt;Document the technical approach and key decisions&lt;/li&gt;
&lt;li&gt;Break the work into specific, measurable tasks&lt;/li&gt;
&lt;li&gt;Only then, start coding&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For those interested in tooling, there are open-source CLI agents available:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/gotalab/claude-code-spec" rel="noopener noreferrer"&gt;claude-code-spec&lt;/a&gt; for Claude Code users&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/yi-john-huang/amazonq-spec" rel="noopener noreferrer"&gt;amazonq-spec&lt;/a&gt; for Amazon Q CLI&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;Spec-Driven Development transforms chaotic development into structured, secure, and maintainable software delivery.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's not about adding bureaucracy – it's about being intentional with your development process. When you know exactly what you're building and how, you can move faster with confidence.&lt;/p&gt;




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

&lt;p&gt;This is just the beginning of my exploration into Spec-Driven Development. Over the coming weeks, I'll be sharing a series of practical posts demonstrating how SDD can be applied to real-world coding challenges.&lt;/p&gt;

&lt;p&gt;Follow me to get notified when the next post drops, and let's transform how we build software together!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Have you tried Spec-Driven Development? What's your biggest challenge with requirements gathering? Drop a comment below – I'd love to hear your experiences!&lt;/strong&gt;&lt;/p&gt;

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