Migration notes for akm v0.6.0
This release ships the v1 architecture refactor on top of the earlier 0.6
terminology cut (kit → stash in the registry wire format). The CLI
command surface is unchanged. Most users have nothing to do.
Workflows: schema-driven indexing
Workflows are now compiled into a validated WorkflowDocument JSON shape
with line-anchored SourceRefs back into the source markdown, cached in a
new workflow_documents table in index.db. akm workflow next reads from
the cache instead of re-parsing markdown each step.
A new akm workflow validate <ref|path> subcommand surfaces every error in
one pass (without running a full reindex), formatted as path:line — message.
DB_VERSION is bumped 8 → 9 to introduce the table; first run after upgrade
drops + recreates all index.db tables (preserving usage_events). The next
akm index rebuilds. Run-state in workflow.db is untouched.
Feedback expanded to any indexed ref
akm feedback <ref> now accepts any indexed ref — memory:, vault:,
workflow:, wiki: etc. The ref must be present in the local index.
Vault feedback never echoes vault values. Telemetry persists both
entry_ref and entry_id so signals survive a reindex, and feedback
events now feed into utility recomputation alongside search/show signals.
Locked v1 decisions:
writabledefaults totrueonfilesystem,falseongit/website/npm.- Registry results are off by default in
akm search; pass--include-registry(or--source registry|both) to include them. - Write target resolves as:
--targetflag →defaultWriteTargetconfig key →stashDir(working stash) →ConfigError. writable: trueonwebsite/npmis rejected at config load.
Manual actions required:
- If your config contains an
openvikingsource, remove it. akm exits at load withConfigErrorand points toakm config sources remove <name>. API-backed sources will return as a separateQuerySourcetier post-v1. - If your config sets
writable: trueon awebsiteornpmsource, drop the flag or re-add the path as afilesystemsource. - If you previously ran
akm enable context-hub/akm disable context-hub, those toggles are gone. Add Context Hub as a regular git source withakm add github:andrewyng/context-hub, or list it as a kit entry in your registry.
Automatic (no action required):
- Config key
stashes[]is loaded assources[]with one deprecation warning. The new key is persisted on the nextakm configwrite. stash.lockis renamed toakm.lockon startup.config.installed[]entries are mapped toconfig.sources[]plusakm.lockrecords.stashDiris loaded as an implicitprimary: truefilesystem source.- Stash type aliases
"context-hub"and"github"normalize to"git".
What changed under the hood (no user impact):
SourceProviderinterface simplified to{ name, kind, init, path, sync? }. Plugin authors should re-read the v1 spec.- Search and show consult the unified FTS5 index and read files from disk; the per-provider fan-out is gone.
- Single write helper (
writeAssetToSource) handles filesystem and git destinations. - Error classes own their
hint()text. Hints now print to stderr inline without--verbose. - Registry providers (
static-index,skills-sh) loop through a uniform interface; the Context Hub special case was deleted. src/reorganized into purpose-named subdirectories (commands/,core/,indexer/,output/,registry/,setup/,sources/,wiki/,workflows/). akm has no public API, so external consumers are unaffected.- Removed legacy re-export shims:
src/llm.ts,src/registry-provider.ts,src/ripgrep.ts.
Earlier-in-cycle terminology cut (still applies):
- The registry wire format
kits[]is renamed tostashes[]with schema bumped to v3.akm-cli >= 0.6.0only parses v3 indexes. - npm packages and GitHub repos are discovered via the
akm-stashkeyword/topic only.akm-kitandagentikitare no longer honored. - Internal types:
RegistryKitEntry→RegistryStashEntry,InstalledKitEntry→InstalledStashEntry,KitInstallStatus→StashInstallStatus,KitSource→StashSource. - Documentation:
docs/kit-makers.md→docs/stash-makers.md.
CLI command surface (unchanged in 0.6.0): add | remove | list | update | search | show | clone | index | setup | remember | import | feedback | registry * | info | curate | workflow | vault | wiki | enable | disable | completions | upgrade | save | help | hints
Full migration guides:
- https://github.com/itlackey/akm/blob/main/docs/archive/pre-1.0-migration.md (pre-1.0 architecture refactor — read this first if you are coming from 0.5.x or an earlier 0.6 pre-release)
- https://github.com/itlackey/akm/blob/main/docs/migration/v0.5-to-v0.6.md (terminology cut, registry schema v3, publisher changes)