{
  "name": "akm-cli",
  "version": "0.9.16",
  "type": "module",
  "description": "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 Cursor.",
  "keywords": [
    "akm",
    "agent-knowledge-management",
    "agent-kit-manager",
    "akm-cli",
    "ai-agent",
    "ai-tools",
    "agent-framework",
    "package-manager",
    "developer-tools",
    "cli",
    "skills",
    "commands",
    "claude-code",
    "opencode",
    "mcp",
    "ai-coding-assistant",
    "agent-skills",
    "skill-management",
    "capability-library",
    "agent-capabilities"
  ],
  "homepage": "https://github.com/itlackey/akm#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/itlackey/akm.git"
  },
  "bugs": {
    "url": "https://github.com/itlackey/akm/issues"
  },
  "license": "MPL-2.0",
  "pinNotes": {
    "@opencode-ai/sdk@1.2.20": "Exact pin. The SDK surface we use (createOpencodeClient + session.create/prompt/delete in src/integrations/harnesses/opencode-sdk/sdk-runner.ts) is stable across 1.x, but the SDK has shipped 5+ minor versions of unrelated provider/registry churn. akm-cli is a global CLI install so the pin is isolated from user-project deps. Re-test sdk-runner before bumping. Note this package is an HTTP client only — it declares no dependencies and its own createOpencodeServer spawns `opencode serve` — so it does NOT make the opencode binary available; that install is separate and is what every SDK-path probe checks for.",
    "better-sqlite3@12.11.1": "Exact pin (#790). This is the SQLite driver akm loads on Node (src/storage/database.ts); Bun never touches it. The pin is about PREBUILT BINARIES, not API surface. better-sqlite3 ships one prebuild per Node ABI as a GitHub release asset and its install script is `prebuild-install || node-gyp rebuild` — so any (version, Node ABI) pair with no prebuild silently COMPILES FROM SOURCE against the headers of whatever Node is on the machine that day. The 11.x line predates Node 24 and declares no `engines` at all: its newest release (11.10.0, 2025-05-08) publishes ABI 108/115/127/131 (Node 18/20/22/23) and nothing for ABI 137 (Node 24). Node 24.19.0 then changed the public `node_object_wrap.h` so `node::ObjectWrap`'s ctor/dtor register and unregister an environment cleanup hook; a from-source 11.x build against those headers aborts at teardown in `Statement::~Statement()` with `RemoveEnvironmentCleanupHook ... Assertion (env) != nullptr`, intermittently, depending on GC timing. 12.11.1 publishes ABI 127/137/141/147 (Node 22/24/25/26) and declares `engines: 20.x || 22.x || 23.x || 24.x || 25.x || 26.x`, so every Node akm supports installs a prebuilt binary and never compiles. Before bumping: confirm the target version publishes a prebuild for EVERY Node major in `engines` (probe https://github.com/WiseLibs/better-sqlite3/releases/download/vX.Y.Z/better-sqlite3-vX.Y.Z-node-vABI-linux-x64.tar.gz), not just that the version is newer. 13.x is the eventual destination — it moved to node-addon-api/N-API with prebuilds bundled in the npm tarball and no install script, which retires this failure mode entirely — but it is a fresh major rewrite of the binding, so it wants its own soak, not a patch release. The CI node-smoke job installs this exact string by reading it back out of this file (.github/workflows/ci.yml), so the two cannot drift.",
    "@huggingface/transformers@4.2.0": "Exact semantic-search dependency pin. Re-run the real-model semantic gate before changing it."
  },
  "files": [
    "dist",
    "README.md",
    "CHANGELOG.md",
    "SECURITY.md",
    "STABILITY.md",
    "LICENSE",
    "docs/migration/release-notes",
    "docs/migration/v0.7-to-v0.8.md",
    "docs/migration/v0.8-to-v0.9.md",
    "docs/migration/v0.9.0-troubleshooting.md",
    "docs/migration/v0.9.1-to-v0.9.2.md",
    "docs/integration/bundling-akm.md",
    "docs/reference/bundle-types.md",
    "docs/reference/cli.md",
    "docs/reference/configuration.md",
    "docs/reference/data-and-telemetry.md",
    "docs/reference/supported-formats.md",
    "docs/reference/tasks.md",
    "docs/reference/workflow-schema.md",
    "docs/reference/workflows.md",
    "schemas"
  ],
  "bin": {
    "akm": "dist/akm",
    "akm-migrate": "dist/akm-migrate"
  },
  "scripts": {
    "preinstall": "node -e \"var v=(process.versions.node||'0').split('.').map(function(n){return parseInt(n,10)||0});var ok=v[0]>=22;if(ok){process.exit(0)}console.error('\\n  ERROR: the akm-cli npm package requires Node.js >= 22.\\n  A working Bun >= 1.0 on PATH is optional and preferred for akm and akm-migrate.\\n  Upgrade Node.js (https://nodejs.org), or install the runtime-free standalone binary:\\n    curl -fsSL https://github.com/itlackey/akm/releases/latest/download/install.sh | bash\\n');process.exit(1)\"",
    "build": "rm -rf dist && bun scripts/gen-config-schema.ts &&bun run tsc --project ./tsconfig.build.json && bun scripts/copy-assets.ts && bun scripts/fix-esm-extensions.ts",
    "check": "bun run lint && bunx tsc --noEmit && bun run test:unit && bun run test:integration",
    "check:fast": "bun run lint && bunx tsc --noEmit && bun run test:unit",
    "check:changed": "bun run lint && bunx tsc --noEmit && bun test tests/integration/output-baseline.test.ts tests/integration/registry-search.test.ts tests/integration/show-argv-entrypoint.test.ts tests/output-shapes-unit.test.ts",
    "sweep:tmp": "bun scripts/sweep-test-tmp.ts",
    "test": "bash scripts/test-unit.sh",
    "test:unit": "bash scripts/test-unit.sh",
    "test:integration": "bash scripts/test-integration.sh",
    "test:node-smoke": "bun scripts/node-smoke.ts",
    "test:node-compat": "AKM_NODE_COMPAT_TESTS=1 bun test --timeout=120000 tests/integration/node-compat.test.ts",
    "lint:doc-examples": "bun scripts/lint-doc-examples.ts",
    "publish:devto": "npx -y @sinedied/devto-cli push \"docs/posts/**/*.md\" --token \"$DEVTO_TOKEN\" --repo \"$GITHUB_REPOSITORY\" --branch \"${GITHUB_REF_NAME:-main}\" --reconcile",
    "release:check": "./tests/release-check.sh",
    "lint": "bunx biome check src/ tests/ scripts/ && bun scripts/lint-secret-resolver-boundary.ts && bun scripts/lint-shipped-assets.ts && bun scripts/lint-doc-examples.ts",
    "lint:fix": "bunx biome check --write src/ tests/ scripts/",
    "format": "bunx biome format --write src/ tests/ scripts/",
    "prepublishOnly": "cp .github/README.npm.md README.md && bun run build",
    "postpublish": "git checkout -- README.md",
    "build:install": "bun scripts/package-install.ts install-global",
    "test:package": "bun scripts/package-install.ts test-package"
  },
  "publishConfig": {
    "access": "public"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.4.14",
    "@types/node": "^22.19.17",
    "@types/semver": "^7.5.8",
    "@types/turndown": "^5.0.6",
    "ajv": "8.20.0",
    "bun-types": "^1.3.13",
    "cmd-shim": "9.0.2",
    "typescript": "^5.9.3",
    "zod-to-json-schema": "^3.23.0"
  },
  "optionalDependencies": {
    "better-sqlite3": "12.11.1",
    "sqlite-vec": "^0.1.9"
  },
  "engines": {
    "node": ">=22"
  },
  "dependencies": {
    "@clack/prompts": "^1.3.0",
    "@huggingface/transformers": "4.2.0",
    "@opencode-ai/sdk": "1.2.20",
    "citty": "^0.2.2",
    "dotenv": "^17.4.2",
    "fast-xml-parser": "^5.10.1",
    "node-html-parser": "^9.0.1",
    "semver": "^7.6.0",
    "turndown": "^7.2.4",
    "yaml": "^2.8.4",
    "zod": "^3.23.0"
  }
}
