Get started
Install kalku and measure your first file
One command to install it and one to measure, with nothing to configure and nothing written into your project.
Install
With Homebrew:
brew install lnds/kalku/kalku It runs on macOS on Apple Silicon and on Linux on x86_64 with GLIBC 2.38 or newer.
The same tarballs are on every release, in case you do not use Homebrew. See the releases →
The first run
From the root of your project, name one file. Start with a single one: the first run over a whole project is long, and teaches nothing one file does not already show.
kalku run lib/thing.ex Survivors come first and the score comes after:
$ kalku run lib/green.ex --limit 6 --verbose
lib/green.ex:4 compare Green.classify/1
- >=
+ >
covered by 4 tests
No test tells `>=` apart from `>` in
`Green.classify/1`. Add a case at the boundary
where the two sides are equal.
score 60% · 3 killed · 2 survived · 1 compile error the report of a run, as it appears in the README of kalku
What to do next
kalku show <wekufe>- Read one wekufe in full: site, diff, covering tests, hint and history.
kalku cast <wekufe>- Re-cast just that wekufe after writing the test.
kalku run --since origin/main- The gate for your CI: it measures only the lines the change touched.
kalku run lib/thing.ex --format agent- The survivors as compact JSON, for your coding agent.
claude mcp add kalku -- kalku mcp- The tools of kalku as an MCP server, here in Claude Code.
Configuration
None is needed to measure. To keep kalku in a project, with a configuration the team shares, kalku init detects the language and writes .kalku.toml and .kalku/summon.
kalku init Full documentation
Every subject and every command has its own page.