Skip to content

aabs/awesome-specification-driven-development

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Specification Driven Development Awesome

A curated list of tools, frameworks, and resources for Specification Driven Development (SDD) - the practice of creating software by starting with specifications and using them to drive the entire development process.

Specification Driven Development emphasizes creating clear, executable specifications first, then using these specifications to generate code, tests, documentation, and other artifacts. This approach ensures consistency, reduces bugs, and improves collaboration between teams.

Contents

Popular Frameworks

Specification-First Development Frameworks

  • GitHub Spec-Kit - A Toolkit to help you get started with Spec-Driven Development. GitHub stars
  • SpecPulse - Specification-Driven Development (SDD) Framework for Python. GitHub stars
  • Falcon Heavy - Framework for building app backends and microservices by specification-first API design approach based on OpenAPI Specification 3. GitHub stars

OpenAPI and Swagger Tools

  • Swagger Core - Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API. GitHub stars
  • Swagger TypeScript API - Generate the API Client for Fetch or Axios from an OpenAPI Specification. GitHub stars
  • OpenAPI TypeScript Codegen - NodeJS library that generates TypeScript or JavaScript clients based on the OpenAPI specification. GitHub stars
  • oapi-codegen - Generate Go client and server boilerplate from OpenAPI 3 specifications. GitHub stars

Behavior Driven Development (BDD)

  • Concordion - Open source framework for Java that lets you turn a plain English description of a requirement into an automated test. GitHub stars
  • JGiven - Behavior-Driven Development in plain Java. GitHub stars
  • Lettuce - Behavior-driven-development tool for Python, inspired by Cucumber for Ruby. GitHub stars
  • Mamba - The definitive testing tool for Python. Born under the banner of Behavior Driven Development (BDD). GitHub stars

Theory and Methodologies

Core Concepts

  • Specification by Example - A collaborative approach to defining requirements and business-oriented functional tests
  • Contract-Driven Development - Development approach where API contracts are defined first and used to drive implementation
  • Design-First API Development - Creating API specifications before implementation to ensure consistent design
  • Domain-Driven Design (DDD) - Software design approach focusing on modeling software to match a domain according to input from domain experts

Academic Resources

  • Shriek-fx - .NET Core framework following domain-driven design (DDD) specifications with CQRS architecture. GitHub stars
  • Archived Specmatic Documentation - Turn your contracts into executable specifications. Contract Driven Development approach. GitHub stars

Agentic Programming

Frameworks and Tools

  • AgentScope - Agent-Oriented Programming for Building LLM Applications. GitHub stars
  • MetaGPT - The Multi-Agent Framework: First AI Software Company, Towards Natural Language Programming. GitHub stars
  • Microsoft AutoGen - A programming framework for agentic AI. GitHub stars
  • Langroid - Harness LLMs with Multi-Agent Programming. GitHub stars
  • Serena - A powerful coding agent toolkit providing semantic retrieval and editing capabilities (MCP server & other integrations). GitHub stars
  • LLM4S - Agentic and LLM Programming in Scala. GitHub stars

Specification-Driven Agent Development

  • DafnckMachine - AGF 2.0 - Agentic Coding Framework powered by Pheromind – a revolutionary system designed to orchestrate fully autonomous, specification-driven software development. GitHub stars

MCP Servers

  • Awesome MCP Servers - A curated list of Model Context Protocol (MCP) servers. GitHub stars
  • Awesome MCP Servers (Alternative) - Another curated list of Model Context Protocol servers with extensive collection. GitHub stars
  • MCP Registry - A community driven registry service for Model Context Protocol (MCP) servers. GitHub stars
  • Context7 - Up-to-date code documentation for LLMs and AI code editors GitHub stars
  • Excel MCP Server - A Model Context Protocol server for Excel file manipulation. GitHub stars
  • Qdrant MCP Server - An official Qdrant Model Context Protocol (MCP) server implementation. GitHub stars
  • Exa MCP Server - Exa Web Search API MCP (Model Context Protocol) server. GitHub stars
  • Markdownify MCP - A Model Context Protocol server for converting almost anything to Markdown. GitHub stars
  • ArXiv MCP Server - A Model Context Protocol server for searching and analyzing arXiv papers. GitHub stars
  • Microsoft MCP - Catalog of official Microsoft MCP (Model Context Protocol) server implementations for AI-powered data access and tool integration. GitHub stars
  • Kubernetes MCP Server - Model Context Protocol (MCP) server for Kubernetes and OpenShift. GitHub stars

IDE Support

VSCode Extensions

  • Swagger Viewer - Preview Swagger/OpenAPI specifications in VSCode
  • OpenAPI (Swagger) Editor - Edit OpenAPI specifications with validation and preview
  • REST Client - Send HTTP requests and view responses directly in VSCode

JetBrains IDEs

  • OpenAPI Specifications - Built-in support for OpenAPI specification editing and validation
  • HTTP Client - Built-in HTTP client for testing APIs defined in specifications

Specialized Tools

  • Stoplight Studio - Visual OpenAPI specification editor
  • Insomnia Designer - Collaborative API design platform
  • Postman - API development environment with specification support

Blog Posts & Videos

Getting Started

Advanced Topics

Community

Forums and Discussion

Conferences and Events

  • API World - Annual API development conference
  • OpenAPI Initiative Meetups - Local meetups for OpenAPI enthusiasts
  • BDD Exchange - Conference focused on behavior-driven development

Contract Testing

Pact Ecosystem

  • Pact JVM - JVM version of Pact for consumer driven contract testing. GitHub stars
  • Pact Ruby - Ruby implementation providing a mock service and DSL for consumer-driven contract testing. GitHub stars
  • Pact .NET - .NET version of Pact for consumer driven contract testing. GitHub stars
  • Pact Python - Python version of Pact enabling consumer driven contract testing. GitHub stars
  • Pact PHP - PHP version of Pact for consumer driven contract testing. GitHub stars

Contract Testing Resources

API-First Tools

Design and Specification

  • Panacloud CLI - Uses the design-first approach for developing APIs, generating Modern Multi-Tenant Serverless Cloud API infrastructure. GitHub stars
  • API Codeflow Node.js - Build and evolve a REST API design-first with OpenAPI-Generator and Node.js. GitHub stars

Code Generation

  • Swagger JSDoc - Generates swagger/openapi specification based on jsDoc comments and YAML files. GitHub stars
  • ApiSpec - A pluggable API specification generator supporting OpenAPI Specification. GitHub stars
  • OpenAPI Diff - Utility for comparing two OpenAPI specifications. GitHub stars

Contributing

Contributions are welcome! Please read the contribution guidelines first.

How to Contribute

  1. Fork this repository
  2. Add your awesome resource to the appropriate section
  3. Ensure the resource follows the format: **[Name](link)** - Description. ![GitHub stars](shield-url)
  4. Submit a pull request

Criteria for Inclusion

  • Resource must be related to specification-driven development
  • Active maintenance and community support
  • Clear documentation and examples
  • Open source preferred (but not required for learning resources)

About

An Awesome List of Specification Driven Development resources

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •