Skip to content

Kargo

Cargo for Kotlin. Create, build, run and test Kotlin projects for the JVM, WebAssembly, JavaScript, Kotlin/Native and Android from a single kargo.toml, with no Gradle files to write.
Terminal window
curl -fsSL https://enekocm7.github.io/kargo/install.sh | sh

The script downloads a prebuilt binary and checks its SHA-256. Other ways to install, such as cargo binstall or a downloaded archive, are on the installation page.

Terminal window
$ kargo new hello && cd hello
Created application `hello` package
$ kargo run
Compiling hello v0.1.0 (jvm)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.47s
Running `java com.example.hello.MainKt`
Hello, Kotlin!

One file

Package, Kotlin version, targets, dependencies, frameworks and tasks all go in kargo.toml.

Every target

JVM, WebAssembly (JS and WASI), Kotlin/Native and Android, with expect/actual across them.

Real Maven

POMs, BOMs, exclusions, version ranges and Gradle module metadata. Builds are pinned by kargo.lock with SHA-256 checksums.

Batteries included

Compose, Ktor, Spring Boot, kotlinx.serialization, coroutines and Lombok, each turned on with one line.