Hi. This is my repo for everything and nothing. It is used in several blog posts and for workshops.
This is a small collection of code I hope shows some good concepts. Please let me know what you think. 😄
This repo is updated continuously, so be sure to star and watch it for updates.
A few notes on things I am trying to show in this code. You can find links to the specific examples on each page (if there are any):
I used Claude to generate a visual representation of this. It is fairly accurate, but might not make much sense before you actually read the information here. You can find it here: TDD Concepts Overview - Visual guide showing how all concepts relate
Reach out:
A lot of this content has come out of endless discussions with fellow developers. But special thanks goes out to Asgaut Mjølne, Ola Hast, and Terje Heen for the regular discussions we have.
If you're looking for the workshop, you can find it here.
This repository includes reusable Claude Code skills that teach Claude the patterns and practices used here:
- kotlin-sum-types 🔀 - Parse, don't validate with sealed classes for type-safe validation
- kotlin-tdd 🧪 - Test-Driven Development with fakes, object mothers, and Testing Through The Domain
- kotlin-context-di 🔌 - Manual dependency injection using SystemContext and TestContext patterns
Install them to teach Claude Code about the approaches in this codebase:
npx skills add anderssv/the-example/skillsInstall mise
Mise will make sure you have the right tools and versions. If not:
- Java 25
- Git
- Download this repository
git clone https://github.com/anderssv/the-example.git cd the-example - Install Java using mise:
mise install # This will install Java 25 as specified in .mise.toml - Build the project:
./gradlew build
It works with most editors, but I recommend using IntelliJ IDEA. Most stuff is good with default plugins, but I also recommend:
- Mermaid plugin
- Markdown plugin
- GitHub Copilot plugin