This repository contains starter projects for running katas in a variety of languages. All projects are using the latest language and framework versions (thanks to renovate) and run on any device straight out of the box using Visual Studio Code and devcontainers.
In the cloud: Select the language from below and click “Open in GitHub Codespace” or “Open in GitPod”
In VisualStudio Code: Select the language from below and click “Open in VisualStudio Code”
The general paradigm of this repository is to create self-contained, minimal starter projects that are least likely to (silently) break in the future and can automatically be kept up-to-date.
Any bootstrap project may be added to this repository, if:
The language is not yet present or the test-framework enables a different paradigm than the bootstraps already present for the language (e.g. a cucumber or mutation testing tool, not just junit4 or testng)
Dependencies and docker images are well-known and commonly used
Avoids using custom Dockerfile-based dev-containers (they will have to be built each time a devcontainer starts)
Uses only one testing framework and one assertion library
One failing, and one succeeding test exists
Version numbers are fixed (so they can be picked up and updated by renovate)
A bootstrap needs to contain a valid .devcontainer.json that configures a container with all appropriate tooling. See any of the existing bootstrap projects for reference.
Other kata bootstraps
swkBerlin/kata-bootstraps - A huge collection of kata-bootstraps in plenty of languages with plenty of different frameworks
Ready-to-go kata bootstrap projects
This repository contains starter projects for running katas in a variety of languages. All projects are using the latest language and framework versions (thanks to renovate) and run on any device straight out of the box using Visual Studio Code and devcontainers.
In the cloud: Select the language from below and click “Open in GitHub Codespace” or “Open in GitPod”
In VisualStudio Code: Select the language from below and click “Open in VisualStudio Code”
In IntelliJ: Click here to clone this repository in IntelliJ (requires Jetbrains Toolbox) and select your language either by opening one of the subfolders as a project or by switching the branch.
Clojure
clojure.test Reference
lein test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Crystal
Crystal Reference
Crystal Spec Reference
crystal spec☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
C# Dotnet
Dotnet Reference
Fluent Assertions
dotnet test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
DenoJS
Deno Standard Library
Deno Test Reference
deno test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Elixir
ExUnit Reference
mix test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Elm
Docs
npm test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
F# Dotnet
Dotnet Reference
Fluent Assertions
dotnet test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
gleam
Language Tour
Geeunit Reference
gleam test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Go
Ginkgo Test Runner
Testify Assertions
go test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Haskell
stack test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Java
AssertJ Reference
Mockito Reference
mvn test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Kotlin
Kotest Reference
./gradlew test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
NodeJS
NodeJS Reference
Jest Reference
npm test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
PHP
PHP Language Reference
PHP Language Reference
Packagist (Registry)
composer test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
PureScript
Getting Started
spago test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Python3
PyTest Reference
pipenv run pytest☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
ReScript
ReScript Jest Usage
ReScript Jest Interface Definitions
npm run test:watch☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Ruby
RSpec Reference
bundle exec rspec☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Rust
Test Reference
cargo test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Scala2
Scala2 Language Reference
Scala Cheatsheet
MUnit Reference
sbt test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Scala3
Scala3 Language Reference
Scala Cheatsheet
MUnit Reference
sbt test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Typescript
NodeJS Reference
Jest Reference
npm test☁️ Open in GitHub Codespace
☁️ Open in GitPod
💻 Open in VSCode
Contributing a bootstrap
The general paradigm of this repository is to create self-contained, minimal starter projects that are least likely to (silently) break in the future and can automatically be kept up-to-date.
Any bootstrap project may be added to this repository, if:
A bootstrap needs to contain a valid
.devcontainer.jsonthat configures a container with all appropriate tooling. See any of the existing bootstrap projects for reference.Other kata bootstraps