Releases: swingerman/atdd
v0.4.0 — Custom Mutation Tool as Preferred Approach
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 — Mutation Testing
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 — Team-Based ATDD Workflow
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
- Spec Writing — spec-writer drafts GWT specs, team lead approves
- Spec Review — reviewer audits for implementation leakage
- Pipeline Generation — generate parser → IR → test generator
- Implementation — implementer uses TDD until both streams green
- 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 — Initial Release
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.