01
Agent-first
target/jk-results.md: one token-cheap report per run, each failure at its file:line with a fix hint, and what was skipped.
- MCP built into the engine:
run returns a verdict, deps and manifest edit the project and relock.
jk skill, the playbook for a tool models were not trained on, kept current in your AGENTS.md.
jk graph: a code knowledge graph that answers within a token budget, in place of grep-and-read turns.
- Named test rungs: the cheap unit suite by default,
--guard before you share, --all nightly.
- Measured on 165 broken builds: agents reach green in as few or fewer turns than on Maven or Gradle.
The agent-loop table, gaps included →
02
Never type clean again
Every step is keyed by the content of its inputs and restored from a content-addressed store. A second worktree, another agent, or CI at the same commit restores the first one's work, and jk explain forecasts it before it runs.
The clean-build oracle →
03
Fast and frugal
A native client and one resident engine for every project on the machine, its heap capped and trimmed back after every job. Compilers and test JVMs lease memory from one budget and learn what they really use.
The measured table →
04
See what your agent is doing
jk web is the supervisor's view: every run with who asked, what changed since the last attempt, why it failed, and how long it took. The terminal shows the same facts with an honest ETA.
The dashboard →
05
Batteries Included™
JDK and Node.js toolchains, format, lint, house-rule guards, code generation, fat and minified jars, native images, OCI images, AOT training, SBOMs and audit, signing, release and publish. No plugin hunt.
What ships in the binary →
06
A modern, declarative core
jk.toml is data, never a program. jk-lock.toml is law. PubGrub explains conflicts in prose. Git dependencies, workspaces with one lockfile, and the newest stable versions by default.
Concepts →
07
Switch without a rewrite
jk test runs on an unmodified pom.xml, and jk mvn runs your real Maven build with the same results file. jk import when you are ready. Your ~/.m2 and IntelliJ JDKs are shared, not duplicated.
Migration →