Skip to content

Anioko/spec-driven-development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spec-Driven Development in 2026: From Agent Prompts to Compiled Applications

Last updated: June 2026
A practical guide to SDD maturity levels, how GitHub Spec Kit fits the landscape, and when you need a spec compiler instead of an agent workflow.

Topics: spec-driven-development · spec-driven · prd · codegen · archimate · model-driven · opensource


What is spec-driven development?

Spec-driven development (SDD) is a methodology where every implementation decision traces back to a formal or structured specification — not a chat log, not "whatever the agent wrote last," and not tribal knowledge in someone's head.

The specification declares:

  • What the system does (entities, workflows, APIs)
  • How it must behave under constraints (auth, tenancy, compliance)
  • Why key decisions were made (ADRs, architecture notes)

Code is an output of the spec, not the source of truth.

GitHub popularised the current wave in September 2025 with Spec Kit and their blog post on SDD with AI. Amazon's Kiro, Andrej Karpathy's "post-vibe-coding" thesis, and a flood of comparison articles followed. The term is ranking on Google, Perplexity, and GitHub search because teams hit a wall: prompt-only AI is fast for demos and fragile for production.

This guide explains two tiers of SDD most articles conflate, maps four maturity levels, and shows how to go from a PRD file to a bootable application in one command — no LLM in the generation step.


Two tiers of SDD (don't conflate them)

Tier What it does Best for Example
Agent workflow Spec files guide an AI agent to edit your repo Features in existing codebases GitHub Spec Kit, Kiro, BMad
Spec compiler Spec is compiled into a new application Greenfield products, reproducible scaffolds archiet-microcodegen, Archiet

GitHub's line: "Specifications become executable."
This repo's line: Executable specifications that compile to shippable apps — not agent edits in your repo.

Both are spec-driven. They are not interchangeable.

Full comparison: Archiet vs Spec Kit


SDD maturity levels (1–4)

Level Name LLM writes code? Examples
1 Spec-First Yes Ad-hoc PRDs + Cursor
2 Spec-Anchored Yes Spec Kit, Kiro, BMad
3 Spec-as-Source Yes (regen) Tessl, OpenSpec
4 Spec-to-Application No archiet-microcodegen

Level 4 treats the spec as a formal model (genome). Code is emitted by deterministic model-to-text (M2T) transformation — the same discipline MDA, AUTOSAR, and SCADE have used for decades, now applied to web apps.

Deep dive: maturity levels


Try it now (90 seconds)

git clone https://github.com/Anioko/spec-driven-development.git
cd spec-driven-development
chmod +x demo.sh && ./demo.sh

Or with PyPI only:

pip install archiet-microcodegen
archiet-microcodegen examples/sample-prd.md --out ./myapp/
cd myapp && docker compose up
# → http://localhost:8000/docs

Input: examples/sample-prd.md — a 30-line task-manager PRD.
Output: FastAPI + SQLAlchemy + Alembic + JWT auth + tests + ARCHITECTURE.md + docker-compose.yml.

Same PRD → same files. Every time. No API key.


The four-stage pipeline

archiet-microcodegen implements Archiet's core algorithm (documented in scripts/microcodegen.py in the main monorepo):

PRD text
  │
  ▼ parse_prd()              regex + heuristics → manifest (entities, stories, auth)
manifest
  │
  ▼ manifest_to_genome()     formal IR with ArchiMate 3.2 element typing
genome
  │
  ▼ render_genome()          string templates → {path: content}
files
  │
  ▼ pack()                   ZIP or --out directory
bootable app

LLMs are allowed upstream (turning messy prose into a manifest). LLMs are forbidden in the lowering step — once you have a genome, emission is deterministic. That boundary is what makes output auditable.


Multi-stack: same spec, different ecosystems

The FastAPI package is one entry point. The same pipeline ships per ecosystem:

Stack Install
FastAPI pip install archiet-microcodegen
Flask pip install archiet-microcodegen-flask
Django pip install archiet-microcodegen-django
NestJS npx archiet-microcodegen-nestjs
Go (Chi) go install github.com/aniekanasuquookono-web/archiet-microcodegen-go@latest
Laravel composer global require archiet/microcodegen-laravel
Spring Boot java -jar archiet-microcodegen-java.jar
Rails gem install archiet-microcodegen-rails
.NET dotnet tool install archiet-microcodegen-dotnet -g
Tauri + Rust cargo install archiet-microcodegen-tauri

Generate the same PRD in three stacks. Compare structure. Pick one. No vendor IDE required.


Spec Kit vs archiet-microcodegen (honest)

GitHub Spec Kit archiet-microcodegen
You get Agent implements tasks in your project New app directory / ZIP
Determinism Agent-dependent Same spec → same output
Offline Needs agent + network Runs air-gapped
Brownfield ❌ (greenfield regen)
Compliance pack DIY Basic ARCHITECTURE.md; full pack on Archiet

Use Spec Kit when you live in Cursor/Copilot and ship incremental features.
Use archiet-microcodegen when you need a reproducible greenfield app from a requirements file.

Many teams use both: compile the scaffold, then Spec Kit for iteration.


When you need the full Archiet platform

archiet.com adds:

  • LLM PRD extraction with customer-reviewed genome
  • 15+ backend stacks + Next.js + Expo from one spec
  • Delivery gates — shippability audit, synthetic boot test, consulting-grade ARCHITECTURE.md
  • Compliance artifacts — SOC 2, GDPR, HIPAA, PCI, DORA, NIS2 derived from the same model
  • Traceability matrix — requirement → entity → route → test → ADR

The open-source CLIs are the algorithm. The platform is the efficiency layer on top.


FAQ

Is this the same as GitHub Spec Kit?

No. Spec Kit structures agent workflows in your repo (/speckit.specify, /speckit.plan, …). archiet-microcodegen compiles a spec into a new application without an LLM in the codegen path. Complementary, not competing.

Does spec-driven development require AI?

No. Level 4 SDD is deterministic. AI helps parse messy PRDs (Level 1–2). The generation step can be pure M2T.

Can I use this in regulated environments?

Level 4 is designed for reproducibility and air-gapped use. No LLM API in the critical path. Full compliance narratives require the Archiet platform.

What about vibe coding?

Vibe coding optimises for speed-to-demo. SDD optimises for speed-to-production — migrations, auth patterns, architecture docs, traceability. Karpathy's Feb 2026 post marked the cultural shift; Spec Kit gave it tooling.

Where does ArchiMate fit?

The genome uses ArchiMate 3.2 element typing (ApplicationComponent, DataObject, ApplicationService, …). Every generated ARCHITECTURE.md maps code artifacts back to the formal model.

How is this different from JHipster / Nest CLI scaffolds?

Scaffolds emit empty structure. This pipeline emits entity-specific CRUD, auth, migrations, tests, and OpenAPI from your PRD content — and regenerates when the spec changes.


Repository map

Path Purpose
examples/sample-prd.md Copy-paste PRD for demos
demo.sh One-command PRD → running app
docs/what-is-spec-driven-development.md Short canonical explainer
docs/archiet-vs-spec-kit.md Comparison page
docs/maturity-levels.md Levels 1–4 framework
HN.md Show HN title + first-comment draft

Links


License

MIT — see LICENSE.


Maintained by Aniekan Asuquo Okono. Contributions welcome: comparison corrections, new ecosystem packages, maturity-level examples.

About

Spec-driven development guide: maturity levels, Spec Kit comparison, PRD-to-app demo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages