Spec Driven AI Programming

Overview

Spec driven AI programming uses explicit requirements, acceptance criteria, and architecture constraints to guide AI assisted implementation. It differs from ad-hoc prompting because delivery is measured against defined outcomes.

Core Principles

flowchart LR A[Specification] --> B[AI Draft] B --> C[Automated Tests] C --> D[Code Review] D --> E[Release]

Practical Example - Feature Contract First

A feature specification can define:

AI can generate initial code and test skeletons, but merge should remain blocked until contract tests pass.

public sealed record CreateInvoiceRequest(string CustomerId, decimal Amount); public sealed record CreateInvoiceResponse(string InvoiceId, string Status); public interface IInvoiceService { Task<CreateInvoiceResponse> CreateAsync(CreateInvoiceRequest request, CancellationToken ct); }

Production Example - Governance in CI

Teams using AI coding tools often add policy checks in CI:

Common Pitfalls

Key Takeaways