UNPKG

akm-cli

Version:

akm (Agent Knowledge Manager) — a portable, local-first capability library for AI agents. Discover, load, share, and improve reusable skills, scripts, workflows, and knowledge across any shell-capable coding agent, including Claude Code, OpenCode, and Cur

98 lines (74 loc) • 3.37 kB
# Recipe: Headless Install A precise, no-prompts sequence for automated or agent-driven setup of `akm` — no interactive wizard, no assumed defaults. ```sh #!/usr/bin/env bash set -euo pipefail # 1. Install (standalone binary, runtime-free) curl -fsSL https://github.com/itlackey/akm/releases/latest/download/install.sh | bash # 2. Initialize the bundle directory and accept all defaults (no prompts) akm setup --yes # 3. Don't rely on the implicit semantic-search default in an unattended # script — the default can vary by release and by install path. Set it # explicitly so this script's behavior is deterministic. `auto` uses local # embeddings (downloaded on first index run); `off` skips them entirely. akm config set semanticSearchMode auto # 4. Add sources (adjust paths as needed) akm bundle add /path/to/skills # 5. Build the search index (downloads the embedding model on first run if # semantic search is enabled) akm index # 6. Verify akm info akm search "test" # 7. Install agent guidance akm help agents >> AGENTS.md echo "akm setup complete" ``` ## Notes on each step **Install.** The standalone binary (step 1) is runtime-free. The npm package (`npm install -g akm-cli`, or one-shot via `npx akm-cli <command>`) requires Node.js >= 22; a working Bun >= 1.0 is optional and preferred for execution after Node starts the package launcher. **Setup.** `akm setup --yes` accepts every default with no prompts. To pre-configure an LLM or agent engine at the same time instead of accepting defaults, pass `--config` with a JSON object, optionally followed by `--probe` to verify connectivity: ```sh akm setup --config '{ "engines": { "default": { "kind": "llm", "endpoint": "http://localhost:11434/v1/chat/completions", "model": "llama3.2" } }, "defaults": { "llmEngine": "default" } }' --probe ``` For the full set of accepted top-level `--config` keys and their meaning, see [configuration.md](../../reference/configuration.md). **Semantic search.** Headless setups (`--yes` or `--config`, no wizard prompts) defer the embedding-model download to the first `akm index` run, unlike the interactive wizard which downloads immediately during `akm setup`. Set the mode explicitly rather than relying on the implicit default: ```sh akm config set semanticSearchMode auto # local embeddings, downloaded on first index akm config set semanticSearchMode off # skip embeddings entirely ``` For resource requirements and remote-embedding alternatives, see [configuration.md](../../reference/configuration.md). **Add source.** `akm bundle add <path|github:owner/repo|@scope/package>` registers a directory or package as a source. Add every source before indexing. **Index and verify.** `akm index` builds the search index; `akm info` reports `indexStats.entryCount` and `semanticSearch.status`; `akm search "<query>"` confirms retrieval actually returns results. **Install agent guidance.** `akm help agents >> AGENTS.md` appends the canonical usage block agents need to discover and use the library. Run this after indexing so the guidance matches the installed version. ## See also - [configuration.md](../../reference/configuration.md) — full configuration key reference - [docs/agents/agent-install.md](../../agents/agent-install.md) — agent-facing entry point that links here