akm docs

This is a dated article from AKM's publishing archive. For current product behavior, see the documentation index.

akm 0.6.0 is out. This one is deliberately boring: a stabilization release that takes a clean break from pre-v1 terminology so the surface area we carry into v1 is honest. The domain model now has one noun for "a source of content" (stash) and one noun for "a service that helps discover them" (registry). The parallel vocabulary that accreted during earlier experiments — "kit", "source", hand-special-cased provider types — is gone. A handful of additive quality-of-life improvements ship alongside, but the headline story is fewer concepts, not more.

If you are on 0.5.x, read the v0.5 → v0.6 migration guide before upgrading. Most projects will work without edits thanks to automatic on-disk migrations; a small number of config fields and CLI flags need explicit updates.

TL;DR

Full details — including before/after code for every item — live in the migration guide.


What "clean break" means

This is a simplification, not a rebrand. Through the pre-v1 releases, akm accumulated three overlapping nouns for the same concept:

Three words for one thing made every doc page ambiguous and every new feature pick a side. 0.6.0 collapses the three into stash at every layer — config, wire format, CLI text, docs, error messages. "Agent Kit Manager" stays as the project tagline and akm-cli stays as the package name, because those are product names, not data-model terms. Everything below the product surface is stash.

The registry wire format follows the same logic. Schema v3 drops kits[] and parses only stashes[]. Pre-v1 is the right time to do this: there is no installed base we need to keep parsing legacy wire formats for, and holding onto kits[] just to be polite would trap the v1 contract in historical cruft.

Breaking changes at a glance

Each bullet below links to its section in the migration guide, which has the exact before/after code or config diff.

If you consume only the public registry and do not maintain your own, the publisher changes do not apply to you.

What's new (low-key)

A few additive improvements rode along with the cleanup.

None of these require migration action; they are upgrades-by-default once you install 0.6.0.

Migration

Install:

npm install -g akm-cli@0.6.0
# or
bun install -g akm-cli@0.6.0
# or from an existing install
akm upgrade

Read:

Verify:

akm info --format text            # version 0.6.x, no context-hub provider
akm config list                   # stashes[] populated, no installed[]
akm list                          # your sources resolve cleanly  # doclint:ignore (historical — pre-0.9.0 command spelling)

If something looks wrong after upgrade, the guide has a troubleshooting section covering the common pitfalls (stale context-hub entries, v2 registry URLs, empty stashes[] after a read-only upgrade path).

What's next

0.6.0 is a punctuation mark, not a destination. The next moves are narrower scope and fewer concepts, in that order. Expect the 0.6.x series to pick up whatever friction falls out of this rename; 0.7 starts shaping the contract we intend to freeze at v1.

Thank you to everyone who stayed on pre-v1 through the terminology churn. The point of doing this now — while the installed base is small enough to move together — is that we only do it once. The v1 surface begins here.

Full changelog at CHANGELOG.md.