Skip to content

Developer Tools

Setting Up Spec-Driven Development for Success

Spec-Driven Development architecture: DevContainer → spec-kit → azd → Azure Container Apps

Ever wondered how you can stop "vibe coding" and start building actual value from your ideas in a structured and repeatable way.

The fix isn't a better prompt — it's a better starting setup. Specifically: a repository structure that gives AI assistants structured context, pins the environment so every contributor runs identical tooling, and built in Azure deployment so there's no gap between "works locally" and "running in Azure."

This post shows you how by combining three tools into one workflow:

  • spec-kit — a CLI and VS Code workflow that turns vague feature ideas into structured specifications, implementation plans, and dependency-ordered task lists before a single line of code is written
  • DevContainers — a VS Code / GitHub Codespaces feature that pins the exact development environment in a .devcontainer/devcontainer.json committed to the repository
  • Azure Developer CLI (azd) — a CLI that standardises repository layout and enables one-command provisioning and deployment to Azure

Who this is for

Developers building on Azure who are comfortable with Git and VS Code but haven't yet established a structured, AI-assisted development workflow.

Prerequisites

  • Git and VS Code installed locally
  • Docker Desktop (or Rancher Desktop / Podman Desktop) for running the DevContainer — or access to GitHub Codespaces
  • An active Azure subscription (required for the azd up step)
  • A GitHub Copilot license (Individual, Business, or Enterprise) if you want to use the cloud agent path in Step 8

By the end you will have a working repository: containerised for reproducibility, deployable to Azure Container Apps with a single command, and pre-wired for the full spec-kit SDD pipeline.

Using dev containers in VSCode on Windows without using Docker Desktop

Why do I need this? - Using Docker Desktop for commercial use requires a license!

Docker Desktop is only free for small businesses with fewer than 250 employees AND less than $10 million in annual revenue. Docker Subscription Service Agreement

What are dev containers?

Dev Containers in Visual Studio Code are Docker containers used as full-featured development environments. They allow opening any folder inside a container, leveraging VS Code’s features. The contents of the dev container can be defined using a devcontainer.json file.

Azure Developer CLI from playground to production?

If you are a developer who works with Azure or wants to work with Azure, you might already be aware of the Azure Developer CLI (azd), a "new-ish" command-line tool that simplifies and enhances your Azure development experience. Lets run over some of the basics and some thoughts I have on how to make use of azd in a more "production ready" fashion.