Skip to content

Releases: swingerman/atdd

v0.4.0 — Custom Mutation Tool as Preferred Approach

27 Feb 23:21

Choose a tag to compare

What's New

Uncle Bob added his own Clojure-native mutation testing tool to empire-2025. This release aligns with that direction.

Custom Mutation Tool (Preferred)

Building a project-specific mutation tool is now the preferred approach over using existing frameworks:

  • 3-module architecture: mutations (rules + matching), runner (test execution), core (orchestration)
  • Language-agnostic: works for any language by walking the AST/source tree
  • TDD-built: the mutation tool itself is built using the same test-driven discipline
  • No external dependencies: the tool lives in the project
  • Targeted execution: run only the tests affected by each mutation

Existing Frameworks (Alternative)

Stryker, mutmut, PIT, cargo-mutants, and others remain available as alternatives when rapid setup matters more than tight integration.

Updated Attribution

  • Links to Uncle Bob's mutation testing plan and spec structure checker in empire-2025
  • Clojure framework reference updated with Uncle Bob's custom approach as Option A

Full Changelog

v0.3.0...v0.4.0

v0.3.0 — Mutation Testing

26 Feb 20:14

Choose a tag to compare

What's New

Mutation Testing — Third Validation Layer

After acceptance tests verify WHAT and unit tests verify HOW, mutation testing verifies that your tests actually catch bugs. A project with 100% code coverage can still have a 60% mutation score — meaning 40% of introduced bugs go undetected.

New Skill: atdd-mutate

Mutation testing workflow that:

  • Auto-detects your project language and configures the right framework
  • Runs mutations, reports score and surviving mutants
  • Guides you through killing survivors with targeted unit tests
  • Integrates as Phase 6 in the team-based ATDD workflow

New Commands

Command Purpose
/atdd:mutate Run mutation testing — detect framework, generate mutants, report score
/atdd:mutate src/auth/ Target a specific module
/atdd:kill-mutants Analyze survivors, write tests to kill them, re-verify

Supported Frameworks

Language Framework
JavaScript/TypeScript Stryker
Python mutmut
Java/JVM PIT
C# Stryker.NET
Rust cargo-mutants
Go go-mutesting
Ruby mutant
Scala Stryker4s
Clojure pitest via lein-pitest

Team Workflow Integration

Phase 6 added to atdd-team skill — after post-implementation review passes, run mutation testing to verify test quality before declaring the feature done.

Full Changelog

v0.2.0...v0.3.0

v0.2.0 — Team-Based ATDD Workflow

17 Feb 21:35

Choose a tag to compare

What's New

Team-Based ATDD Workflow

New atdd-team skill that orchestrates an agent team through the full ATDD workflow. Three specialist roles — spec-writer, implementer, reviewer — coordinated by a team lead through five phases with gates between each.

Works with existing teams. If you already have an active agent team, the skill detects it and offers to extend it with ATDD roles rather than replacing your current teammates. Say "add ATDD to my team" or "extend my team with ATDD" and the roles join alongside your existing agents.

Team Roles

Role Purpose
spec-writer Writes Given/When/Then specs in domain language
implementer Builds code using TDD until both test streams pass
reviewer Audits specs for implementation leakage, reviews code

Workflow Phases

  1. Spec Writing — spec-writer drafts GWT specs, team lead approves
  2. Spec Review — reviewer audits for implementation leakage
  3. Pipeline Generation — generate parser → IR → test generator
  4. Implementation — implementer uses TDD until both streams green
  5. Post-Implementation Review — reviewer checks specs + code quality

Other Changes

  • Detailed prompt templates for every phase in references/prompts.md
  • README expanded with team setup guide and copy-paste prompts for each role
  • Rules from Uncle Bob's CLAUDE.md integrated into skill and agents
  • File organization guidance with commit vs. gitignore table
  • CLAUDE.md integration template for project-level ATDD setup
  • Marketplace compliance (marketplace.json, correct source path)
  • README improved for SEO (badges, diagrams, comparison tables)

Full Changelog

v0.1.0...v0.2.0

v0.1.0 — Initial Release

17 Feb 21:37

Choose a tag to compare

Initial Release

The first release of the ATDD (Acceptance Test Driven Development) plugin for Claude Code, inspired by Robert C. Martin's acceptance test approach.

Plugin Components

Component Name Purpose
Skill atdd Core 7-step ATDD workflow: specs → pipeline → red/green → iterate
Agent spec-guardian Catches implementation leakage in Given/When/Then statements
Agent pipeline-builder Generates bespoke parser → IR → test generator for your project
Command /atdd:atdd Start the ATDD workflow for a new feature
Command /atdd:spec-check Audit specs for implementation leakage
Hook PreToolUse Soft warning when writing code without acceptance specs
Hook Stop Reminder to verify both test streams pass

Key Features

  • Spec-first workflow — enforces writing Given/When/Then acceptance specs before any code
  • Two-stream testing — acceptance tests (WHAT) + unit tests (HOW) constrain AI development
  • Pipeline generation — analyzes your codebase and generates a project-specific parser → IR → test generator for any language and framework
  • Spec guardian — detects implementation leakage (class names, API endpoints, database tables) in specs and proposes domain-language rewrites
  • Workflow hooks — warns when writing code without specs, reminds to verify both test streams

Attribution

Full credit to Robert C. Martin (Uncle Bob). The methodology, insights, and principles come from his empire-2025 project and his public writings on Spec Driven Design and ATDD.