A knowledge toolkit for AI agents — capture, curate, search, and share scripts, skills, commands, agents, knowledge, instructions, memories, workflows, env files, secrets, lessons, tasks, sessions, and facts — working with any AI coding assistant that can run shell commands.
akm gives agents a curated, searchable library built from local directories, GitHub repos, npm packages, and websites. Instead of front-loading a giant prompt, agents pull exactly what they need, when they need it, and feed results back so the library improves over time.
- Manage sources — add local dirs, git repos, npm packages, and websites as searchable asset sources (details)
akm bundle add github:owner/repo # GitHub akm bundle add https://docs.example.com # crawled website
- Search a unified index — one FTS5 index across all your sources (details)
akm search "deploy" --type script --limit 5 - Curate a shortlist — get the best-match assets for a task without knowing exact names (details)
akm curate "set up a kubernetes deployment" - Load assets on demand — show the full content of any asset by ref (details)
akm show workflows/ship-release
- Capture local knowledge — save discoveries as memories or imported docs (details)
akm remember "Staging deploys require VPN" akm import ./notes/runbook.md - Run structured workflows — execute and verify resumable multi-step procedures (details)
akm workflow run workflows/onboarding
- Improve continuously — feedback drives proposals; proposals drive asset quality (details)
akm feedback skills/code-review --positive akm improve && akm proposal list
Option 1 — npm package (recommended; requires Node.js >= 22):
npm install -g akm-cliOption 2 — Prebuilt binary (no runtime required):
# Linux / macOS
curl -fsSL https://github.com/itlackey/akm/releases/latest/download/install.sh | bash
# Windows (PowerShell)
irm https://github.com/itlackey/akm/releases/latest/download/install.ps1 | iexUpgrade in place: akm upgrade
The npm package always uses Node.js to bootstrap its cross-platform command.
If a working Bun >= 1.0 is also on PATH, the launcher
prefers Bun for execution; old, unusable, or absent Bun installations fall back
to Node.js. Node.js remains required for the npm package. The standalone
binaries are runtime-free.
akm setup # guided first-time setup
akm task doctor # verify scheduler and installed runtime
akm bundle add github:itlackey/akm-stash # install the official onboarding bundle
akm index # build the search index
akm curate "deploy" # get a curated shortlist
akm show workflows/deploy # load the best match
akm remember "Deployment needs VPN" # capture a memory
akm feedback workflows/deploy --positiveFor non-interactive setup: akm setup --yes (or --dir ~/custom-bundle for a custom path).
Non-interactive setup never activates schedules.
See docs/guides/getting-started.md for a full walkthrough.
| Type | What it is | Example ref |
|---|---|---|
| script | Executable shell or code automation | scripts/deploy.sh |
| skill | A set of agent instructions | skills/code-review |
| command | A prompt template with placeholders | commands/summarize |
| agent | System prompt + model + tool policy | agents/reviewer |
| knowledge | A reference document | knowledge/api-guide |
| instruction | Project guidance for agents | instructions/repository |
| env | Whole .env group (key names surfaced, values never) |
env/prod |
| secret | A single sensitive value | secrets/deploy-token |
| workflow | Structured multi-step procedure with resumable run state | workflows/ship-release |
| lesson | Distilled feedback insight | lessons/prefer-dry-run |
| memory | Recalled context from a previous session | memories/vpn-note |
| task | Scheduled prompt/command/workflow job | tasks/nightly-review |
| session | Indexed session summary | sessions/claude/session-id |
| fact | Durable bundle-level fact (identity, conventions, bundle-meta) | facts/team/tool-stack |
See docs/guides/concepts.md for classification rules and the ref format.
Add and search a bundle
akm bundle add github:owner/team-bundle
akm index
akm search "database migration" --type script
akm show scripts/migrate.shCapture and route knowledge
akm remember "Hot-fix deploys skip staging" --bundle team-bundle
akm import ./incident-report.mdUse a living wiki (Karpathy LLM wiki pattern)
akm bundle add github:team/research-wiki # install an LLM-wiki bundle (schema.md + pages/ + raw/)
akm search "attention" # its pages are indexed like any other content
akm show research-wiki//pages/attention # read a page by bundle//conceptId refakm supports Andrej Karpathy's LLM wiki pattern as a first-class bundle format: raw sources live in raw/ (immutable), the agent writes synthesized pages under pages/, and a schema.md rulebook keeps the voice and structure consistent across sessions. A bundle whose root holds schema.md plus pages/ is recognized automatically at install time; there is no separate wiki command family — your agent does the writing, akm indexes the result. See docs/guides/wikis.md.
Improvement loop
akm feedback skills/planner --negative --reason "Doesn't account for merge conflicts"
akm improve # generate proposals from feedback + history
akm proposal list # review pending proposals
akm proposal accept <uuid-or-ref> # apply a proposal
akm proposal reject <uuid-or-ref> # discard itClone and customize an asset
akm clone workflows/ship-release --dest ./project/.claude
# edit the local copy — it wins in subsequent searches automaticallySchedule tasks safely
akm setup # review definitions, schedules, and enabled state
# Confirm scheduler activation only after reviewing the complete task summary.
akm task doctor # verify backend, runtime, task state, and warningsSetup shows the complete task review — both the general-purpose core
templates and the maintainer-oriented improve cadence — before asking one
explicit question about changing task files and the OS scheduler. Only
confirmation prepares the definitions and syncs the scheduler. Declining, or
running setup non-interactively, leaves both unchanged. A scheduled entry
captures the installed akm runtime used during activation. Ordinary
akm task sync preserves that runtime; after moving or replacing the
installation, use akm task sync --rebind explicitly to migrate or repair
scheduler entries, then run akm task doctor again.
Rerunning setup preserves existing scheduler bindings. If setup changes the AKM
storage path, or the installed runtime path changes, run
akm task sync --rebind explicitly.
akm tracks which assets agents actually use (select events) and what agents think of them (akm feedback). Running akm improve processes that signal to generate proposals — suggested edits, promotions, or deprecations. Review with akm proposal list, then akm proposal accept or akm proposal reject. Accepted changes write back to your writable sources. Distilled lessons surface automatically as part of akm improve (via the distill process in the active strategy).
Add this to your AGENTS.md, CLAUDE.md, or system prompt:
## Resources & Capabilities
You have access to a searchable library of scripts, skills, commands, agents,
knowledge, instructions, workflows, env files, secrets, lessons, tasks,
sessions, facts, and memories via the `akm` CLI. Use `akm -h` for details.No plugins or SDKs required. Platform-specific integrations are available in akm-plugins.
| Repo | What it is |
|---|---|
| itlackey/akm-stash | Official bundle — ready-made skills, workflows, commands, and knowledge |
| itlackey/akm-plugins | Optional editor and agent integrations (OpenCode, etc.) |
| itlackey/akm-registry | Official registry index — pre-configured in every akm install |
| itlackey/akm-bench | Benchmark harness for measuring agent performance with akm |
| itlackey/akm-eval | Eval framework and tools for akm asset quality |
| Feature | Description |
|---|---|
| Search & Discovery | Build the index, search, curate a shortlist, and load assets by ref |
| Knowledge Management | Capture memories, import docs, manage wikis, and store protected env/secret assets |
| Sources & Registries | Connect local dirs, git repos, npm packages, and websites; browse the registry |
| Workflows | Structured multi-step procedures with resumable run state |
| The Improvement Loop | Feedback, history, proposals, and automated asset improvement |
| Agent Integration | Wire akm into Claude Code, OpenCode, Cursor, and other coding assistants |
| Doc | Description |
|---|---|
| Getting Started | Install, first-time setup, add sources, search, show |
| Concepts | Sources, registries, asset types, refs, and the bundle |
| CLI Reference | All commands and flags |
| Configuration | Settings, providers, embedding, and Ollama setup |
| Bundle Maker's Guide | Build, publish, and share your own bundles |
| Registry | Registries, the index format, and private registry setup |
| Wikis | Multi-wiki knowledge bases |
| Release Notes — 0.9.0 | Latest release notes and migration guide |
| Stability policy | Which CLI surfaces are stable, evolving, or experimental |
| Security policy | Threat model and how to report vulnerabilities |
| Changelog | Per-release behavior changes |
AKM stores data locally and has no remote telemetry. Events, proposals, and improve history are written to ~/.local/share/akm/state.db. Registry packages and config backups go to ~/.cache/akm/. Nothing leaves your machine except requests to sources you explicitly configure (GitHub, npm, your own LLM endpoint).
Running on a network filesystem (NFS/SMB), where SQLite's WAL mode is unsupported? Set AKM_SQLITE_JOURNAL_MODE (WAL default, or DELETE / TRUNCATE) to pick the journal mode applied at every db open. At the WAL default AKM auto-detects a network mount and falls back to DELETE. See docs/reference/configuration.md for details.
See docs/reference/data-and-telemetry.md for the complete on-disk inventory, event type reference, and instructions for inspecting or clearing local data.