akm docs

akm v0.10 migration notes (0.10.261019, the first stable 0.10 release)

0.10 is a clean-up and tuning release. It covers the daily alphas 0.10.26101001 through 0.10.26101202 and the monthly releases that follow (0.10.YYMMNN). It removes surface that nothing used, merges CLI spellings, sets the improve defaults from measurements, replaces engines with connections and harnesses, and runs OpenCode 2 inside akm. It adds no state.db migration and keeps index.db at layout 26.

To upgrade from 0.9.15 or later:

akm upgrade
akm migrate status
akm health

akm upgrade installs the new release, runs akm migrate apply, then rebuilds the index and waits for it; that first rebuild can take a while (see "Install, platforms and the first run" below). Before you upgrade, search your scripts, tasks and agent instructions for the removed spellings below: they fail with exit 2 and no hint. The full ordered procedure, every replacement and the verification steps are in the 0.9 to 0.10 migration guide.

Version floor

0.10 reads what 0.9.15 and later wrote. It converts nothing older. A config in the old stashDir / sources[] / installed[] layout fails to load and names akm migrate apply under akm 0.9.x. If you are on 0.9.14 or earlier, install 0.9.31, run akm migrate apply, then upgrade.

If you ran a 0.10 beta

The betas 0.10.261014 to 0.10.261017 dropped every opencode-sdk engine when akm migrate apply converted config.json, so agent work moved from your own OpenCode (and its model) to akm's own runtime over your default connection; the note it printed did not say so. This release keeps those engines as opencode harnesses. A config a beta already migrated is not converted again: akm keeps the file as it was before the rewrite in <cache dir>/config-backups/ (the five newest), and step 5 of the migration guide shows how to read the harnesses out of that copy and set them, or write them by hand when no copy is left.

Version numbers

A 0.10 release is numbered 0.10.YYMMNN: the UTC year and month, then the release within that month. Every release takes the next number, whatever its stage. A prerelease carries its stage only (-alpha, -beta, -rc). Prereleases publish to the npm next tag and stable releases to latest. akm upgrade --next follows next. Versions sort by month and then number, so the number says nothing about how big a change is. Read the CHANGELOG, which still marks breaking changes. The 0.9 line keeps 0.9.N.

The daily alphas used an 8-digit patch (0.10.YYMMDDNN), which semver sorts above every 0.10.YYMMNN. If you are on one, install the first monthly release explicitly once (npm install -g akm-cli@0.10.261001-beta); akm upgrade will not offer it.

Install, platforms and the first run

Breaking changes

Each of these is an unknown flag or command (exit 2), with no alias:

Other breaking changes:

New

Changed defaults

Removed

Plugins

Fixes worth naming

For the rules each improve process follows in 0.10, see the improvement loop and the improve workflow reference. For the entry behind each item, run akm help migrate <build number> (for example akm help migrate 0.10.26101201) or read the CHANGELOG.